Prometheus介紹

Prometheus愈來愈火了,你們都在玩,方方面面都不錯!node

Ⅰ、核心組件介紹

  • Prometheus Server
    獲取、存儲監控數據並對外提供查詢,針對監控目標有兩種方式(配置文件靜態管理和服務發現動態管理)linux

  • Exporters
    Exporter將監控數據採集的端點經過HTTP服務的形式暴露給Prometheus Server,Prometheus Server經過訪問該Exporter提供的Endpoint端點,便可獲取到須要採集的監控數據
    分類:
    直接採集(內置Exporters)和間接採集(相似MySQL Exporters)git

  • AlertManager
    基於PromQL規則作的告警github

  • PushGateway
    Prometheus Server拉數據是pull的形式,當Server和Exporters之間網絡上走不了的時候,Exporters能夠將數據先push到gateway,Server到pushgateway中pull數據網絡

Ⅱ、搭一個簡單體驗一下

環境:CentOS 6.8
STEP 1: 部署Prometheus Servercurl

cd /usr/local/src
安裝server(監控數據的收集、存儲並對外提供查詢)
curl -LO  https://github.com/prometheus/prometheus/releases/download/v2.2.1/prometheus-2.2.1.linux-amd64.tar.gz
tar zxf prometheus-2.1.0.darwin-amd64.tar.gz
cp prometheus-2.2.1.linux-amd64/prometheus /usr/local/bin/
cp prometheus-2.2.1.linux-amd64/promtool /usr/local/bin/
​
sudo mkdir -p /data/prometheus

mkdir -p /etc/prometheus/
cp prometheus-2.2.1.linux-amd64/prometheus.yml /etc/prometheus/prometheus.yml

nohup prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/data/prometheus &

STEP 2: 部署Exporterurl

curl -OL https://github.com/prometheus/node_exporter/releases/download/v0.16.0/node_exporter-0.16.0.linux-amd64.tar.gz
tar zxf node_exporter-0.16.0.linux-amd64.tar.gz 
cp node_exporter-0.16.0.linux-amd64/node_exporter /usr/local/bin/

nohup node_exporter &

STEP3: 調整配置文件,關聯兩個組件code

prometheus.yml中添加下面配置
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

重啓server,讓server從exporter中獲取數據
ps auxwf |grep 'prometheus' |grep -v 'grep' |awk '{print $2}' |xargs kill -9
nohup prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/data/prometheus &

看status中Targetsserver

STEP4: 可視化
Promtheus UI自己能夠提供可視化,可是不美麗,咱們這裏用grafana來作blog

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.3.linux-x64.tar.gz 
tar zxf grafana-5.1.3.linux-x64.tar.gz 

cp grafana-5.1.3/bin/grafana-server /usr/local/bin

nohup grafana-server &

服務起來後,作兩件事情,第一,把grafana的datasource配上剛纔調好的prometheus;第二,新建一個dashbord,用PromQL看看數據,以下:

相關文章
相關標籤/搜索