维护网站正常运行是系统管理员最基本的任务之一,所以对系统进行监视,并保持网络的最佳运行状态至关重要。
在现代的网络中,有许多不同的方法来监视,网络监控工具专门用于监控网络流量和响应时间,而应用程序性能管理解决方案使用代理从应用程序堆栈中提取性能数据。此外,你还需要确保网站不被攻击。

本文将重点讨论开源网络监控工具,这些工具帮助你监视各个节点和应用程序,以及时发现性能低下的迹象。你还可以查看整个网络的性能。

1、Cacti

如果你对开源网络监控工具有所了解,那么你可能听说过 Cacti。它是一个图形化解决方案,Cacti 主要是通过 rrdtool 这个工具来绘图的,被许多网络管理员用来收集局域网中的性能数据。Cacti 在 Windows 和 Linux 上支持简单网络管理协议 (Simple Network Management Protocol, SNMP),用于创建流量数据图。

Cacti 通常使用它通过 snmpget 来获取数据,脚本返回的值存储在 MySQL 数据库中,这些数据用于生成图形。

这听起来很复杂,但是 Cacti 有模板来帮助加速这个过程。你还可以创建一个图形或数据源模板,用于将来的监视活动。

地址:https://www.cacti.net/index.php

2、Nagios Core

Nagios Core 是最著名的开源监控工具之一。使用 Nagios Core,你就可以自动发现设备、监视连接的系统 "变坏" 和 "变好",并生成复杂的性能图。
支持定制是 Nagios Core 变得如此流行的主要原因之一。例如,Nagios V-Shell 被添加为 AngularJS 内置的 PHP Web 界面,该界面基于可搜索表和一个用 CodeIgniter 设计的 RESTful API。

如果需要更多的功能,可以查看 Nagios Exchange,它提供了一系列附加组件,可以将附加功能合并到网络监控中。

地址:https://www.nagios.org/projects/nagios-core/

3、Icinga 2

Icinga 2 是另一个广泛使用的开源网络监控工具。它建立在 Nagios Core 的基础之上,它有一个灵活的 RESTful API,允许你输入自己的配置并通过仪表板查看实时性能数据。
Icinga2 还允许监视实时和历史性能数据。它为实时监控提供了出色的警报功能,你还可以在 Windows、Debian、DHEL、SLES、Ubuntu、Fedora 和 OpenSUSE 上免费下载 Icinga 2。

地址:https://icinga.com/products/icinga-2/

4、Zabbix

Zabbix 是另一个业界领先的开源网络监控工具,从戴尔到 Salesforce 的公司都使用它,因为它具有可扩展的网络监控能力,Zabbix 在网络、服务器、云、应用程序和服务监控方面做得非常好。
你可以通过 Zabbix 可以跟踪网络信息,如网络带宽使用、网络健康状况和配置更改,并排除需要解决的问题。与其他开源监控工具相比,Zabbix 提供了很高的便利性。诸如它可以自动检测连接到网络的设备。

地址:https://www.zabbix.com/

5、Prometheus

Prometheus 是一个开源的网络监控工具,它专为监控时间序列数据而构建。你可以按时间长度标准或关键词对来标识时间序列数据。时间序列数据存储在本地磁盘上,以便在紧急情况下轻松访问。
Prometheus 的 Alertmanager 负责消息通知,Alertmanager 可以通过电子邮件,PagerDuty 或 OpsGenie 发送通知,如有必要,你也可以关闭警报通知。
Prometheus 的 UI 元素非常出色,允许你从浏览器切换到模板语言和 Grafana 集成。你还可以将各种第三方数据源从 Docker,StatsD 和 JMX 中集成到 Prometheus 中,来自定义 Prometheus。

地址:https://prometheus.io/

在这五种方法中,我认为 Icinga 2 和 Zabbix 是最好的选择,可以为你提供所有你需要的东西,让你开始监控你的网络,让它时刻保持在线,并最大限度地减少由于性能问题而导致措手不及的状况。