大家好,我是民工哥。

一提到监控系统,大家很快就能想到Zabbix、Prometheus等,今天,民工哥给大家推荐一款绝不逊色 Zabbix 的监控软件 Librenms。

LibreNMS 介绍

LibreNMS是一个全功能的开源网络监控系统。它用于SNMP从不同设备获取数据。LibreNMS支持各种设备,如Cisco,Linux,FreeBSD,Juniper,Brocade,Foundry,HP等。它支持多种认证机制并支持双因素认证。它有一个可定制的警报系统,可以通过电子邮件提醒网络管理员

LibreNMS 特点

自动发现

警示

多种环境传感器支持

多种协议数据收集(STP,OSPF,BGP等)

VLAN,ARP和FDB表收集

可定制的仪表板

设备集成备份

分布式轮询

多种身份验证方法(MySQL,LDAP,Active Directory,HTTP)

NetFlow,sFlow,IPFIX(NfSen)

服务监控(Nagios插件)

Syslog(集成,Graylog)

流量计费

两要素认证

强大的API

自动更新

LibreNMS 安装环境

请注意,最低支持的PHP版本是7.3

建议使用Nginx 作为web服务器安装必需的软件包yum install epel-release yum-utils

yum localinstall http://rpms.remirepo.net/enterprise/remi-release-7.rpm

yum-config-manager --enable remi-php73

yum install composer cronie fping git ImageMagick jwhois mariadb mariadb-server mtr MySQL-python net-snmp net-snmp-utils nginx nmap php-fpm php-cli php-common php-curl php-gd php-mbstring php-process php-snmp php-xml php-zip php-memcached php-mysqlnd python-memcached rrdtool python3 python3-pip

添加librenms用户useradd librenms -d /opt/librenms -M -r

usermod -a -G librenms nginx

下载LibreNMScd /opt

git clone https://github.com/librenms/librenms.git

设定权限chown -R librenms:librenms /opt/librenms

chmod 770 /opt/librenms

setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

chgrp apache /var/lib/php/session/

安装PHP依赖项su - librenms

./scripts/composer_wrapper.php install --no-dev

exit

数据库服务器#配置MySQL

systemctl start mariadb

mysql -u root

#更改初始密码

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';

FLUSH PRIVILEGES;

exit

vi /etc/my.cnf

在此[mysqld]部分中,请添加:

innodb_file_per_table=1

lower_case_table_names=0

systemctl enable mariadb

systemctl restart mariadb

配置并启动PHP-FPM

确保在php.ini中将date.timezone设置为您首选的时区,具体时区请参考:https://php.net/manual/en/tim...vi /etc/php.ini

date.timezone = Asia/Shanghai

在进行/etc/php-fpm.d/www.conf以下更改vi /etc/php-fpm.d/www.conf

;user = apache

user = nginx

group = apache ; keep group as apache

;listen = 127.0.0.1:9000

listen = /run/php-fpm/php-fpm.sock

listen.owner = nginx

listen.group = nginx

listen.mode = 0660

systemctl enable php-fpm

systemctl restart php-fpm

配置NGINXvi /etc/nginx/conf.d/librenms.conf

添加以下配置,server_name根据需要进行编辑:

server {

listen 80;

server_name librenms.example.com;

root /opt/librenms/html;

index index.php;

charset utf-8;

gzip on;

gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

location /api/v0 {

try_files $uri $uri/ /api_v0.php?$query_string;

}

location ~ \.php {

include fastcgi.conf;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass unix:/run/php-fpm/php-fpm.sock;

}

location ~ /\.ht {

deny all;

}

}

systemctl enable nginx

systemctl restart nginx

配置LibreNMS所需的上下文semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/logs(/.*)?'

semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/logs(/.*)?'

restorecon -RFvv /opt/librenms/logs/

semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/rrd(/.*)?'

semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/rrd(/.*)?'

restorecon -RFvv /opt/librenms/rrd/

semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/storage(/.*)?'

semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/storage(/.*)?'

restorecon -RFvv /opt/librenms/storage/

semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/bootstrap/cache(/.*)?'

semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/bootstrap/cache(/.*)?'

restorecon -RFvv /opt/librenms/bootstrap/cache/

setsebool -P httpd_can_sendmail=1

setsebool -P httpd_execmem 1

允许fping

使用以下内容创建文件http_fping.tt。您可以在任何地方创建此文件,因为它是一次性文件。此安装过程的最后一步将把模块安装在正确的位置。module http_fping 1.0;

require {

type httpd_t;

class capability net_raw;

class rawip_socket { getopt create setopt write read };

}

#============= httpd_t ==============

allow httpd_t self:capability net_raw;

allow httpd_t self:rawip_socket { getopt create setopt write read };

然后运行这些命令checkmodule -M -m -o http_fping.mod http_fping.tt

semodule_package -o http_fping.pp -m http_fping.mod

semodule -i http_fping.pp

配置snmpdcp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

vi /etc/snmp/snmpd.conf

编辑显示的文字RANDOMSTRINGGOESHERE并设置您自己的社区字符串。

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro

chmod +x /usr/bin/distro

systemctl enable snmpd

systemctl restart snmpd

Cron jobcp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

logrotate 配置

LibreNMS保留日志/opt/librenms/logs。随着时间的流逝,它们可能会变大并向外旋转。要轮换出旧日志,可以使用提供的logrotate配置文件。cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

Web安装

Web安装程序可能会提示config.php在librenms安装位置需要手动创建文件,这时将Web上显示的内容复制到该文件。然后设置权限。chown librenms:librenms /opt/librenms/config.php

LibreNMS 界面

首页界面添加设备

创建组

设备列表

启用发现模块

流量监控

磁盘监控

网络图

LibreNMS图表

API 配置

报警规则

往期推荐:

开源打印监控 linux,挺带劲!这款免费开源的监控系统真强大~相关推荐

  1. java开源cad_寻找 AutoCAD 替代品,5款免费开源 CAD 软件推荐

    FreeCAD FreeCAD 是一种通用的3D CAD建模.完全开源(LGPL许可证)FreeCAD 直接的目的是在机械工程和产品设计,也适合在更广泛的用途,如建筑行业或其他工程专业,工程相关领域. ...

  2. Blender 是一款免费开源的 3D 创作套件

    Blender是一个免费和开源的 3D 计算机图形软件工具集,用于创建动画电影.视觉效果.艺术.3D 打印模型.交互式 3D 应用.VR 和计算机游戏.随着 Blender 3.4 的发布,Blend ...

  3. din字体是开源字体吗_12款免费开源英文字体

    前言:如果设计产品或者网站是面向国外对象用户的时候,盲目使用商业英文字体,就有可能引起字体版权纠纷.今天为大家介绍12款不错的开源英文字体,免费使用,接下来选择一款符合你作品调性的英文字体吧! 12款 ...

  4. java 发卡平台支付_ZFAKA一款免费开源的发卡系统搭建教程 (支持多种支付接口)...

    ZFAKA是一款免费开源的发卡系统 (本系统基于yaf+layui开发),可以对接支付宝.微信.PayPal多种支付渠道接口,包含自动/手工发卡功能,有会员中心和后台中心.功能很齐全而且免费开源下面就 ...

  5. PhotoSwipe简介-专为移动触摸设备设计的相册/画廊.兼容所有iPhone、iPad、黑莓6+,以及桌面浏览器.底层实现基于HTML/CSS/JavaScript,是一款免费开源的相册产品

    官方介绍 PhotoSwipe 是专为移动触摸设备设计的相册/画廊.兼容所有iPhone.iPad.黑莓6+,以及桌面浏览器.底层实现基于HTML/CSS/JavaScript,是一款免费开源的相册产 ...

  6. 基于 RageFrame2 的一款免费开源的基础商城销售功能的开源微商城

    前言 基于 RageFrame2 的一款免费开源的基础商城销售功能的开源微商城,前端基于 uni-app,一端发布多端通用,目前已经适配 H5.微信小程序.QQ小程序.Ios App.Android ...

  7. 推荐一款免费开源的OCR软件

    来源:投稿 作者:ΔU 编辑:学姐 一款简单易用的OCR软件会让我们的工作娱乐效率翻倍,虽然市面上不乏此类软件,但是基本上都是收费,或者限制识别次数,今天给大家推荐一款免费开源的OCR软件-Panda ...

  8. 发布动态网站需要额外安装哪些软件_专为Win10打造的一款免费开源动态壁纸软件,可与WallpaperEngine媲美!...

    前几天给我给大家推荐过一款比较好用的动态壁纸软件,Wallpaper Engine,有兴趣的朋友可以看看Wallpaper Engine 不过当时推荐的是解锁版Wallpaper Engine,正版W ...

  9. 网络监控神器!这7大免费开源工具可别错过

    编者按,在房地产市场,真正一锤定音的是地段,但在网络和服务器管理领域,可视性才是一切.如果你不了解自家的网络和服务器每天都在"密谋"着什么,早晚都得碰上大灾难. 幸运的是,市场上有 ...

  10. 网络监控神器!这 7 大免费开源工具可别错过

    幸运的是,市场上有大量工具(有收费的也有开源的)可以点亮我们的网络环境,保我们不受黑暗侵扰. 对普通用户来说,免费总比收费好,因此今天雷锋网编辑决定把自己压箱底的开源工具分享出来,希望它们能守护好各位 ...

