开源服务器监控软件对比

360影视 2024-12-24 23:10 3

摘要:Netdata是一个开源软件,用来实时监控系统和应用程序,可在Linux,FreeBSD,macOS,docker容器,IoT设备上运行,还能轻松和其他工具集成,如Prometheus,AWS Kinesis,Graphite,MongoDB等。我们可以在系统

Netdata是一个开源软件,用来实时监控系统和应用程序,可在Linux,FreeBSD,macOS,docker容器,IoT设备上运行,还能轻松和其他工具集成,如Prometheus,AWS Kinesis,Graphite,MongoDB等。我们可以在系统,应用程序或容器上安装Netdata代理,它会提供所有性能和运行状况信息。对了,它是免费的。

注意,安装后会严重影响服务器运行速度,且默认安装的话安全性很低(默认没有密码,默认端口访问可以直接看到全部系统信息)

使用感受:

网页浏览庞大精确系统信息的确很爽。 但是! 严重影响服务器速度!长期占用10%内存和很高的CPU。 而且还发现Netdata为了监控,还安装了很多其它软件,长期在后台运行。 甚至严重到影响ssh的延迟,ssh进去后打字反应都很慢。 所以没办法就卸载了。

卸载Netdata软件本身,和其它被这个安装的大量占用内存CPU的后台驻留软件后,重启服务器,又恢复了以前的速度。

Prometheus是用来监控系统指标的开源工具,Grafana是开源可视化平台。它们集成后是一个强大的环境,可高效地监控服务器。Prometheus服务器负责收集数据,成为Grafana的数据源,而Grafana负责在仪表板上可视化所有指标,而且可查询。

可实现类似node-exporter程序装进虚机

Ward和几乎所有流行的操作系统兼容,它主要使用OSHI(一个免费的Java库),检索操作系统和硬件信息。它可以共享操作系统版本,CPU使用率,磁盘和分区,处理器,内存等信息。

由于 Ward 应用了 OSHI,因此它在 Windows 和 Linux 平台上均可正常运行。

Conky可以在许多不同的平台上运行,比如Windows,Linux,Mac OS和大多数BSD上运行。它使用简单的文本或总线进度条,以及使用不同字体和颜色的图形窗口显示信息。优势在于用户界面简单,300多个内置对象来显示系统状态。

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它由两部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X,Windows等平台上。

Cacti是一个性能广泛的图表和趋势分析工具,可以用来跟踪并几乎可以绘制出任何可监测指标,描绘出图表。从硬盘的利用率到风扇的转速,在一个电脑管理系统中,只要是可以被监测的指标,Cacti都可以监测,并快速的转换成可视化的图表。

Glances是用Python编写的跨平台监控工具。它仅支持python2.7或python3.4以上版本,它使用python库(psutil)收集所有系统信息。

Nagios是一个经典的老牌系统和网络监测工具。运行速度快,可靠,需要针对应用定制。Nagios对于初学者是一个挑战。但是它的极其复杂的配置正好也反应出它的强大,因为它几乎可以适用于任何监控任务。Nagios最大的特点就是能在系统或服务状态异常时发出邮件或短信报警,第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。 要说缺点的话就是不怎么耐看,但是其强劲的功能和可靠性弥补了这个缺点。

Icinga 是一个正在重建的Nagios的分支,它提供了一个全面的监控和警报的框架,致力于设计一个像Nagios一样的开放和可扩展性的平台。但是和Nagios拥有不一样的Web界面。Icinga 1 和 Nagios非常的相近,不过Icinga 2就重写了。两个版本都能很好的兼容,而且,Nagios用户可以很轻松的转到Icinga 1平台。

Graphite

Graphite是一个企业级的监控工具,使用Python编写,采用django框架。最初由Chris Davis在Orbitz工作时,作为一个辅助项目开发的,最终成一个基本的监控工具。Graphite可用来收集服务器所有的及时状态、用户请求信息、Memcached命中率、RabbitMQ消息服务器的状态、Unix操作系统的负载状态。 Graphite服务器大约每分钟需要有4800次更新操作,简单的文本协议和强大的绘图功能可以方便地扩展到任何需要监控的系统上。Graphite将数据以图形的形式展现出来。它主要做两件事:存储时间序列数据、根据需要呈现数据的图形。目前,Graphite的最新版本是0.9.10,源码托管在launchpad.net上。

Munin

Munin是一款开源网络资源监控工具,可以分析资源趋势、“刚刚是什么让性能死掉”方面的问题。可监控核心系统资源,包括内存、磁盘、CPU 占用、服务器应用如MySQL、Apache和Squid等。它使用起来非常方便,是一款即插即用型工具,并且提供了许多丰富的图表。 Munin是一款通过客户端——服务器架构收集数据并将其图形化的工具。Munin允许你跟踪主机的运行记录,就是所谓的节点,然后将它们发送到中央服务器,随后就能以图像形式展示它们。目前,Munin的最新版本是Munin 2.0.11.1,大家可以从GitHub或Sourceforge上下载该版本。

Ganglia是UC(University of California)Berkeley发起的一个开源集群监视项目,Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统。它已被广泛地移植到各种操作系统和处理器架构上,目前在世界各地成千上万的集群中应用。Ganglia Web 3.5.7版已经发布,托管在Sourceforge上。Ganglia的核心包含了gmond、gmetad以及一个Web前端。Ganglia主要是用来监控系统性能,如:CPU、内存、硬盘利用率、I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

collectd是一款用C语言开发的开源的性能监测工具,无需系统cron支持、简单易用。collectd是插件式架构,主要分为输入、输出类型插件。当系统运行和存储信息的时候,collectd会周期性地统计系统相关信息。那些信息可以用来找到当前系统性能瓶颈。与其他监测工具相比,collectd它完全是由C语言编写,性能很高、可移植性好,它允许运行在系统没有脚本语言支持或者cron daemon的系统上,比如嵌入式系统。 同时,它包含优化以及处理成百上千种数据集的新特性。collectd包含有超过70多种插件,同时,collectd提供强大的网络联网特性,它能以多种方式来扩充。而collectd不足之处则是不能直接生成图片。虽然它能写RRD文件,但是它不能从这些文件生成图形。目前collectd的最新版本为5.2.1,源码托管在GitHub上。以上这些产品大部分是开源的,对于中小型公司来说,利用开源产品能大大提高团队的开发效率。而且这些产品都拥有非常活跃的社区,遇到问题后能得到很好的解决。

Open-Falcon小米的监控系统:OpenFalcon是一款企业级、高可用、可扩展的开源监控解决方案。Open-Falcon强大灵活的数据采集:自动发现,支持falcon-agent、snmp、支持用户主动push、用户自定义插件支持、opentsdb data model like(timestamp、endpoint、metric、key-value tags),整个系统无核心单点,易运维,易部署,可水平扩展。 Open-Falcon 也是一款比较人性化的互联网企业级监控系统,Open-Falcon 整体可以分为两部分,即绘图组件、告警组件。其中: 安装绘图组件负责数据的采集、收集、存储、归档、采样、查询、展示(Dashboard/Screen)等功能,可以单独工作,作为time-series data的一种存储展示方案。 安装告警组件负责告警策略配置(portal)、告警判定(judge)、告警处理(alarm/sender)、用户组管理(uic)等,可以单独工作。

参考: 开源的服务器监控软件

来源:五星爱好者

相关推荐