常用10 个最佳开源运维监控软件介绍
前言:运维监控对于企业来说是必不可少的,以确保必要的系统启动并运行。如果没有使用正确的工具进行正确的监控,反而会增加运维人员的工作。
不管你是小型还是企业级的配置,都不能忽视运维监控工具。即使您拥有个人网站,也需要正常运行时间监控。
有许多软件从开源到商业级别,可帮助您监控基础架构运行情况并发送告警通知。考虑到各种因素,要找到一个与您IT环境匹配的运维监控工具是非常难的。
目前国内大部分公司已经采用开源的监控软件,以下介绍下常见的十款开源监控软件,看看哪些对您有用。
Nagios
Nagios成立于 1999 年,是提供从小型到企业级基础设施的监控解决方案的行业领导者之一。
Nagios 能够监控几乎所有类型的组件,如网络协议、操作系统、系统指标、应用程序、服务、Web 服务器、网站、中间件等。
Nagios 在 Core 4 监控引擎上运行,该引擎通过消耗更少的服务器资源来提供高水平的性能。
你可以利用 Nagios 来监控 WebLogic、WebSphere、JBoss、Tomcat、Apache、URL、Nginx 等。
特征
- 可以展示整个IT建构视图
- 事件处理程序能够自动重启失败的应用程序
- 多用户访问
- 选择性监控客所关心的指标
- 拥有超过 100 万用户的活跃社区
- 可扩展架构
Zabbix
Zabbix是一款出色的企业级软件,旨在监控从服务器、网络设备到 Web 应用程序和数据库的性能和可用性的一切。
Zabbix 被全球数千家公司使用,包括 DELL、Salesforce、ICANN、Orange 等。
Zabbix 是一种服务器-代理系统架构,您必须在服务器(客户端)上安装代理,以由 Zabbix 服务器监控。但是,您不需要为 FTP、SSH、HTTP、DNS等服务安装代理。
您可以在 Linux、AIX、Windows、Solaris、MacOS X、FreeBSD、OpenBSD 等上安装它。
特征
- 通过JMX直接监控 Java 应用服务器
- VM 监控允许 VMWare、vCenter 和 vSpehere
- 前端具有针对暴力攻击的自我保护
- 自动化可以通过各种语言的脚本来完成,例如 Ruby、Python、Perl、PHP、Java 或 shell 脚本
- 与 Puppet、cfengine、Chef、bcfg2 等其他系统管理工具集成
Checkmk
Checkmk是一个高度可扩展的工具,可监控服务器、网络、云资产、数据库、容器、物联网等。它有两种模式可用。
- 基础版 – 完全开源并提供免费和无限制的监控。
- 企业版 – 附带附加功能。
特征
- 几分钟内可以部署,
- 自动化:高度自动化可实现非常广泛的监控范围并减少手动配置
- 灵活的监控:“开箱即用”提供了超过 1,900 个官方集成。通过 Checkmk 代理、供应商 API、SNMP 或其他方式监控状态、指标、事件和日志
- 可以监控 Docker、Kubernetes、AWS 和 Azure
- 适合监控具有完全可扩展的分布式监控功能的大型环境
Prometheus+Grafana
开源解决方案——Prometheus和Grafana ,使用Prometheus从服务器、操作系统、应用程序中抓取指标,并使用 Grafana 将它们可视化。
有很多 Prometheus 导出器可以从Linux、Windows、数据库、路由器、消息系统、存储、API、Web 应用程序、Kubernetes 等获取指标。
Cacti
Cacti是另一个可以安装在 Linux 或 Windows 操作系统上的开源网络监控工具。它连接到RRDTool,它可以生成与相关网络数据的图表。
特征
- 可选择使用 CDEF 或 Cacti 内部的数据源
- 图形的自动生成
- 支持具有多个数据源的 RRD(Round-Robin Database) 文件,也可以使用存储在本地文件系统任意位置的 RRD 文件
- 基于用户的管理和安全
- 自定义数据收集脚本
OpeNMS
OpenNMS可以使用 JMX、WMI、SNMP、NRPE、XML HTTP、JDBC、XML、JSON 等收集系统指标。
可以发现网络中的第二层网络拓扑。它建立在事件驱动的架构之上,并支持Grafana。
OpenNMS内置了报表,这意味着您可以在漂亮的仪表板和图表中查看报告。总的来说,OpenNMS 有一个出色的用户界面。
也可以在 Docker 中安装它。
特征:
- 它专为 Linux 设计,但也支持 Windows、Solaris 和 OSX。
- 支持ipmi
- 可定制的管理仪表板
- IPv4 和 IPv6 支持
- 事件可以通过电子邮件、SMS、XMPP 和各种其他方法生成通知。
- 使用 Open Street Map、Google Maps 或 Mapquest 显示节点和服务中断的地理节点地图
Lcinga
Icinga 始于 2009 年的Nagios Fork ,它更快、更易于配置、更舒适地扩展。
特征:
- 监控网络服务、主机服务和服务器组件
- 它使用 Icinga 2 插件执行监控。
- 支持事件处理程序和通知
- 电话、短信、电话和电子邮件支持
- 跨平台支持各种操作系统
- 您可以在 2 个用户界面、经典 UI 和 Icinga web 之间进行选择
- 基于模板的报告
Netdata
Netdata为系统和应用程序提供实时健康监控和性能故障排除。
Netdata 快速高效,旨在在所有系统上运行而不会中断。通过数以千计的指标、交互式可视化和富有洞察力的健康警报,即时诊断基础架构中的异常情况。
Netdata 是免费的开源软件,目前在物理系统、虚拟机、容器和物联网/边缘设备上运行。
特征:
- 监控指标多而广,每秒数据收集,同时并发监控数万个指标
- 快速安装,需要资源少。
- 一个自定义数据库引擎,可将最近的指标保存到 RAM 并将历史指标“溢出”到磁盘以进行长期存储。
M/Monit
它可以在任何 POSIX 系统上运行,并使用大约 10-15 MB 的 RAM,具体取决于您监控的主机数量。它适用于以下数据库系统:
- MySQL 5.x 或更高版本
- PostgreSQL 8.4 或更高版本
- SQLite 3.x
如果进程终止,M/Monit 可以执行自动重启。因此,在有异常的情况下,它可以自动维修和维护。因此,系统将能够获得最大的正常运行时间。
特征
- 在安装和设置方面既简单又节省时间。
- 从受监控的主机收集关键数据,并通过分析收集的数据创建美观且易于理解的图表。
- 它的用户界面简单、干净、响应迅速。它的 UI 可以重新排列以适应设备屏幕。
- 管理和监控后台或守护进程。
- 它可以自动处理错误情况,无需人工干预。
- 监控进程、服务器、磁盘、文件、文件夹和云活动。
- 远程控制服务。
- 用于查询 M/Monit 数据的 HTTP REST API。
- 基于现有数据,我们可以使用其趋势预测功能来推断未来值。
LibreNMS
LibreNMS是一个功能齐全的网络监控系统。它基于 PHP/MySQL/SNMP。LibreMNS 涵盖了广泛的操作系统和网络硬件。
它可以根据接口进行接口分组。使用 SNMP、CDP、ARP、FDP、OSPF、LLDP、BGP 可以自动发现整个网络。
特征
- 这里使用了一个高度灵活和可靠的警报系统。因此,即时通知将通过电子邮件、IRC、Slack 等弹出。
- 另一个非常重要的功能是它能够根据使用情况在网络上生成带宽账单。
- 可扩展。
- 它为NfSen、collected、SmokePing、RANCID、Oxidized提供集成支持。
- 它支持 MySQL、HTTP、LDAP、Radius、Active Directory 的多种身份验证方法。
- 支持以及适合移动设备的 Web UI。