使用Grafana将Prometheus和黑匣子可视化
目的的中文释义是指某个行动或活动的意图或目标。
当使用Prometheus来收集监视目标主机的度量指标并进行死活检测时,我希望能够使用Grafana进行可视化。
目录结构
-
- docker-compose.yml
-
- blackbox_exporter
config.yml
grafana
Dockerfile
prometheus
prometheus.yml
Docker配置文件
docker-compose.yml 文件
version: '3'
services:
prometheus:
image: prom/prometheus
container_name: prometheus
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- '9090:9090'
blackbox_exporter:
image: prom/blackbox-exporter:latest
container_name: blackbox_exporter
volumes:
- ./blackbox_exporter/config.yml:/etc/blackbox_exporter/config.yml
grafana:
# image: grafana/grafana:latest
build: ./grafana
container_name: grafana
hostname: grafana
ports:
- 3000:3000
user: "$PID:$GID"
volumes:
- ./grafana:/var/lib/grafana
如果要使用Zabbix作为数据源,则需要安装这个。
FROM grafana/grafana
RUN grafana-cli plugins install magnesium-wordcloud-panel
RUN grafana-cli plugins install alexanderzobnin-zabbix-app
普罗米修斯配置
普罗米修斯的配置文件名为prometheus.yml。
global:
scrape_interval: 15s # デフォルトの監視対象にpullする間隔
external_labels: # 外部と通信するときのラベル
monitor: 'codelab-monitor'
scrape_configs: # 監視対象ごとの設定
- job_name: 'prometheus' # Prometheus自身の監視
scrape_interval: 5s # デフォルトの間隔を上書き
static_configs:
- targets: ['prometheus:9090']
###### blackbox HTTP
- job_name: 'blackbox_http'
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- https://google.com
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox_exporter:9115
##### blackbox ICMP
- job_name: 'blackbox_icmp'
metrics_path: /probe
params:
module: [icmp]
static_configs:
- targets:
- 8.8.8.8
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox_exporter:9115
##### blackbox TCP
- job_name: 'blackbox'
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets:
- google.com:443
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox_exporter:9115
blackbox_exporter/config.yml 的重述如下:黑盒监控导出器的配置文件
modules:
http_2xx:
prober: http
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
ssh_banner:
prober: tcp
tcp:
query_response:
- expect: "^SSH-2.0-"
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
启用插件



在Grafana中输入PromQL。


确认动作
