zabbix
Zabbix sever、mysql、nginx 都采用容器方案部署。
Zabbix-agent 部署在目标主机(VM 主机上需要 yum install gcc、pcre*)。
Zabbix 采集容器信息,采用脚本调用 Docker stats 命令来获取容器资源的使用信息。
Zabbix 添加主机,主机添加模板。模板包含监控项,触发器,视图等内容。
缺点:
容器化方案没有高可用架构,存在单点故障。
采用 keepalive 保证 server 主备,数据库双主复制。需要额外的工作。
采用容器方案,容器的本身的调度与 keepalive 的结合需要调试。
大规模监控存在性能问题,Zabbix 自身故障无法检测。
cAdvisor+ Prometheus+InfluxDB+Grafana
Prometheus 在整个采集 - 告警逻辑上没有什么特殊的,只是自带自发现功能,从代码层更贴近容器调度编排的场景。
Prometheus 采用统一的 Restful API 方式去 pull 数据。
告警规则其实就是 PromQL 的查询,