# Zabbix 添加主机与告警 ## 场景 服务端装好了,要把业务服务器加进来,配好触发器和通知。 ## 前置条件 - 目标机器装了 `zabbix-agent`(或能开 SNMP) - 服务端能访问 agent 的 10050 - 知道要监控的指标和阈值 ## 配置 ### agent 端 ```ini # /etc/zabbix/zabbix_agentd.conf Server=10.0.0.10 ServerActive=10.0.0.10 Hostname=web-01 ``` ```bash systemctl enable --now zabbix-agent firewall-cmd --add-port=10050/tcp --permanent && firewall-cmd --reload ``` ### 服务端 网页 → `Data collection → Hosts → Create host` - Host name:`web-01` - Templates:`Linux by Zabbix agent` - Interface:`10.0.0.21:10050` - Groups:`Linux servers` 保存后等一分钟,`Monitoring → Latest data` 里能看到数据。 ### 告警 `Alerts → Media types` 配邮件或 Webhook;`Users → Media` 给用户绑定接收方式;`Alerts → Actions` 里开触发器动作。 ## 验证 ```bash zabbix_get -s 10.0.0.21 -k system.uptime ``` 网页里主机是绿色 `ZBX` 图标,`Problems` 里能收到测试告警。 ## 回滚 网页里删主机;agent 端 `systemctl disable --now zabbix-agent`。 ## 坑 - **`Hostname` 和网页里的 Host name 不一致**,主动模式收不到数据。 - agent 的 `Server` 只写了 IP,多个服务端要写全。 - 触发器阈值照抄模板,第一天就开始误报,先观察再调。 - 告警邮件进了垃圾箱,SMTP 没配反解。 - 没有维护窗口,打补丁时告警刷屏。 - 监控项太多导致 agent 超时,`Timeout` 默认 3 秒可能不够。