Ubuntu Trigger如何配置报警
导读:Ubuntu 中 Trigger 报警配置指南 概念澄清 **Trigger(触发器)**是监控系统的“条件表达式”,用于判断监控指标是否异常;它本身不发送通知。 **报警(告警)通常由Alertmanager(Prometheus 生态...
Ubuntu 中 Trigger 报警配置指南
概念澄清
- **Trigger(触发器)**是监控系统的“条件表达式”,用于判断监控指标是否异常;它本身不发送通知。
- **报警(告警)通常由Alertmanager(Prometheus 生态)或Zabbix 的动作(Action)**来执行,例如发送邮件、微信、Webhook 等。
方案一 Prometheus Alertmanager 配置报警
- 安装组件
- 在 Ubuntu 上安装并启动 Prometheus 与 Alertmanager(示例命令:sudo apt update & & sudo apt install prometheus alertmanager)。
- 配置 Prometheus 加载规则与告警路由
- 编辑 /etc/prometheus/prometheus.yml,添加规则文件与 Alertmanager 目标:
- rule_files: [“/etc/prometheus/rules/alert.rules.yml”]
- alerting: { alertmanagers: [{ static_configs: [{ targets: [“localhost:9093”] } ] }
- 编辑 /etc/prometheus/prometheus.yml,添加规则文件与 Alertmanager 目标:
- 定义告警规则
- 新建 /etc/prometheus/rules/alert.rules.yml,示例:
- groups:
- name: host
rules:
- alert: InstanceDown expr: up == 0 for: 1m labels: { severity: critical } annotations: summary: “Instance { { $labels.instance } } down” description: “{ { $labels.instance } } of job { { $labels.job } } down for > 1m.”
- name: host
rules:
- groups:
- 新建 /etc/prometheus/rules/alert.rules.yml,示例:
- 配置 Alertmanager 通知(以 SMTP 邮件为例)
- 编辑 /etc/alertmanager/alertmanager.yml:
- global: smtp_smarthost: ‘smtp.example.com:587’ smtp_from: ‘alertmanager@example.com’ smtp_auth_username: ‘your_username’ smtp_auth_password: ‘your_password’ smtp_ssl: true
- route: { receiver: ‘email’ }
- receivers:
- name: ‘email’ email_configs: [{ to: ‘admin@example.com’ } ]
- 编辑 /etc/alertmanager/alertmanager.yml:
- 启动与验证
- 启动服务:sudo systemctl start prometheus alertmanager
- 在 Prometheus Web(默认 :9090)的 Alerts 页面查看规则与触发状态;Alertmanager(默认 :9093)查看是否收到告警。
方案二 Zabbix 配置触发器与动作实现告警
- 前置
- 部署 Zabbix Server/Agent,在 Web 端完成主机与监控项配置。
- 创建触发器(Trigger)
- 在 Zabbix Web:配置 → 主机 → 触发器 → 创建触发器
- 名称:如“CPU 使用率过高”
- 表达式:如 { server:system.cpu.util[,avg1].last()} > 80
- 严重性:如 Warning/Critical
- 在 Zabbix Web:配置 → 主机 → 触发器 → 创建触发器
- 配置告警媒介(以邮件为例)
- 管理 → 媒介类型 → 创建媒介类型(Email)
- SMTP Server、SMTP HELO、发件人等按实际填写
- 管理 → 用户 → 报警媒介 → 添加 Email 并填写收件人
- 管理 → 媒介类型 → 创建媒介类型(Email)
- 配置动作(Action)
- 配置 → 动作 → 触发器动作 → 创建动作
- 条件:例如“触发器=CPU 使用率过高”
- 操作:发送消息给用户/用户组,主题与内容可使用宏(如 { HOST.NAME} 、{ TRIGGER.NAME} 、{ ITEM.VALUE} 等)
- 恢复操作:问题恢复时同样通知
- 配置 → 动作 → 触发器动作 → 创建动作
- 测试
- 制造触发条件(如压测使 CPU> 80%),确认是否收到邮件。
方案三 轻量替代与日志告警
- 使用 Monit 做进程与服务告警
- 安装:sudo apt-get install monit
- 配置示例(/etc/monit/conf.d/my-service.conf):
- check process my-service with pidfile /var/run/my-service.pid start program = “/etc/init.d/my-service start” stop program = “/etc/init.d/my-service stop” if memory > 200 MB for 5 cycles then alert your_email@example.com
- 启动:sudo systemctl start monit
- 使用 Logwatch 做日志摘要邮件
- 安装:sudo apt-get install logwatch
- 配置(/etc/logwatch/conf/logwatch.conf):
- Detail = High
- Output = mail
- MailTo = your_email@example.com
- Service = syslog
- 运行:sudo logwatch --service custom.rules(可按需定制规则)。
快速排错与最佳实践
- Prometheus/Alertmanager
- 核对 9090/9093 端口连通;Prometheus 页面 Alerts 是否有 Firing;Alertmanager 是否收到但未发送(查看 Silence、Inhibition、路由与接收器配置)。
- Zabbix
- 触发器表达式语法与阈值是否合理;动作条件是否匹配;用户媒介是否启用且收件人正确;服务器与代理连通性(Server/Proxy 与 Agent)。
- 通用
- 建议为不同级别(如 Warning/Critical)配置不同接收人;为告警消息添加足够的上下文(主机、指标、时间、值);生产环境优先使用稳定的通知渠道(如企业邮箱/企业微信/钉钉),并保留告警历史以便复盘。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Trigger如何配置报警
本文地址: https://pptw.com/jishu/770419.html
