在 Debian 10/Debian 11 上安装和配置 LibreNMS |
LibreNMS 是一种基于 PHP/MySQL/SNMP 的自动发现网络监控工具,支持多种网络硬件和操作系统,包括 Cisco、Linux、FreeBSD、Juniper、Brocade、Foundry、HP 等。要在 Debian 10/Debian 11 Linux 系统上安装 LibreNMS,请按照以下步骤操作。
LibreNMS 的一些主要功能包括:
- 自动发现。
- 多种环境传感器支持。
- 警报。
- 多协议数据采集(STP、OSPF、BGP等)
- VLAN、ARP 和 FDB 表集合。
- 可定制的仪表板。
- 设备备份集成(氧化、RANCID)
- 分布式轮询。
第一步:安装所需的依赖包
我们需要安装 LibreNMS 运行所需的所有依赖包。
sudo apt update
sudo apt install software-properties-common
Debian 11:
sudo apt install curl acl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap python3-memcache python3-mysqldb python3-pip rrdtool snmp snmpd whois
Debian 10:
sudo apt install curl acl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap python-memcache python-mysqldb python-pip rrdtool snmp snmpd whois
第 2 步:安装 PHP 和所需的扩展
使用下面的指南在您的服务器上安装 PHP 7.3 和 PHP 扩展
- 如何在 Debian 上安装 PHP/PHP
要运行的命令是:
sudo apt -y install php php-common
sudo apt -y install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
步骤3:将librenms用户添加到系统中
在 Debian 10 终端上运行以下命令来添加 librenms 用户。
sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -aG librenms www-data
第 4 步:从 git 克隆 LibreNMS
现在让我们使用 git 将 LibreNMS 文件下载到我们的服务器中。
cd /opt
sudo git clone https://github.com/librenms/librenms.git
cd ~/
第 5 步:设置必要的权限
LibreNMS 用户需要对其要访问的目录和文件具有特殊权限。通过运行以下命令来设置它们
sudo chown -R librenms:librenms /opt/librenms
sudo chmod 770 /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
第6步:安装PHP依赖项
运行以下命令在 Debian 10 服务器上安装 PHP 所需的所有依赖项。这可能需要一段时间才能完成。
sudo su - librenms
./scripts/composer_wrapper.php install --no-dev
exit
您应该看到类似于下面的输出
第7步:数据库配置
我们在步骤 1 中安装了 MariaDB。让我们继续为 LibreNMS 创建数据库。
登录您的数据库
sudo systemctl enable mysql
sudo systemctl restart mysql
sudo mysql -u root -p
创建数据库和librenms用户
运行以下命令为 LibreNMS 创建数据库和用户:
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'SafePassWord'; ## Make it Strong
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
exit
打开 MariaDB 文件并在 [mysqld] 部分下添加以下行
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
在[mysqld]下添加以下内容
[mysqld]
innodb_file_per_table=1
lower_case_table_names=0
重新启动 MariaDB
sudo systemctl restart mysql
步骤8:配置PHP-FPM
让我们确保 php.ini 中的 date.timezone 设置为首选时区。
在 [Date] 下取消注释 date.timezone 行并添加您的时区。
$ sudo vim /etc/php/*/fpm/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Africa/Nairobi
$ sudo vim /etc/php/*/cli/php.ini
date.timezone = Africa/Nairobi
重启PHP-FPM
sudo systemctl restart php*-fpm.service
检查服务状态:
$ systemctl status php*-fpm.service
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-09-15 00:27:24 UTC; 23s ago
Docs: man:php-fpm7.4(8)
Process: 33765 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=exited, status=0/SUCCESS)
Main PID: 33761 (php-fpm7.4)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 2340)
Memory: 11.3M
CPU: 63ms
CGroup: /system.slice/php7.4-fpm.service
├─33761 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
├─33763 php-fpm: pool www
└─33764 php-fpm: pool www
Sep 15 00:27:24 debian-bullseye-01 systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
Sep 15 00:27:24 debian-bullseye-01 systemd[1]: Started The PHP 7.4 FastCGI Process Manager.
第 9 步:配置 Nginx Web 服务器
由于我们选择 Nginx 作为首选 Web 服务器,因此是时候添加配置以便我们开始提供 LibreNMS 页面服务。
删除全新安装 Nginx 后加载的默认页面
sudo rm /etc/nginx/sites-enabled/default
在 conf.d 目录下创建一个配置文件:
sudo vim /etc/nginx/conf.d/libreconfig.conf
修改域名时在其中添加以下内容
server {
listen 80;
server_name librenms.example.com; ## Input your Server name here.
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:/var/run/php/php-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
重启 Nginx
sudo systemctl restart nginx
步骤 10:配置 snmp 守护进程 (snmpd)
LibreNMS 广泛使用 SNMP 从远程设备和服务器收集指标。将示例配置文件复制到 /etc
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sudo vim /etc/snmp/snmpd.conf
在下面一行:
com2sec readonly default RANDOMSTRINGGOESHERE
##Change to for example:
com2sec readonly default teststring
将 RANDOMSTRINGGOESHERE 更改为您自己的社区字符串,如上所示。
拉取下面的文件,使其可执行并重新启动 snmp 守护进程
该文件检测哪个操作系统,如果是 Linux,那么它将检测哪个 Linux 发行版
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
sudo systemctl restart snmpd
第11步:复制logrotate配置
LibreNMS 将日志保存在 /opt/librenms/logs 中。随着时间的推移,它们可能会变大并被轮换。要轮换旧日志,您可以使用提供的 logrotate 配置文件:
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
第12步:设置Cron作业
这个 cron 作业做了很多事情,例如检查更新、自动发现设备等等。
sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
第 13 步:LibreNMS Web 安装程序
现在前往网络安装程序并按照屏幕上的说明进行操作。
http:// IP or FQDN /install.php
Web 安装程序可能会提示您在 librenms 安装位置手动创建一个 config.php 文件,将屏幕上显示的内容复制到该文件。如果您必须这样做,请记住在将屏幕内容复制到文件后设置 config.php 的权限。跑步:
sudo chown librenms:librenms /opt/librenms/config.php
按照安装过程进行操作,您可以查看下面的图像以获取指导。
输入您的数据库用户、数据库密码和数据库名称
给它一些时间导入数据库
添加稍后用于登录 LibreNMS 的用户。
生成配置
生成配置后,请运行以下命令
sudo chown librenms:librenms /opt/librenms/config.php
完成安装
单击“验证您的安装并修复任何问题”链接完成
一切完成后,当您刷新浏览器时,您应该会看到下面的登录页面。
推荐的 Linux 书籍:
- 适合初学者和专家的最佳 Linux 书籍
现在我们已经安装了 LibreNMS 监控工具,我们还有一些工作要做。它包括添加设备、创建警报、创建阈值、性能调整等等。我们希望该指南对您有所帮助,感谢您的光临。我们建议您阅读一些 LibreNMS 文档,以帮助您继续后续步骤。
您还可以浏览以下指南以供您享受。
- 如何在 CentOS 8/RHEL 8 上安装 LibreNMS
- 在 Debian 10 (Buster) 上安装和配置 Zabbix Server 4.4
- 使用 Letsencrypt 和 Nginx 在 CentOS 上安装 LibreNMS 监控工具
- 如何安装和配置 Zabbix 代理 Ubuntu 和 CentOS 7
- 在 Ubuntu 上安装 Zabbix 服务器
- 使用 Nginx 在 Ubuntu 上安装和配置 LibreNMS