六. prometheus + grafana + alertmanager 配置ES监控

一. prometheus-es-exporter安装(登陆到prometheus服务器,prometheus grafana alertmanager在同一台服务器上)

  1. 安装python3

    A. 下载python3,下载地址: https://pan.baidu.com/s/1SmqND0xI0sNQLq1kqzH77A ,当然可以在官网下载 https://www.python.org/

    B. 解压, tar xf Python-3.6.2.tgz

    C. 安装,cd Python-3.6.2 && ./configure && make && make install && ln -s /usr/local/bin/python3 /usr/bin/python3

  2. 安装prometheus-es-exporter,pip3 install prometheus-es-exporter

  3. A. 下载prometheus-es-exporter配置文件(下载地址: https://pan.baidu.com/s/1gOuxSV1EzniCFGDlZc3khA ),然后解压到/data/monitor/下。

    B. 然后在cd /data/monitor/prometheus-es-exporter/scripts 下,创建每个redis的监控启动脚本,cat log_es_9206.sh,其它的类似。

    nohup /usr/local/bin/prometheus-es-exporter -p 9206 -e 10.8.108.23:9200 -c ../conf/exporter.cfg --cluster-health-disable --nodes-stats-disable --indices-stats-disable >> ../log/prom_es.log 2>&1 &


    C. 然后cd /data/monitor/prometheus-es-exporter 下,sh start.sh,查看端口是否监听或者查看进行是否启动

二. prometheus配置


  1. 将mysqld_exporter的配置增加到prometheus.yml文件中,vim /data/monitor/prometheus/conf/prometheus.yml

        

global:

  # Server端抓取数据的时间间隔

  scrape_interval:     1m

  # 评估报警规则的时间间隔

  evaluation_interval: 1m

  # 数据抓取的超时时间

  scrape_timeout: 20s

  # 加全局标签

  #external_labels:

  #  monitor: "hk"


# 连接alertmanager

alerting:

  alertmanagers:

    - static_configs:

      - targets: ["localhost:9093"]


# 告警规则

rule_files:

  - /data/monitor/prometheus/conf/rule/*.yml


# A scrape configuration containing exactly one endpoint to scrape:

# Here it's Prometheus itself.

scrape_configs:

# 监控prometheus本机

  - job_name: 'prometheus'

    scrape_interval: 15s

    static_configs:

      - targets: ['10.8.53.218:9090']


# 监控指定主机

  - job_name: 'node_resources'

    scrape_interval: 1m

    static_configs:

    file_sd_configs:

      - files:

        - /data/monitor/prometheus/conf/node_conf/node_host_info.json

    honor_labels: true


# mysql采集器

  - job_name: 'mysql_global_status'

    scrape_interval: 60s

    static_configs:

    file_sd_configs:

      - files:

        - /data/monitor/prometheus/conf/node_conf/node_mysql_info.json

# redis采集器

  - job_name: 'redis_resources'

    scrape_interval: 60s

    static_configs:

    file_sd_configs:

      - files:

        - /data/monitor/prometheus/conf/node_conf/node_redis_info.json


# kafka

  - job_name: 'kafka'

    scrape_interval: 60s

    metrics_path: '/metrics'

    static_configs:

    file_sd_configs:

      - files:

        - /data/monitor/prometheus/conf/node_conf/node_kafka_info.json



# prometheus-es

  - job_name: 'prometheus_es'

    scrape_interval: 60s

    static_configs:

    - targets: ['localhost:9206']


    2. 然后cd /data/monitor/prometheus下, sh reload.sh


三. 配置grafana

    1. 安装panel模板(登陆到prometheus服务器,prometheus grafana alertmanager在同一台服务器上),如果需要其它的模板,请到官网 https://grafana.com/plugins

        grafana-cli plugins install grafana-clock-panel

        grafana-cli plugins install grafana-worldmap-panel

        grafana-cli plugins install grafana-piechart-panel

    2. 重启grafana服务

        /etc/init.d/grafana-server restart   

    3. 添加数据源。

        A. 首先点配置按钮,然后在点Data Sources配置数据源。

            image.png

        B. 打开数据源页面,然后点 Add data source

            image.png

        C. 打开选择数据源页面,选择Elasticsearch

            image.png

        D. 然后打开配置prometheus数据源页面,在Name中输入 es_log URL中填 http://10.8.108.23:9200index name中填 [logstash-nginx-]YYYY.MM.DD ,pattern中选择 Daily,最后点Save&Test 进行保存。

            image.png

    4. 在自己的电脑上,下载es相关的监控模板

        A. 活动站点数据展示模板下载地址: https://pan.baidu.com/s/100IGmYnr6oEsPZyZFZ83BQ 

        B. nginx日志分析模板下载地址: https://pan.baidu.com/s/1jaFTvwc4K2KyxU0dyQRYfg  

    5. 如何导入请参考配置主机监控的文章中的2.配置grafana中的h至l步骤( https://blog.51cto.com/liuqs/2391282 )

        A.  活动站点数据展示模板导入后需要再配置一下

               a. 点界面上的配置按钮 

3.png            b. 然后在配置页面点 {x}Variables,点$domain这个变量。 

                2.png

            c. 将 Values separated by comma里的值修改为 自己接入es的域名,然后点update 最后点Save

                image.png    

        B. nginx日志分析模板导入模板后,可以在当前页面点配置按钮,然后在配置页面点Links,然后点Kibana这个配置项,然后在编辑页面中如下图一样选择与填写,最后updatesave

            11.png

            12.png


四. 配置alertmanager

    A. 在prometheus配置规则,cat /data/monitor/prometheus/conf/rule/redis.yml ,下面是文件内容,然后重启prometheus,cd /data/monitor/prometheus && sh reload.sh



    B. 配置alertmanager, cat /data/prometheus/alertmanager/conf/alertmanager.yml ,如果是相同的接收人,可以直接在原来的资源后面增加,如果是不同的接收人,就需要重新定义接收人模板,然后再定义资源规则并绑定到新的接收人模板


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章