最新文章

  1. Java NIO之套接字通道
  2. 19、Java并发性和多线程-嵌套管程锁死
  3. windows下可用mysql吗_Windows下MySQL安装配置与使用
  4. SAP Fiori Elements list report filter - implemented by framework
  5. 人族机器人叉兵_星际争霸兵种体积和伤害判断:叉叉小体积为什么运输机占2单位?...
  6. 泰克示波器截屏软件-Tektronix示波器上位机-OpenChoice安装。示波器波形发文章论文
  7. 完整的Flex多文件上传实例
  8. 字节跳动面试真题:java程序设计基础教程
  9. Bzoj1007 [HNOI2008]水平可见直线
  10. L007-oldboy-mysql-dba-lesson07
  11. 计算机能直接和cpu交换数据的是,内存储器_能直接与CPU交换信息的存储器是
  12. linux ubuntu软件中心,Ubuntu 20.04 将Ubuntu软件中心切换到Snap商店
  13. 简述sqlite数据库的特点_sqlite数据库特点
  14. 【C语言】扫雷游戏(递归实现展开一片)8000字详细教学
  15. 总结学过的技术,实现加密注册,登录及过期不能访问,微信朋友圈功能,文章比较长,但是比较详细。
  16. win10用caffe训练自己的数据
  17. vs2015已停止工作,事件名称APPCRASH 故障模块KERNELBASE.dll
  18. 如何带好一个20人团队?
  19. 用ajax接收后台数据里的具体数据,ajax动态接收后台向后台传输数据以及接收数据...
  20. 使用MQTT远程控制树莓派继电器开关

热门文章

  1. Express框架学习笔记-express路由参数
  2. Eclipse使用Git上传新项目到GitHub
  3. python info什么意思_python中log info 是什么文件
  4. sklearn 相似度矩阵_利用sklearn计算文本相似性
  5. android倒计时像音乐,Android实现倒计时的几种方式
  6. java pattern 转义_浅谈关于Java正则和转义中\\和\\\\的理解
  7. JavaScript·函数
  8. matlab中idwt,matlab图片处理
  9. SpringBoot系列(3):SpringBoot2.1.x源码阅读环境搭建详解
  10. MySQL(14)-----运算符和优先级