linux监控需理解指标、配置告警、快速定位,zabbix适合中小团队一站式管理,Nagios轻量灵活依赖插件,prometheus适配云原生并强于可视化;三者均须确保时间同步且告警阈值需按业务调优。

Linux系统监控不是装个工具就完事,关键在理解指标含义、配置合理告警、快速定位问题。Zabbix、Nagios、Prometheus各有侧重:Zabbix适合中小团队一站式管理;Nagios轻量灵活但需手动集成较多;Prometheus更适合云原生和微服务场景,配合grafana可视化效果突出。
Zabbix:从安装到关键指标采集
Zabbix Server建议用官方源安装,避免包冲突。Agent端部署后,默认只采集CPU、内存、磁盘基础项。要监控mysql或nginx,需启用对应模板并确认Agent配置中UnsafeUserParameters=1已开启,再通过UserParameter自定义脚本获取状态码、连接数等业务指标。注意Zabbix proxy在跨网络或高延迟环境下能有效降低Server压力。
Nagios:精简配置与插件扩展
Nagios Core本身不带Web界面(需额外装Nagios XI或Thruk),优势在于插件生态丰富。常用check_disk、check_http可直接调用,监控自定义服务时,写一个返回0(OK)、1(Warning)、2(Critical)的Shell脚本即可被识别。配置主机和服务时,别忽略check_interval和retry_interval的区别——前者是正常检查周期,后者是告警触发后的重试频率。
Prometheus:抓取、存储与告警联动
Prometheus靠Pull模式采集,所有目标需暴露/metrics端点。node Exporter负责主机指标,需确认firewalld放行9100端口;应用如Redis、PostgreSQL要用对应Exporter。Alertmanager独立部署,告警规则写在prometheus.yml的rule_files里,但实际生效需在Web UI的“Status > Runtime & Build Information”页确认加载成功。常见错误是targets显示DOWN——优先检查target地址是否可访问、metrics路径是否正确、TLS/Basic Auth是否匹配。
选型建议与避坑提醒
小规模物理机环境,Zabbix开箱即用最省心;已有大量Shell/Python运维脚本,Nagios改造成本最低;K8s集群或服务拆分细,Prometheus+Grafana+Alertmanager组合更易维护。三者都需注意时间同步(chrony必须启用),否则指标打点错乱、告警延迟甚至误触发。不要在生产环境长期使用默认告警阈值,比如Zabbix的“内存使用率>90%”对java应用可能天天告警,应结合堆内存实际使用情况调整。