容器云平台的监控首选prometheus
从监控指标这个角度,因为prometheus天然就和k8s监控做了集成,监控指标几乎是开箱即用(这点是最重要的,不管k8s如何升级迭代,我们都不用花精力去适配开发监控指标,因为 k8s 已经提供了基于 prometheus 的专业监控能力),一些特殊的监控需求也可以定制开发exporter来实现。
从性能容量这个角度看,400台云主机+ 100台k8s的node只能算是比较小规模的环境了,一套 prometheus server 完全够用,如果后续规模扩大,可以通过 prometheus server 集群的方式来扩大性能容量,支撑能力完全没问题。
从以上两个角度看,只用 prometheus就够了,除非你的项目之前主要使用的是zabbix,你不想彻底用 prometheus替换zabbix(毕竟要花巨大的人力物力),那就可以考虑用 prometheus 做容器云平台的监控采集,把数据集成到zabbix里去,这样两套工具就结合起来了。
个人建议直接上Prometheus,理由如下:
1、Prometheus可以监控主机(cpu、内存、磁盘空间等)、网络。
2、prometheus是K8s的孪生兄弟,可以监控docker、pod,还有master,比zabbix有天然优势。
3、400台云主机+100个node纳管数量对于Prometheus不是问题。
4、prometheus可以定制开发exporter轻松实现采集代理定制开发。
上只能建议上一套,两个同时上性能开销太大,资源利用率随之下降,两者选其一即可,prometheus呢直接原生的方案可以直接搞定大批量的资源监控并发,zabbix呢可能因为并发的限制要稍微设计下架构
收起各位老师回答的都很好。没什么好补充的了。看作者主要关心什么指标。正如大家所说zabbix偏物理主机、网络、磁盘、资源、进程、服务等综合性较好。prometheus主要偏向于容器、pod监控。各有各的优点。个人感觉zabbix简单一些,prometheus+grafana+alertmanager一直是我的梦想,至今都没完整的搭建出来。尤其是 alertmanager 配置个性化设置较为复杂。具体效果还不太了解。上面jiaoyutwt的老师说zabbix也支持监控k8s ,不知道监控到什么粒度?有没有模板?能否与大家一起分享下?
收起400台云主机+ 100台k8s的node
没有说要监控容器,监控的是节点与主机。 zabbix和prometheus 都可以。
推荐zabbix,如果要监控容器,当然用 prometheus ,不过现在zabbix也支持监控k8s,要看模板的支持度能否满足自己的监控需要。 自己是做IT基础设施的,当然比较偏向zabbix,对硬件监控支持度更好、更全面。
如果没有特殊要求,建议使用prometheus监控体系就可以了,只不过部署方案上可能是部署两套prometheus,一套在k8s集群外,一套在k8s集群内,通过prometheus联邦方式把监控数据集中到k8s集群外的prometheus中,再配置相应的监控告警规则。
收起