来源:开源最前线(ID:OpenSourceTop) 猿妹编译
链接:https://opensource.com/article/19/2/network-monitoring-tools
维护网站正常运行是系统管理员最基本的任务之一,所以对系统进行监视,并保持网络的最佳运行状态至关重要。
在现代的网络中,有许多不同的方法来监视,网络监控工具专门用于监控网络流量和响应时间,而应用程序性能管理解决方案使用代理从应用程序堆栈中提取性能数据。此外,你还需要确保网站不被攻击。
本文将重点讨论开源网络监控工具,这些工具帮助你监视各个节点和应用程序,以及时发现性能低下的迹象。你还可以查看整个网络的性能。
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是最好的选择,可以为你提供所有你需要的东西,让你开始监控你的网络,让它时刻保持在线,并最大限度地减少由于性能问题而导致措手不及的状况。