使用Prometheus+grafana+blackbox監控ICMP
安裝proemtheus
1.下載prometheus-2.13.0.linux-386.tar.gz
mkdir /data/prometheus
cd /data/prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.13.0/prometheus-2.13.0.linux-386.tar.gz
tar xf prometheus-2.13.0.linux-386.tar.gz
mv prometheus-2.13.0.linux-386 prometheus
安裝blackbox-exporter模塊,來進行icmp+http+ssl監控
blackbox_exporter 是 Prometheus 官方提供的 exporter之一,可以提供 http、dns、tcp、icmp(ping)的監控數據採集。
1.下載blackbox-export二進制文件
cd /data/prometheus/
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.15.1/blackbox_exporter-0.15.1.linux-amd64.tar.gz
tar xf blackbox_exporter-0.15.1.linux-amd64.tar.gz
mv blackbox_exporter-0.15.1.linux-amd64.tar.gz blackbox_ecporter
安裝Grafana,來圖形化顯示數據
Grafana 是開源的,功能齊全的度量儀表盤和圖形編輯器,支持 Graphite,OpenTSDB,Elasticsearch,Cloudwatch,Prometheus,InfluxDB,小米監控
等。
Grafana的默認端口是:3000
使用yum進行安裝
yum install initscripts urw-fonts
yum -y install grafana
systemctl daemon-reload
systemctl start grafana-servcer.service
systemctl enable grafana-server.service
安裝完成後,默認的用戶名和登陸密碼都是:admin/admin
修改相關配置文件
ICMP: 配置文件修改
cd /data/prometheus
vim /prometheus/prometheus.yml
# 全局配置選項
global:
scrape_interval: 5s
evaluation_interval: 3s
# 配置告警方式
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# 指定告警規則
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# 配置被監控端,就是配置我們需要監控點額東西
scrape_configs:
# 指定job的名稱
- job_name: 'prometheus'
scrape_interval: 3s
metrics_path: '/api/v1/prometheus/metrics'
static_configs:
- targets: ['192.168.50.222:9090']
## 下面的內容是需要新添加到配置文件裏面,主要用於測試服務器的連通性
- job_name: 'ping_all'
scrape_interval: 3s
metrics_path: /metrics
params:
module: [icmp] #ping
static_configs:
- targets: ['ipaddress']
labels:
group: '電信泉州'
relabel_configs:
- source_labels: [__address__]
regex: (.*)(:80)?
target_label: __param_target
replacement: ${1}
- source_labels: [__param_target]
regex: (.*)
target_label: ping
replacement: ${1}
- source_labels: []
regex: .*
target_label: __address__
replacement: 192.168.50.222:9115
# 上面的91155是blackbox程序的啓動端口
TCP: 配置文件修改
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: '本地 --> QingDao'
scrape_interval: 15s
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets: ['ipaddress:port']
labels:
group: 'QingDao-server'
relabel_configs:
- source_labels: [__address__]
#regex: (.*)(:80)?
target_label: __param_target
#replacement: ${1}
- source_labels: [__param_target]
#regex: (.*)
target_label: instance
#replacement: ${1}
- source_labels: []
#regex: .*
target_label: __address__
replacement: 192.168.50.222:9115
# 上面的91155是blackbox程序的啓動端口
- job_name: '東莞移動 --> HongKong'
scrape_interval: 15s
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets:
- ipaddress:port
- ipaddress:port
- ipaddress:port
labels:
group: 'HongKong-server'
relabel_configs:
- source_labels: [__address__]
#regex: (.*)(:80)?
target_label: __param_target
#replacement: ${1}
- source_labels: [__param_target]
#regex: (.*)
target_label: instance
#replacement: ${1}
- source_labels: []
#regex: (.*)
target_label: instance
#replacement: ${1}
- source_labels: []
#regex: .*
target_label: __address__
replacement: xxx.xxx.xxx.xxx:9115
啓動服務
systemctl restart grafana-server.service
/root/
/data/prometheus/blackbox_exporter/blackbox_exporter --config.file=/data/prometheus/blackbox_exporter/blackbox.yml &
/data/prometheus/prometheus --config.file=/data/prometheus/prometheus.yml &
驗證是否正常啓用
http://192.168.50.222:9090/tages
相關web後臺操作可視化圖形見下一篇文章
錯誤如何在Prometheus中修復’\“ INVALID \”不是有效的開始令牌”
在http://192.168.50.222:9090/targets發現不是最初始令牌
解決方法
在配置文件裏面將下面的設置爲默認的metrics
metrics_path: /metrics
在prometheus, version 2.12.0中使用icmp進行ping測的時候,可以使用下面的語法:
static_configs:
- targets: ['ipaddress', 'ipaddress', 'ipaddress']
labels:
group: '電信泉州'
relabel_configs:
- source_labels: [__address__]
regex: (.*)(:80)?
target_label: __param_target
replacement: ${1}
- source_labels: [__param_target]
regex: (.*)
target_label: ping
replacement: ${1}
- source_labels: []
regex: .*
target_label: __address__
replacement: 192.168.50.222:9115
在## 需要注意的是:建議使用static_configs格式。