执行以下命令一键安装并启动Docker,确保容器化部署所有组件(避免依赖冲突):
``` yum install docker -y systemctl start docker systemctl enable docker ```执行命令创建组件存储目录,便于配置文件管理:
``` mkdir -p /opt/prometheus /opt/alertmanager cd /opt ```执行Docker命令启动Prometheus,映射配置文件和端口:
``` docker run -d \ --name prometheus \ --net=host \ -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \ -v /opt/prometheus/rules:/etc/prometheus/rules \ prom/prometheus:latest ```进入Prometheus配置目录:
``` cd /opt/prometheus ```直接复制以下完整配置,适配当前场景:
``` global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: 'node_exporter' static_configs: - targets: ['localhost:9100'] rule_files: - "rules/.yml" ```创建告警规则存储目录并编写规则文件:
``` mkdir -p /opt/prometheus/rules cd /opt/prometheus/rules ``` ``` groups: - name: server_alerts rules: - alert: ServerHighMemoryUsage expr: 100 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes 100) > 90 for: 1m labels: severity: critical annotations: summary: "服务器内存使用率超过90%" description: "{{ $labels.instance }} 的内存使用率为 {{ $value }}%" - alert: ServerHighDiskUsage expr: 100 - (node_filesystem_free_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"} 100) >85 for: 1m labels: severity: warning annotations: summary: "服务器根目录磁盘使用率超过85%" description: "{{ $labels.instance }} 根目录磁盘使用率为 {{ $value }}%" ```
执行Docker命令启动Alertmanager:
``` docker run -d \ --name alertmanager \ --net=host \ -v /opt/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml \ prom/alertmanager:latest ```创建Alertmanager配置目录:
``` mkdir -p /opt/alertmanager cd /opt/alertmanager ```1. 登录企业微信管理后台(https://work.weixin.qq.com/),进入「应用管理」;2. 点击「创建应用」,填写应用名称(如「服务器告警」),可见范围选择接收告警的成员;3. 保存后获取:AgentId(应用ID)、Secret(应用密钥)、企业ID(顶部「我的企业」→「企业信息」获取);4. 开启应用的「消息通知」权限。
直接复制以下完整配置,替换企业ID、AgentId、Secret即可:
``` global: resolve_timeout: 5m wechat_api_url: "https://qyapi.weixin.qq.com/cgi-bin/" wechat_api_secret: "替换为你的企业微信Secret" wechat_api_corp_id: "替换为你的企业ID" route: group_by: ['alertname'] group_wait: 10s group_interval: 10s repeat_interval: 1h receiver: 'wechat' receivers: - name: 'wechat' wechat_configs: - send_to_party: '@all' agent_id: 替换为你的AgentId message: '{{ template "wechat.default.message" . }}' templates: - '/etc/alertmanager/templates/.tmpl' ```创建企业微信告警通知模板:
``` mkdir -p /opt/alertmanager/templates cd /opt/alertmanager/templates ``` ``` {{ define "wechat.default.message" }} 【{{ .CommonLabels.severity | upper }}告警】 告警名称: {{ .CommonLabels.alertname }} 告警实例: {{ .CommonLabels.instance }} 告警描述: {{ .Annotations.description }} 触发时间: {{ .StartsAt.Format "2006-01-02 15:04:05" }} {{ end }} ```1. 部署指标采集组件node_exporter:执行`docker run -d --name node_exporter --net=host prom/node_exporter:latest`;2. 重启Prometheus和Alertmanager加载配置:
``` docker restart prometheus alertmanager ```3. 等待1分钟让规则自动触发,或手动模拟高负载(如`stress --vm 1 --vm-bytes 500M`);4. 登录接收告警的企业微信成员账号,检查是否收到告警通知。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图