安装请看https://blog.51cto.com/liuqs/2027365 ,最好是对应的版本组件,否则可能会有差别。
(一)prometheus + grafana + alertmanager 配置主机监控
(二)prometheus + grafana + alertmanager 配置Mysql监控
(三)prometheus + grafana + alertmanager 配置Redis监控
(四)prometheus + grafana + alertmanager 配置Kafka监控
(五)prometheus + grafana + alertmanager 配置ES监控
(五) prometheus + grafana + alertmanager 配置ES监控
一. prometheus-es-exporter安装(登陆到prometheus服务器,prometheus grafana alertmanager在同一台服务器上)
安装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
安装prometheus-es-exporter,pip3 install prometheus-es-exporter
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配置数据源。
B. 打开数据源页面,然后点 Add data source
C. 打开选择数据源页面,选择Elasticsearch
D. 然后打开配置prometheus数据源页面,在Name中输入 es_log, URL中填 http://10.8.108.23:9200,index name中填 [logstash-nginx-]YYYY.MM.DD ,pattern中选择 Daily,最后点Save&Test 进行保存。
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. 点界面上的配置按钮
b. 然后在配置页面点 {x}Variables,点$domain这个变量。
c. 将 Values separated by comma里的值修改为 自己接入es的域名,然后点update 最后点Save
B. nginx日志分析模板导入模板后,可以在当前页面点配置按钮,然后在配置页面点Links,然后点Kibana这个配置项,然后在编辑页面中如下图一样选择与填写,最后update及save。
四. 配置alertmanager
未完待续。。。。。。