开源网络监控系统-LibreNMS
2024-10-26 10:13:45 阿炯
LibreNMS是一个功能强大的开源网络监控系统,专门设计用于监控交换机、路由器、防火墙、负载均衡器等网络设备。它通过支持包括SNMP、ICMP、LLDP、BGP在内的多种协议,能够自动发现网络设备,收集性能数据,提供丰富的功能和广泛的设备支持,支持实时数据、历史趋势、警报、地理映射和移动应用等功能,同时还支持通过 API 访问数据,以及提供移动应用以方便用户随时随地监控网络状态。主要由PHP语言编写开发并在GPLv3协议下授权使用。
LibreNMS is an auto-discovering PHP/MySQL/SNMP based network monitoring which includes support for a wide range of network hardware and operating systems including Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP and many more.
功能特性
自动设备发现:自动检测网络中的设备,支持多种协议,包括 CDP, FDP, LLDP, OSPF, BGP, SNMP 和 ARP。
详细的设备信息:提供设备详细信息,包括型号、操作系统、接口、版本、位置、联系人信息等。
监控指标:监控网络设备的流量、错误、丢包率、CPU 使用率和内存使用等关键性能指标。
可定制的告警系统:用户可以自定义告警规则,并通过电子邮件、Slack、Webhook 等多种方式接收通知。
数据可视化:提供直观的图表和实时数据,帮助用户快速识别性能问题。
多用户支持:支持多用户操作,不同的用户可以有不同的权限级别。
API 访问:提供 API 接口,方便与其他系统(如 Grafana)集成和自动化任务。
分布式部署:支持分布式架构,可以在多个服务器上运行轮询引擎,以提高大规模部署的性能。
历史数据和趋势分析:存储历史性能数据,便于用户进行趋势分析和容量规划。
配置备份:提供网络设备的配置备份功能,方便进行配置管理和故障恢复。
事件日志收集:收集和显示网络设备的事件日志,帮助诊断问题。
端口监控:监控网络端口的状态,包括速率、双工、流量等。
无线监控:提供无线接入点(AP)的监控,包括信号强度、客户端数量等。
集成第三方工具:可以集成第三方工具和服务,如认证系统、通知服务等。
移动应用:提供 iPhone 和 Android 应用,方便在移动设备上查看监控数据。
多厂商支持:支持广泛的设备厂商和型号。保护不限于:Cisco、Juniper、华为、HPE、HP、Dell EMC、Fortinet、F5、Netgear等
可扩展性:通过自定义脚本和模块,用户可以根据需要扩展 LibreNMS 的功能。
认证:支持多种认证方法,包括 MySQL、HTTP、LDAP、Radius 和 Active Directory。
LibreNMS提供了多种安装方式,包含手动安装和虚拟机镜像及Docker安装。手动安装可以参考官方文档:https://docs.librenms.org/Installation/Install-LibreNMS/#prepare-linux-server
LibreNMS 使用
语言设置:在个人账号设置菜单中,设置中文语言:
添加设备:在LibreNMS的Web界面中,找到“设备”或“添加”选项。输入需要监控的设备的IP地址、端口号、SNMP社区字符串等信息。点击“添加”按钮将设备添加到监控列表。
查看设备状态:在设备列表中,你可以查看设备的在线状态、接口信息、流量、CPU和内存使用率等。
配置告警:在“告警”或“通知”部分,可以设置告警规则,当设备状态异常时,LibreNMS会发送通知。
启用计费模块:在config.php文件中添加或启用$config['enable_billing'] = 1;来启用计费模块。费模块允许用户创建账单、分配配额并添加端口,跟踪端口使用情况,并显示包括超额使用在内的账单详情。支持按总传输数据和95百分位计算计费。设置包括启用计费模块、配置Cron任务、创建计费图表、设置数据保留期等。
网络地图:LibreNMS支持“Availability Map”的功能,它能够展示网络中所有设备的可用性状态。该地图以单个页面的形式展示设备状态,每个设备用方框或彩色方块表示其状态。
自定义仪表盘:支持包括创建仪表板、选择和配置各种小部件、设置仪表板权限以及设置全局默认仪表板的方法。
API使用:包括API版本控制、访问令牌的创建、API端点的调用方法、输入输出方式及端点分类。
在线Demo
项目提供了一个在线demo环境,感兴趣的同学可以在部署之前先体验下:
https://demo.librenms.org/login
username: demo
password: demouser
最新版本:24.9
v24.9.1于2024年9月发布。
官方主页:
https://www.librenms.org/
https://github.com/librenms/librenms
LibreNMS is an auto-discovering PHP/MySQL/SNMP based network monitoring which includes support for a wide range of network hardware and operating systems including Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP and many more.
功能特性
自动设备发现:自动检测网络中的设备,支持多种协议,包括 CDP, FDP, LLDP, OSPF, BGP, SNMP 和 ARP。
详细的设备信息:提供设备详细信息,包括型号、操作系统、接口、版本、位置、联系人信息等。
监控指标:监控网络设备的流量、错误、丢包率、CPU 使用率和内存使用等关键性能指标。
可定制的告警系统:用户可以自定义告警规则,并通过电子邮件、Slack、Webhook 等多种方式接收通知。
数据可视化:提供直观的图表和实时数据,帮助用户快速识别性能问题。
多用户支持:支持多用户操作,不同的用户可以有不同的权限级别。
API 访问:提供 API 接口,方便与其他系统(如 Grafana)集成和自动化任务。
分布式部署:支持分布式架构,可以在多个服务器上运行轮询引擎,以提高大规模部署的性能。
历史数据和趋势分析:存储历史性能数据,便于用户进行趋势分析和容量规划。
配置备份:提供网络设备的配置备份功能,方便进行配置管理和故障恢复。
事件日志收集:收集和显示网络设备的事件日志,帮助诊断问题。
端口监控:监控网络端口的状态,包括速率、双工、流量等。
无线监控:提供无线接入点(AP)的监控,包括信号强度、客户端数量等。
集成第三方工具:可以集成第三方工具和服务,如认证系统、通知服务等。
移动应用:提供 iPhone 和 Android 应用,方便在移动设备上查看监控数据。
多厂商支持:支持广泛的设备厂商和型号。保护不限于:Cisco、Juniper、华为、HPE、HP、Dell EMC、Fortinet、F5、Netgear等
可扩展性:通过自定义脚本和模块,用户可以根据需要扩展 LibreNMS 的功能。
认证:支持多种认证方法,包括 MySQL、HTTP、LDAP、Radius 和 Active Directory。
LibreNMS提供了多种安装方式,包含手动安装和虚拟机镜像及Docker安装。手动安装可以参考官方文档:https://docs.librenms.org/Installation/Install-LibreNMS/#prepare-linux-server
LibreNMS 使用
语言设置:在个人账号设置菜单中,设置中文语言:
添加设备:在LibreNMS的Web界面中,找到“设备”或“添加”选项。输入需要监控的设备的IP地址、端口号、SNMP社区字符串等信息。点击“添加”按钮将设备添加到监控列表。
查看设备状态:在设备列表中,你可以查看设备的在线状态、接口信息、流量、CPU和内存使用率等。
配置告警:在“告警”或“通知”部分,可以设置告警规则,当设备状态异常时,LibreNMS会发送通知。
启用计费模块:在config.php文件中添加或启用$config['enable_billing'] = 1;来启用计费模块。费模块允许用户创建账单、分配配额并添加端口,跟踪端口使用情况,并显示包括超额使用在内的账单详情。支持按总传输数据和95百分位计算计费。设置包括启用计费模块、配置Cron任务、创建计费图表、设置数据保留期等。
网络地图:LibreNMS支持“Availability Map”的功能,它能够展示网络中所有设备的可用性状态。该地图以单个页面的形式展示设备状态,每个设备用方框或彩色方块表示其状态。
自定义仪表盘:支持包括创建仪表板、选择和配置各种小部件、设置仪表板权限以及设置全局默认仪表板的方法。
API使用:包括API版本控制、访问令牌的创建、API端点的调用方法、输入输出方式及端点分类。
在线Demo
项目提供了一个在线demo环境,感兴趣的同学可以在部署之前先体验下:
https://demo.librenms.org/login
username: demo
password: demouser
最新版本:24.9
v24.9.1于2024年9月发布。
官方主页:
https://www.librenms.org/
https://github.com/librenms/librenms