现在运维监控工具非常多,哪个好,哪个不好,哪个适合你,哪个不适合你,其实只有你了解了他们的特性后,才知道,接下来咱们从这里开始讲常见的运维资源监控工具。
一. 常见的运维监控工具
现在运维监控工具非常多,哪个好,哪个不好,哪个适合你,哪个不适合你,其实只有你了解了他们的特性后,才知道,所以从这里开始讲起。
1. Cacti
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
简单的说Cacti就是一个PHP程序。它通过使用SNMP协议获取远端网络设备和相关信息,(其实就是使用Net-SNMP 软件包的snmpget 和snmpwalk 命令获取)并通过RRDTOOL工具绘图,通过PHP程序展现出来。我们使用它可以展现出监控对象一段时间内的状态或者性能趋势图。
Cacti是很老的一款监控工具了,其实说它是一款流量监控工具更合适,对流量监控比较精准,但缺点很多,出图不好看,不支持分布式,也没有告警功能,所以使用的人会越来越少。
2. Zabbix
Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供强大的通知机制以让系统运维人员快速定位/解决存在的各种问题。
Zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。
Zabbix解决了cacti没有告警的不足,也解决了nagios不能通过web配置的缺点,同时还支持分布式部署,这使得它迅速流行起来,zabbix也成为目前中小企业监控最流行的运维监控平台。
3. Prometheus
Prometheus是一套开源的系统监控报警框架,它既适用于面向服务器等硬件指标的监控,也适用于高动态的面向服务架构的监控。
4. Nagios
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios主要的特征是监控告警,最强大的就是告警功能,可支持多种告警方式,但缺点是没有强大的数据收集机制,并且数据出图也很简陋,当监控的主机越来越多时,添加主机也非常麻烦,配置文件都是基于文本配置的,不支持web方式管理和配置,这样很容易出错,不宜维护。
5. Ganglia
Ganglia是一款为HPC(高性能计算)集群而设计的可扩展的分布式监控系统,它可以监视和显示集群中的节点的各种状态信息,它由运行在各个节点上的gmond守护进程来采集CPU 、内存、硬盘利用率、I/O负载、网络流量情况等方面的数据,然后汇总到gmetad守护进程下,使用rrdtool存储数据,最后将历史数据以曲线方式通过PHP页面呈现。
Ganglia监控系统有三部分组成,分别是gmond、gmetad、webfrontend。gmond安装在需要收集数据的客户端,gmetad是服务端,webfrontend是一个php的web ui界面,ganglia通过gmond收集数据,然后在webfrontend进行展示。
Ganglia的主要特征是收集数据,并集中展示数据,这是ganglia的优势和特色,ganglia可以将所有数据汇总到一个界面集中展示,并且支持多种数据接口,可以很方便的扩展监控,同时,最为重要的是,ganglia收集数据非常轻量级,客户端的gmond程序基本不耗费系统资源,而这个特点刚好弥补了zabbix消耗性能的不足。
最后,Ganglia在对大数据平台的监控更为智能,只需要一个配置文件,即可开通Ganglia对hadoop、spark的监控,监控指标有近千个,完全满足了对大数据平台的监控需求。
对于现在流行的微服务,Prometheus的多维度数据收集和数据筛选查询语言也是非常的强大。Prometheus是为服务的可靠性而设计的,当服务出现故障时,它可以使你快速定位和诊断问题。
6. Grafana
Grafana是一个开源的度量分析与可视化套件,通俗的说,Grafana就是一个图形可视化展示平台,它通过各种炫酷的界面效果展示我们的监控数据,如果你觉得zabbix的出图界面不够好看,逼格不够高,就可以使用Grafana的可视化展示,同时,Grafana支持许多不同的数据源,Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB都可以完美支持。
文章推荐:合肥自动化运维是什么?