在當今以服務為核心的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.tjyjp.com.cn/product/46.html
更新時間:2026-01-19 13:04:02