本教程将引导读者在Kubernetes
集群上安装和配置Blackbox exporter
,打造一个多维度的网站运行状态仪表盘(视图效果见文末)。
Blackbox exporter
是一个用于监控网络服务的开源工具,它可以用于检查 HTTP、HTTPS、DNS、TCP 和 ICMP 等服务的可用性,并生成 Prometheus 格式的指标供后续分析和警报使用。
准备工作
在开始之前,请确保您已经在Kubernetes 集群上安装 Grafana 和 Prometheus。推荐使用腾讯云轻量服务器·K3s镜像,开箱即用,省去手动部署集群的繁琐过程。
当然,如果你已部署好Blackbox exporter
,可以划到文章底部,跳过安装步骤,导入我准备的大屏配置文件。
安装 Blackbox exporter
将下面的配置文件保存为blackbox.yml
,上传到集群主节点,执行部署命令kubectl apply -f blackbox.yml
。如果有安装管理面板,也可以直接导入下面的配置信息。
kind: Deployment
apiVersion: apps/v1
metadata:
name: &name blackbox-gz
labels:
app: *name
spec:
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
spec:
containers:
- name: blackbox
image: prom/blackbox-exporter
ports:
- containerPort: 9115
---
kind: Service
apiVersion: v1
metadata:
name: &name blackbox-gz
labels:
app: *name
spec:
selector:
app: *name
ports:
- name: blackbox
port: 9115
targetPort: 9115
配置 Prometheus 任务
参考下面的配置文件,修改上文中提到的/srv/grafpro/etc/prometheus.yml
(文件编码须为utf-8;若部署时修改了负载名称blackbox-exporter,下文的配置文件也要做相应的修改),然后重启grafpro
工作负载。
为方便初学者部署,这里使用了静态配置,每次修改站点信息都需要重启工作负载;读者朋友也可以使用file_sd_configs
配置将站点信息保存到单独的文件,实现站点配置热加载(即服务自动发现)。
global:
scrape_timeout: 15s
scrape_interval: 1m
evaluation_interval: 1m
scrape_configs:
prometheus
- job_name: prometheus
static_configs:
- targets:
- 127.0.0.1:9090
blackbox_all
- job_name: blackbox_all
static_configs:
- targets:
- blackbox-gz:9115
labels:
region: '广州,腾讯云'
http_status_gz
job_name: http_status_gz
metrics_path: /probe
params:
module:
- http_2xx
static_configs:- targets:
- https://www.example.com
labels:
project: 测试1
desc: 测试网站描述1
- https://www.example.com
- targets:
- https://www.example.org
labels:
project: 测试2
desc: 测试网站描述2
relabel_configs:
- https://www.example.org
- target_label: region
replacement: '广州,腾讯云' - source_labels: [address]
target_label: __param_target - source_labels: [__param_target]
target_label: instance target_label: address
replacement: blackbox-gz:9115
- targets:
导入 Grafana 仪表盘
下载此附件网站监控大屏.json,然后在Grafana的仪表盘页面导入即可使用。这是一个基于Blackbox exporter数据集的仪表盘配置文件,主要特性如下:
- 支持查看多节点、多站点数据
- 支持查看站点证书有效期数据
- 支持查看站点连通性、HTTP阶段性能数据
效果展示
图片仅供演示,监控仪表盘配置随时可能更新,请以最终效果为准。