CentOS7下部署开源网络监控系统LibreNMS

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: CentOS7下部署开源网络监控系统LibreNMS

一、LibreNMS简单介绍


LibreNMS是一款开源的,功能强大且功能丰富的自动发现的网络监控系统,基于PHP,使用SNMP协议。它支持广泛的操作系统,包括Linux,FreeBSD以及思科,Juniper,Brocade,Foundry,HP等网络设备。

640.jpg

二、CentOS7下部署LibreNMS


参考官方配置文档完成

640.jpg



https://docs.librenms.org/Installation/Installation-CentOS-7-Nginx/

1、关闭SELINUX,配置yum源

setenforce 0
sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

640.jpg


2、配置remi-php73源,安装LibreNMS所需的组件

yum install -y 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 python3-devel

640.jpg

640.jpg640.jpg

640.jpg

3.git下载lirenms最新版本

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

640.jpg

useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginx
chown -R librenms:librenms /opt/librenms
chmod 770 /opt/librenms
chgrp apache /var/lib/php/session/

640.jpg

4、切换到librenms用户,配置php环境

su - librenms
./scripts/composer_wrapper.php install --no-dev
exit

640.jpg

640.jpg

640.jpg


5、配置数据库


systemctl start mariadb
mysqladmin -u root password 'MySQL@2021'
mysql -u root -pMySQL@2021
登录数据库并创建如下数据库表
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'librenms@2021';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
exit

640.jpg

vi /etc/my.cnf
[mysqld]下加入如下两行
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
systemctl enable mariadb
systemctl restart mariadb

640.jpg

6、配置php环境

vi /etc/php.ini
修改时区配置如下
date.timezone = Asia/Shanghai

640.jpg

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

640.jpg640.jpg


7、配置nginx

vi /etc/nginx/conf.d/librenms.conf
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;
 }
}
并删掉/etc/nginx/nginx.conf中server段默认配置
systemctl enable nginx
systemctl restart nginx

640.jpg

640.jpg

8、snmpd配置


cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
vi /etc/snmp/snmpd.conf中团体名,例如librenms
com2sec readonly  default      librenms
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

640.jpg

9、crond配置与logrotated配置

cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

10、登录web界面,添加监控设备,功能界面体验


监控设备的snmpd可以参考之前文章

640.jpg

640.jpg

640.jpg

640.jpg

640.jpg

640.jpg640.jpg

640.jpg

640.jpg640.jpg

640.jpg

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
13天前
|
机器学习/深度学习 SQL 运维
网络安全中的入侵检测与防御系统技术探讨
【7月更文挑战第8天】 入侵检测与防御系统是网络安全的重要组成部分,它们通过实时监测和防御网络及系统中的恶意行为,为网络安全提供了重要保障。随着技术的不断发展,IDPS将在未来发挥更加重要的作用,为我们构建一个更加安全、可信的网络环境。
|
12天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的网络在线考试系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的网络在线考试系统附带文章源码部署视频讲解等
12 0
基于springboot+vue.js+uniapp的网络在线考试系统附带文章源码部署视频讲解等
|
5天前
|
Python
智能卡系统工程是一个涉及多个方面的复杂系统,包括硬件(如读卡器、智能卡)、软件(如读卡器驱动程序、智能卡操作系统和应用软件)以及网络通信等。
智能卡系统工程是一个涉及多个方面的复杂系统,包括硬件(如读卡器、智能卡)、软件(如读卡器驱动程序、智能卡操作系统和应用软件)以及网络通信等。
|
10天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的网络安全科普系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的网络安全科普系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
1月前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
57 1
|
4天前
|
Shell Linux C语言
|
1天前
|
网络协议 Ubuntu Linux
|
9天前
|
Linux
linux网络统计信息和端口占用情况基本语法
linux网络统计信息和端口占用情况基本语法
|
16天前
|
网络协议 安全 Ubuntu
7 个有用的免费 Linux 网络隧道
【7月更文挑战第4天】
55 0
7 个有用的免费 Linux 网络隧道
|
28天前
|
安全 物联网 Linux
学习Linux对网络安全的重要性
**学习Linux对网络安全至关重要:** 1. 开源操作系统广泛应用于服务器、网络设备,掌握Linux是安全专家必备技能。 2. Linux内置安全特性,如最小权限和防火墙,加上丰富的安全工具,提供强大保障。 3. 可定制性允许灵活配置,满足安全需求,开源社区提供持续更新和教育资源。 4. 学习Linux能提升攻防能力,用于系统加固和渗透测试,适应跨平台安全场景。 5. 随着云计算和物联网发展,Linux在网络安全中的角色日益关键。
54 3