Prometheus介绍

Prometheus越来越火了,大家都在玩,方方面面都不错!

Ⅰ、核心组件介绍

  • Prometheus Server
    获取、存储监控数据并对外提供查询,针对监控目标有两种方式(配置文件静态管理和服务发现动态管理)

  • Exporters
    Exporter将监控数据采集的端点通过HTTP服务的形式暴露给Prometheus Server,Prometheus Server通过访问该Exporter提供的Endpoint端点,即可获取到需要采集的监控数据
    分类:
    直接采集(内置Exporters)和间接采集(类似MySQL Exporters)

  • AlertManager
    基于PromQL规则做的告警

  • PushGateway
    Prometheus Server拉数据是pull的形式,当Server和Exporters之间网络上走不了的时候,Exporters可以将数据先push到gateway,Server到pushgateway中pull数据

Ⅱ、搭一个简单体验一下

环境:CentOS 6.8
STEP 1: 部署Prometheus Server

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: 部署Exporter

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: 调整配置文件,关联两个组件

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中Targets

STEP4: 可视化
Promtheus UI本身可以提供可视化,但是不美丽,我们这里用grafana来做

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看看数据,如下:

posted @ 2018-05-29 11:01  91洲际哥  阅读(396)  评论(0编辑  收藏  举报