一. 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
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 ,如果是相同的接收人,可以直接在原來的資源後面增加,如果是不同的接收人,就需要重新定義接收人模板,然後再定義資源規則並綁定到新的接收人模板