在当今以服务为核心的IT架构中,对基础软件服务(如数据库、Web服务器、消息队列等)的实时监控与及时告警是保障业务连续性的基石。本文将引导您快速搭建一套轻量级、高效的服务监控体系,集成关键监控插件,并实现企业微信告警,确保问题早发现、早处理。
我们推荐使用 Prometheus 作为监控核心,搭配 Grafana 进行数据可视化。这套组合功能强大、生态丰富且易于扩展。
prometheus.yml 配置文件,定义监控目标(scrape_configs)。初始阶段,您可以先添加本机(localhost:9090)作为目标以验证部署。./prometheus --config.file=prometheus.yml 启动服务。http://<服务器IP>:3000,初始账号密码为admin/admin)。http://<Prometheus服务器IP>:9090。Prometheus通过各类“Exporter”来抓取目标服务的指标。以下为几种基础软件的Exporter部署示例:
* 在Prometheus的 prometheus.yml 中添加新的抓取任务:
`yaml
- jobname: 'node'
staticconfigs:
- targets: ['<目标服务器IP>:9100']
`
PROCESS, REPLICATION CLIENT, SELECT)。DATA</em>SOURCE_NAME 设置连接串。ngx<em>http</em>stub<em>status</em>module 的版本,并启用stub_status页面。配置完成后,重启Prometheus服务,并在其Targets页面检查所有Exporter状态是否为“UP”。
我们将使用 Alertmanager(通常与Prometheus一同部署)来处理告警,并通过其Webhook功能对接企业微信。
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx。2. 配置Alertmanager:
* 编辑Alertmanager的配置文件 alertmanager.yml。
`yaml
global:
resolvetimeout: 5m
route:
groupby: ['alertname']
groupwait: 10s
groupinterval: 10s
repeat_interval: 1h
receiver: 'wechat-webhook'
receivers:
- name: 'wechat-webhook'
webhook_configs:
- url: 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx'
sendresolved: true # 发送问题解决通知
inhibitrules:
- sourcematch:
severity: 'critical'
targetmatch:
severity: 'warning'
equal: ['alertname', 'instance']
`
3. 配置Prometheus告警规则并关联Alertmanager:
* 在Prometheus工作目录下创建 alerts.yml 文件,定义告警规则。例如,定义一条服务器高负载告警:
`yaml
groups:
- name: host_stats
rules:
- alert: HighLoad
expr: node_load5 > 3.0
for: 2m
labels:
severity: warning
annotations:
summary: "高负载告警 (实例 {{ $labels.instance }})"
description: "{{ $labels.instance }} 5分钟平均负载已超过 3,当前值为 {{ $value }}"
`
* 在 prometheus.yml 中引用此规则文件,并设置Alertmanager地址:
`yaml
rule_files:
- "alerts.yml"
alerting:
alertmanagers:
- '
`
1. 登录Grafana,进入“Create” -> “Dashboard”。
2. 添加新的面板(Panel),数据源选择Prometheus。
3. 在查询(Metrics)框中,使用PromQL查询语言编写查询语句,例如 node_load5 查看5分钟负载。
4. 配置图表样式、标题等,并保存仪表盘。
您也可以直接从Grafana官方社区导入现成的、功能丰富的仪表盘模板(如ID为1860的Node Exporter Dashboard)。
###
至此,您已经完成了一个包含核心服务监控(主机、MySQL等)、可视化大屏(Grafana)以及企业微信实时告警的闭环监控系统搭建。这套体系具备良好的扩展性,未来可以通过添加更多Exporter(如用于JVM的jmxexporter,用于消息队列的kafkaexporter等)来覆盖更广泛的服务。后续的优化重点可以放在告警路由精细化、告警分级降噪以及监控指标的业务视角梳理上,让监控真正成为运维和开发的“眼睛”与“耳朵”。
如若转载,请注明出处:http://www.qingwav.com/product/46.html
更新时间:2026-01-15 05:20:09