目前互联网技术越来越发达,越来越多的企业开始拥抱开源,无论是成本还是易用性上开源都表现不俗。但是作为传统企业的IT负责人,到底该如何选择监控工具呢?从哪些方面考虑呢?
目前市场上主流监控产品功能大同小异,但是要选择好的监控工具应该从以下几个非功能需求方面选择:
1、成熟度和稳定性,监控系统本来是用来管理相对不稳定的系统,打铁还需自身硬,所以稳定性和程度度是企业选择监控系统最先要考虑的一点。
2、高性能,对于大型企业,被管对象多(超过1万)时,入库时效率是否高。
3、可扩展性,企业网络环境复杂,机构多,所以可扩展性也是要考虑的点。
4、二次开发支持程度,如果提供API可以方便定制开发,以便运维人员使用。
5、接口开放程度,如跟CMDB、ITIL集成,对CMDB、ITIL是否开放接口。
6、部署复杂度,如果大型企业上万台主机、如何部署代理。
7、售后支持度、社区是否活跃,如果系统故障,是否有专家支持,是否有强大团队支持。
其次应该从以下几个功能需求方面考虑:
1、是否支持传统架构监控,如操作系统、数据库、中间件、网络、存储
2、是否支持开源软件如mysql、PGSQL、MoogDB、Kafka、
3、是否支持虚拟化,VMware、KVM
4、是否支持容器:Docker
5、是否支持K8S
综上所述,传统架构可以考虑Zabbix,云环境、容器、K8S监控等可以考虑Prometheus。
收起个人观点:
主要还是看规模吧,如果规模不大, zabbix足够应付了,目前来说其社区的支持力度还是很不错的,各种模板都已经有了, 而且网上各种资料也是比较多的,还有就是跟服务器的配置, 以及zabbix日常维护这块 也有一定关系 ,我上家公司也算是属于传统行业吧,用的就是zabbix。
自己之前略微研究了下,prometheus,个人感觉还是很不错的,也可以考虑。下图是网上的各种工具对比,可以参考
可以从几个维度考虑:
1、开源监控工具是否满足自己IT需求,如果不满足,是否有二次开发能力等;
2、开源监控工具是否成熟,软件的稳定性、可靠性,社区发展情况,文档资料是否齐全等等;
3、结合自身运维能力,能否hold住该监控工具,该监控工作开发语言是否和自身IT主语言一致,遇到代码级问题能否及时修复等;
4、可以关注下该监控工具的发展趋势,比如cloud监控是否具备,微服务监控能力等等;
目前常用的监控工具有nagios、zenoss、zabbix、openfalcon、prometheus等,个人建议prometheus。
比较新,功能强大,对cloud监控友好,其他监控工具传统主机、网络监控好。
收起Zabbix确实是比较好监控工具候选项,它具备常见的商业监控软件所具备的功能
(比如主机的性能监控、硬件监控、应用性能监控(APM)、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制);支持自动发现网络设备和服务器,支持分布式部署,集中展示和管理分布式的监控点;具备很强的扩展性,并且提供通用接口,可以按需开发定制各类监控。