y73.第四章 Prometheus大厂监控体系及实战 -- blackbox exporter安装和grafana安装(四)
发布时间
阅读量:
阅读量
2.5 blackbox exporter安装
https://prometheus.io/download/#blackbox_exporter
官方提供的blackbox导出器能够支持通过HTTP、HTTPS等多种协议对被监控节点进行实时监控并采集相关数据。
HTTP/HTTPS:URL/API可用性检测
TCP:端口监听检测
ICMP:主机存活检测
DNS:域名解析
AI助手
2.5.1 部署blackbox exporter
root@node1:/apps# wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.20.0/blackbox_exporter-0.20.0.linux-amd64.tar.gz
root@node1:/apps# tar xf blackbox_exporter-0.20.0.linux-amd64.tar.gz
root@node1:/apps# ln -sv /apps/blackbox_exporter-0.20.0.linux-amd64 /apps/blackbox_exporter
'/apps/blackbox_exporter' -> '/apps/blackbox_exporter-0.20.0.linux-amd64'
root@node1:/apps# cd blackbox_exporter
root@node1:/apps/blackbox_exporter# cat blackbox.yml
modules:
http_2xx:
prober: http
http_post_2xx:
prober: http
http:
method: POST
tcp_connect:
prober: tcp
pop3s_banner:
prober: tcp
tcp:
query_response:
- expect: "^+OK"
tls: true
tls_config:
insecure_skip_verify: false
grpc:
prober: grpc
grpc:
tls: true
preferred_ip_protocol: "ip4"
grpc_plain:
prober: grpc
grpc:
tls: false
service: "service1"
ssh_banner:
prober: tcp
tcp:
query_response:
- expect: "^SSH-2.0-"
- send: "SSH-2.0-blackbox-ssh-check"
irc_banner:
prober: tcp
tcp:
query_response:
- send: "NICK prober"
- send: "USER prober prober prober :prober"
- expect: "PING :([^ ]+)"
send: "PONG ${1}"
- expect: "^:[^ ]+ 001"
icmp:
prober: icmp
AI助手
2.5.2 创建blackbox exporter启动文件
root@node1:/apps/blackbox_exporter# vim /etc/systemd/system/blackbox-exporter.service
[Unit]
Description=Prometheus Blackbox Exporter
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/apps/blackbox_exporter/blackbox_exporter \
--config.file=/apps/blackbox_exporter/blackbox.yml \
--web.listen-address=":9115"
Restart=on-failure
[Install]
WantedBy=multi-user.target
AI助手
2.5.3 启动blackbox exporter服务
root@node1:/apps/blackbox_exporter# systemctl enable --now blackbox-exporter
AI助手
2.5.4 访问blackbox exporter web界面

2.5.5 blackbox exporter实现URL监控
prometheus调用blackbox exporter 实现对URL/ICMP监控。
2.5.5.1 URL监控配置
root@prometheus1:/apps/prometheus# vim prometheus.yml
...
# 网站监控
- job_name: 'http_status'
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets: ['http://www.xiaomi.com', '']
labels:
instance: http_status
group: web
relabel_configs:
- source_labels: [__address__] #relabel通过将[__address__(当前目标地址)写入__param_target标签来创建一个label
target_label: __param_target #监控目标www.xiaomi.com,作为__address__的value
- source_labels: [__param_target] #监控目标
target_label: url #将监控目标与url创建一个label
- target_label: __address__
replacement: 172.31.2.181:9115
root@prometheus1:/apps/prometheus# ./promtool check config prometheus.yml
Checking prometheus.yml
SUCCESS: prometheus.yml is valid prometheus config file syntax
root@prometheus1:/apps/prometheus# systemctl restart prometheus
AI助手
2.5.5.2 prometheus验证数据

2.5.5.3 blackbox exporter验证数据

2.5.6 blackbox exporter实现ICPM监控
2.5.6.1 ICMP监控配置
root@prometheus1:/apps/prometheus# vim prometheus.yml
...
# ICMP检测
- job_name: 'ping_status'
metrics_path: /probe
params:
module: [icmp]
static_configs:
- targets: ['172.31.0.2', '223.6.6.6']
labels:
instance: ping_status
group: 'icmp'
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: ip #将ip与__param_target创建一个label
- target_label: __address__
replacement: 172.31.2.181:9115
root@prometheus1:/apps/prometheus# ./promtool check config prometheus.yml
Checking prometheus.yml
SUCCESS: prometheus.yml is valid prometheus config file syntax
root@prometheus1:/apps/prometheus# systemctl restart prometheus
AI助手
2.5.6.2 prometheus验证数据

2.5.6.3 blackbox exporter验证数据

2.5.7 blackbox exporter实现端口监控
2.5.7.1 端口监控配置
root@prometheus1:/apps/prometheus# vim prometheus.yml
...
# 端口监控
- job_name: 'port_status'
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets: ['172.31.2.181:9100', '172.31.7.188:6443']
labels:
instance: port_status
group: 'port'
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: ip
- target_label: __address__
replacement: 172.31.2.181:9115
root@prometheus1:/apps/prometheus# ./promtool check config prometheus.yml
Checking prometheus.yml
SUCCESS: prometheus.yml is valid prometheus config file syntax
root@prometheus1:/apps/prometheus# systemctl restart prometheus
AI助手
2.5.7.2 prometheus验证数据

2.5.7.3 blackbox exporter验证数据

3.Grafana安装
官方安装文档
官方安装文档
官方安装文档
3.1 安装并启动grafana
https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1
root@prometheus2:~# sudo apt-get install -y adduser libfontconfig1
root@prometheus2:~# wget https://mirrors.tuna.tsinghua.edu.cn/grafana/apt/pool/main/g/grafana/grafana_7.5.16_amd64.deb
root@prometheus2:~# dpkg -i grafana_7.5.16_amd64.deb
root@prometheus2:~# vim /etc/grafana/grafana.ini
...
#################################### Paths ####################################
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
;data = /var/lib/grafana #数据目录
# Temporary files in `data` directory older than given duration will be removed
;temp_data_lifetime = 24h #临时数据
# Directory where grafana can store logs
;logs = /var/log/grafana #日志目录
# Directory where grafana will automatically scan and look for plugins
;plugins = /var/lib/grafana/plugins #插件目录
...
# The http port to use
;http_port = 3000 #端口
...
#################################### Database ####################################
[database] #数据库配置
# You can configure the database connection by specifying type, host, name, user and password
# as separate properties or as on string using the url properties.
# Either "mysql", "postgres" or "sqlite3", it's your choice
;type = sqlite3
;host = 127.0.0.1:3306
;name = grafana
;user = root
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
;password =
...
root@prometheus2:~# systemctl enable --now grafana-server
AI助手
3.2 grafana web界面
3.2.1 登录界面
默认用户名密码:admin

第一次登录提示修改密码,可以修改也可以skip

3.2.2 添加prometheus数据





3.3 import模板
导入模板查看web
3.3.1 模板下载地址
模板可以在左侧栏匹配或搜索相关名称
https://grafana.com/grafana/dashboards

3.3.2 模板详细信息和下载模板

3.3.3 通过模板ID导入




icmp:https://grafana.com/grafana/dashboards/12412

blackbox:https://grafana.com/grafana/dashboards/9719

全部评论 (0)
还没有任何评论哟~
