LibreNMS简介

1 LibreNMS简单介绍

1.1 LibreNMS介绍

LibreNMS 是一个开源的网络监控系统,它基于 Nagios 的核心,提供了一个功能丰富的网络监控解决方案。LibreNMS 旨在提供一个简单易用且高效的系统,用于监控网络设备,包括交换机、路由器、防火墙等。它能够自动发现网络设备,收集详细性能数据,并提供直观的报警和报告功能。
特点:

  • 自动化发现:LibreNMS 可以自动扫描 IP 范围并识别网络上的设备,包括路由器、交换机、服务器等。
  • 全面监控:它可以收集各种性能指标,如 CPU、内存使用率、带宽利用率、接口状态等。
  • 实时告警:当设备或服务出现异常时,LibreNMS 可以发送邮件、短信或 Slack 等通知,确保及时响应。
  • 灵活的报表:系统提供了丰富的图表和报表,帮助分析网络行为和趋势。
  • API 接口:通过 RESTful API,可以与其他系统集成,实现自动化管理和自定义扩展。
  • 易于扩展:由于使用 Docker 容器化部署,添加额外的服务(如第三方集成或插件)十分方便。

2 安装

2.1 Ubuntu安装

1、安装依赖

# 
apt install acl curl fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php-cli php-curl php-fpm php-gd php-gmp php-json php-mbstring php-mysql php-snmp php-xml php-zip rrdtool snmp snmpd unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip whois traceroute -y

2、添加 librenms 用户

mkdir /opt/librenms
useradd librenms -d /opt/librenms -M -r -s "$(which bash)"

3、下载 LibreNMS

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

4、设置权限

chown -R librenms:librenms /opt/librenms
chmod 771 /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/

5、安装 PHP 依赖项

su - librenms
./scripts/composer_wrapper.php install --no-dev
exit
# 有时,当使用代理来访问互联网时,上述脚本可能会失败。解决方法是手动安装软件包。对于全局安装:composer
wget https://getcomposer.org/composer-stable.phar
mv composer-stable.phar /usr/bin/composer
chmod +x /usr/bin/composer

6、设置时区

vi /etc/php/8.1/fpm/php.ini
date.timezone = Asia/Shanghai
vi /etc/php/8.1/cli/php.ini
date.timezone = Asia/Shanghai

timedatectl set-timezone Asia/Shanghai

7、配置 MariaDB

vi /etc/mysql/mariadb.conf.d/50-server.cnf
# 添加
[mysqld]
innodb_file_per_table=1
lower_case_table_names=0
# 重启
systemctl enable mariadb
systemctl restart mariadb
## 进入数据库进行配置
mysql -u root
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'root123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
flush privileges;
exit

8、配置 PHP-FPM

cp /etc/php/8.1/fpm/pool.d/www.conf /etc/php/8.1/fpm/pool.d/librenms.conf
vi /etc/php/8.1/fpm/pool.d/librenms.conf
### 
更改为 :[www][librenms]
[librenms]

更改为“librenms”:usergroup
user = librenms
group = librenms

# 更改为必须与 Web 服务器配置匹配的唯一路径
listen = /run/php-fpm-librenms.sock
;listen = /run/php/php8.1-fpm.sock

9、配置 Web 服务器

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 ~ [^/]\.php(/|$) {
  fastcgi_pass unix:/run/php-fpm-librenms.sock;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  include fastcgi.conf;
 }
 location ~ /\.(?!well-known).* {
  deny all;
 }
}


rm /etc/nginx/sites-enabled/default
systemctl restart nginx
systemctl restart php8.1-fpm

10、启用 lnms 命令

ln -s /opt/librenms/lnms /usr/bin/lnms
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

11、配置 snmpd

cp /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
systemctl status snmpd.service

12、cron

cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms

13、启用调度程序

cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/

systemctl enable librenms-scheduler.timer
systemctl start librenms-scheduler.timer

14、日志配置

LibreNMS 将日志保存在 /opt/librenms/logs 目录下。随着时间的推移,这些日志文件可能会变得很大,并需要进行日志轮转(即删除旧日志或将其移动到其他位置)。为了轮转旧的日志文件,可以使用提供的 logrotate 配置文件。

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

15、登录

地址:ip
在这里插入图片描述

直接选择数据库图标,输入密码,点击”check Credentials“
在这里插入图片描述

选择”build Database“
在这里插入图片描述

创建admin用户
在这里插入图片描述在这里插入图片描述

进行简单设置
在这里插入图片描述
在这里插入图片描述

16、设置中文

在这里插入图片描述
在这里插入图片描述

2.2 Docker环境下的安装

前提:Docker、docker-compose 已经安装完成

# 1、下载
mkdir librenms
cd librenms
wget https://github.com/librenms/docker/archive/refs/heads/master.zip
unzip master.zip
cd docker-master/examples/compose
 
# 2、设置新的MySQL 密码
vim  .env 
MYSQL_PASSWORD=asyourpasswd

# 3、启动 docker 容器
sudo docker-compose -f compose.yml up -d

登录:ip:8000

### CentOS 镜像中 README 文件的作用 README 文件通常作为文档的一部分,在操作系统或软件包的分发过程中起到指导和说明的作用。对于 CentOS 的镜像而言,其 README 文件的主要意义在于提供关于该版本的操作系统的关键信息以及安装指南。 #### 1. 提供版本信息 README 文件会明确指出当前镜像是哪个具体版本的 CentOS,例如 `CentOS Linux release 7.9.2009 (Core)`[^1]。这有助于用户确认所下载的是正确的发行版,并了解与其兼容的硬件和软件环境。 #### 2. 描述安装前准备事项 在实际部署之前,用户可能需要完成一些必要的准备工作,比如安装工具 Git 或者其他依赖项。这些内容往往会在 README 中有所提及,帮助新手快速上手。 #### 3. 解决常见问题 针对可能出现的问题,如文件上传验证通过后的反馈机制——返回文件名表示成功[^2];或者如何正确配置服务端口映射等复杂场景下的解决方案也可能被记录下来以便查阅。 #### 4. 列举第三方库源地址 有时为了扩展功能,官方文档还会给出获取额外资源的方法论实例:“`wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz`” 就是用来示范怎样从外部站点拉取所需组件的例子之一[^3]。 #### 5. 展示高级设置教程 除了基本操作外,更深入的技术细节也会包含其中,例如为了让 NVM 成为全局变量而修改特定路径下的脚本文件 `/etc/profile.d/nvm.sh` [^4] ,或者是利用 FTP 协议传输大容量数据时推荐采用 Binary Mode 来保持文件完整性[^5]。 综上所述,README 不仅是一个简单的介绍性文本,更是连接开发者与最终用户的桥梁,它承载着丰富的背景资料和技术支持,使得整个安装过程更加顺畅高效。 ```bash # 示例命令展示如何查看本地是否存在类似的 readme 文档 ls /path/to/your/downloaded/image/*.txt | grep -i "readme" cat /path/to/found/readme.txt ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值