- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。
为了及时发现服务器上的自定义服务是否因故障停止运行,我们可以使用 Prometheus 和 Blackbox Exporter 来实现端口监控和故障告警。这可以帮助我们主动发现服务的状态,而不必等待出现问题后才进行排查。
1. 部署 Prometheus
首先,你需要部署 Prometheus 服务,作为监控的核心。如果 Prometheus 已经安装并且运行正常,可以跳过这一步。如果尚未安装,可以参考 Prometheus 官方文档 完成安装。
2. 安装 Blackbox Exporter
Blackbox Exporter 是 Prometheus 提供的用于黑盒监控的工具,可以检测 HTTP、TCP 端口等服务的可用性。它能够快速发现服务是否已经停止。
在 Kubernetes 上安装 Blackbox Exporter
添加 Prometheus Chart 仓库并更新:
helm repo add prometheus-community https://www.landui.com/helm-charts
helm repo update
安装 Blackbox Exporter:
helm install prometheus-blackbox-exporter prometheus-community/prometheus-blackbox-exporter -n monitoring
卸载 Blackbox Exporter:
helm uninstall prometheus-blackbox-exporter -n monitoring
3. 配置 Prometheus 使用 Blackbox Exporter
安装完成后,需要在 Prometheus 的配置文件中添加一个 job,用来监控特定的端口。编辑 prometheus-server.yaml 配置文件,添加如下内容:
- job_name: 'port_status' # 自定义任务名称
metrics_path: /probe
params:
module: [tcp_connect] # 选择 TCP 端口监控模块
static_configs:
- targets:
- 10.1.2.10:6379 # 需要监控的服务器及端口
- 10.1.2.2:10620
- 10.1.2.3:10620
- 10.1.2.4:10620
- 10.1.2.7:16000
- 10.1.2.8:16000
- 10.1.2.11:8123
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: prometheus-blackbox-exporter:9115 # Blackbox Exporter 的地址
4. 配置告警规则
为了在端口无法连接时及时发现问题,我们可以设置 Prometheus 告警规则。编辑 Prometheus 的告警配置文件,添加以下规则:
groups: # 定义告警规则组- name: portStatus ## 组名
rules: # 定义告警规则
- alert: probe_success # 规则名称
expr: probe_success == 0 # 告警表达式
for: 1m # 持续时间,1分钟内不恢复则触发告警
labels: # 定义告警标签
severity: critical # 告警等级
annotations: # 告警内容,可以自定义
summary: "{{ $labels.appname }}"
description: "{{ $labels.env }} {{ $labels.hostname }} 服务 {{ $labels.appname }} 端口无法联通, 请尽快检测"
value: "{{ $value }}"
5. Grafana 可视化监控
如果你需要在 Grafana 中可视化监控结果,可以导入 Prometheus 的相关 Dashboard 模板。Grafana 提供了一个非常实用的模板 ID 9965,可以用来展示端口监控的状态。
导入模板 ID 9965 后,你就可以在 Grafana 中查看各个端口的监控状态,了解服务的运行情况。
蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。
更多技术知识,蓝队云期待与你一起探索。
售前咨询
售后咨询
备案咨询
二维码
TOP