安裝請看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 配置Kafka監控
一. kafka_exporter安裝(登陸到prometheus服務器,prometheus grafana alertmanager在同一臺服務器上)
如果是直接搭建的kafka服務器,可以參考上一章的內容。
這裏以雲kafka來安裝與配置,當然直接搭建的服務器kafka也可以使用這種方法。
A. 下載kafka_exporter安裝包(下載地址:https://pan.baidu.com/s/17FmukqimaMU9skKz3yzheg ),然後解壓到/data/monitor/下。
B. 然後在cd /data/monitor/kafka_exporter/scripts 下,創建每個kafka的監控啓動腳本,cat ba_kafka_19002.sh,其它的類似。
nohup /data/monitor/kafka_exporter/bin/kafka_exporter --kafka.server=ukafka-aqtjnc-1-bj11.service.ucloud.cn:9092 --web.listen-address=":19002" >> /data/monitor/kafka_exporter/log/19002_ba_kafka.log 2>&1 &
C. 然後cd /data/monitor/kafka_exporter 下,sh start.sh,查看端口是否監聽或者查看進行是否啓動
二. prometheus配置
1. vim /data/monitor/prometheus/conf/prometheus.yml
A. 將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
2. vim /data/monitor/prometheus/conf/node_conf/node_kafka_info.json
[
{
"labels": {
"server": "ukafka-aqtjnc-1-bj11.service.ucloud.cn:9092",
"kafkaversion": "0.10.2.1",
"alias": "ba_kafka"
},
"targets": [
"localhost:19002"
]
},
{
"labels": {
"server": "ukafka-3bjf9p-1-hb01.service.ucloud.cn:9092",
"kafkaversion": "0.10.2.1",
"alias": "other_kafka"
},
"targets": [
"localhost:19003"
]
}
]
2. 然後cd /data/monitor/prometheus下, sh reload.sh
注意:會有一些圖表會沒有數據,我們是直接對接ucloud的api用腳本生成的數據。
三. 配置grafana
1. 下載kafka監控模板,下載地址:https://pan.baidu.com/s/1m6ANngg2WJcc1UjwHvT-Yw
2. 如何導入請參考配置主機監控的文章中的2.配置grafana中的h至l步驟( https://blog.51cto.com/liuqs/2391282 )
4. 配置alertmanager
A. 在prometheus配置規則,cat /data/monitor/prometheus/conf/rule/kafka.yml ,下面是文件內容,然後重啓prometheus,cd /data/monitor/prometheus && sh reload.sh
未完待續。。。。。