如何安装和设置Librenms
我们只需要了解 Linux 命令的基本知识,就可以在 Ubuntu 22.04 或 20.04 Linux 服务器上安装 LibreNMS 来建立我们自己的网络监控系统。
LibreNMS 适合那些想要一个基于 Web 的开源 PHP 平台来监视和管理网络基础设施和设备的人。 其界面旨在为网络管理员和 IT 专业人员提供一站式场所来监控路由器、交换机、服务器和其他网络相关设备。
推荐:在Linux Debian 12/11上安装Vanilla TeX Live
LibreNMS 提供一系列特性和功能,例如:
- 自动设备发现
- 实时监控网络设备、服务和性能指标。
- 管理员可以跟踪关键参数,如带宽使用情况、CPU 利用率、内存使用情况等。
- 警报和通知
- 提供历史数据存储来分析趋势并解决过去的问题。
- 它提供了各种图形选项来可视化性能数据。
- 支持SNMP
- 提供与其他工具和服务的集成,包括 Slack 和 PagerDuty 等通知服务。
- 高度可定制
- 基于网络的用户界面
- 社区和开源
- 您可以通过插件和附加组件扩展 LibreNMS 的功能。
步骤 1. 先决条件 – 设置您的服务器环境
在执行之前 自由网络管理系统 安装时,您需要一个运行 Ubuntu Linux 的系统 须藤 权利和 互联网 联系。 除了我们需要的其余东西之外,我们还需要在本教程中学习如何设置 LAMP 服务器。
好吧,在继续之前,运行系统更新和升级命令:
sudo apt update && sudo apt upgrade
步骤 2. 在 Ubuntu 22.04 上安装 Apache 或 Nginx
用于安装 LibreNMS 的两个流行的 Web 服务器是 阿帕奇 和 nginx,您可以根据需要选择其中任何一个。 但是,在这里我们将同时使用两者来执行本教程,但您可以根据自己的喜好选择仅安装其中之一。
笔记:仅安装一台Web服务器Apache或Nginx:
对于 Nginx:
sudo apt install nginx
sudo systemctl enable --now nginx
对于阿帕奇:
sudo apt install apache2
sudo systemctl enable --now apache2
步骤 3. 安装 PHP、MariaDB 和依赖项
在这里,我们将安装 PHP、MariaDB 和其他必需的软件包,以便在 Ubuntu 22.04 或 20.04 上轻松设置 LibreNMS。 要安装所有这些,我们可以使用给定的命令:
sudo apt install acl curl nano composer 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-mysqli php-snmp php-xml php-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip
步骤 4. 为 LibreNMS 配置 MariaDB
在创建数据库之前,让我们配置MariaDB for LibreNMS,因此编辑数据库服务器的配置文件。
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
在下面 [mysqld]
添加以下行:
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
按保存文件 Ctrl + O, 类型 进入,并使用 Ctrl + X 退出。
重启数据库服务:
sudo systemctl restart mariadb
并启用相同的功能:
sudo systemctl enable mariadb
保护您的 MariaDB:
sudo mysql_secure_installation
按照引导向导,为数据库 root 用户创建密码并删除演示数据库,禁止远程登录和匿名用户。
步骤 5. 创建 LibreNMS 数据库
现在,让我们创建一个专用数据库来存储 LibreNMS 生成的数据。
sudo mysql
使用给定的命令创建数据库。
这里我们使用的是 数据库和用户名-librenms
,想用什么就用什么。 另外,不要忘记更换 password
与你想要设置的内容。
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;
设置 PHP 的时区:
sudo sed -i "s,;date.timezone =,date.timezone = \"Asia/Kolkata\",g" /etc/php/*/cli/php.ini
sudo sed -i "s,;date.timezone =,date.timezone = \"Asia/Kolkata\",g" /etc/php/*/fpm/php.ini
笔记: 改变 亚洲/加尔各答 根据您所在的国家/地区。 如果您不知道您所在时区的 PHP 值,请参阅 官方网站 就是为了它。
另外,相应地更改系统时区:
sudo timedatectl set-timezone Asia/Kolkata
sudo dpkg-reconfigure -f noninteractive tzdata
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p
sudo systemctl restart nginx mariadb
步骤 6. 在 Ubuntu 22.04/20.04 上下载 LibreNMS
LibreNMS 文件无法使用 Ubuntu 存储库下载,因此让我们直接从其 GitHub 存储库使用 Git 克隆它。
cd /opt
sudo git clone https://github.com/librenms/librenms.git
步骤 7. 添加 LibreNMS 用户
让我们创建一个只能访问 Librenms 文件的专用用户
sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
设置下载文件的权限:
sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /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/
第 8 步:在 Ubuntu 22.04 上安装 LibreNMS | 20.04
切换到LibreNMS创建的用户,然后安装该网络监控平台所需的PHP依赖项。
sudo -u librenms bash
cd
./scripts/composer_wrapper.php install --no-dev
exit
步骤 9. 为 LibreNMS 安装配置 PHP-FPM
通过复制现有配置文件为 LibreNMS 创建 PHP FPM 配置文件:
cd /etc/php/*/fpm/pool.d/
sudo cp www.conf librenms.conf
现在,编辑复制的文件
sudo nano librenms.conf
代替[www]
到 [librenms]
改变 用户和组来自 数据www 到 librenms
user = librenms
group = librenms
向下滚动并更新 听 到 libreNMS 套接字。
listen = /run/php-fpm-librenms.sock
保存文件 – Ctrl + O, 按 进入 然后退出- Ctrl + X。
返回到您的根目录。
cd
步骤 10:为 LibreNMS 配置 SNMPd
如果您不想启用 SNMP 支持,那么您现在可以跳过此步骤…
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sudo nano /etc/snmp/snmpd.conf
改变 随机字符串去这里 到 无论您想使用什么 SNMP 社区字符串 进而 节省 文件。
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
sudo systemctl enable snmpd
sudo systemctl restart snmpd
步骤11.创建Cron作业
如果您不设置 Cron 作业,那么在验证时您将看到以下两个错误:
失败:Python 包装器 cron 条目不存在并且失败:未检测到活动轮询方法
因此,请按照给定的命令进行操作
sudo cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms
编辑 cron 作业文件以自定义要执行的时间和任务。 您可以使用文本编辑器,例如 纳米 或者 六:
sudo nano /etc/cron.d/librenms
根据需要修改文件以定义您希望 LibreNMS 以特定时间间隔运行的任务。 例如,以下是每五分钟运行一次 LibreNMS 轮询的 cron 作业示例:
在文件末尾添加以下行:
*/5 * * * * librenms /opt/librenms/poller.php -h all >> /dev/null 2>&1
笔记:上面的条目运行 轮询器.php 每 5 分钟编写一次脚本,轮询所有设备,并将输出重定向到 /dev/null 以丢弃它。
保存文件 & 使用退出文本编辑器 Ctrl+O 并点击 进入 钥匙。
重新启动 cron 服务以应用更改:
sudo systemctl restart cron
启用调度程序
sudo cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/
sudo systemctl enable librenms-scheduler.timer
sudo systemctl start librenms-scheduler.timer
复制 Logrotate 配置
为了确保 LibreNMS 日志不会变得太大,请启用日志轮换:
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
还需要做一些其他事情:
创建全局lnms快捷方式:
sudo ln -s /opt/librenms/lnms /usr/local/bin/lnms
为 lnms 命令启用 Bash 补全:
sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
步骤 12. 创建虚拟主机配置
如果您一开始就安装了 Apache Web 服务器,则使用它,否则请使用 Nginx 主机配置文件:
笔记:根据您安装的配置仅使用一种网络服务器配置:
对于 Nginx Web 服务器用户(仅限)
如果您使用 Nginx,则使用给定的命令创建网站配置文件:
sudo nano /etc/nginx/conf.d/librenms.conf
添加以下行:
笔记: 代替 – librenms.example.com; 与您要使用的域名:
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;
}
}
节省 通过按该文件 Ctrl+X, 类型 是, 并点击 进入 钥匙。
删除Nginx默认的测试页面并重启Web服务器
rm /etc/nginx/sites-enabled/default
systemctl restart nginx
systemctl restart php8.1-fpm
对于 Apache Web 服务器用户(仅限):
要访问 LibreNMS Web 界面,我们需要告诉 Apache 服务器它的文件所在的位置。 为此,我们创建一个虚拟主机配置文件:
sudo nano /etc/apache2/sites-available/librenms.conf
添加以下行:
笔记: 将服务器名称替换为您的 IP地址 或者 完全限定域 名称如 librenms.your-domain.com
<VirtualHost *:80>
DocumentRoot /opt/librenms/html/
ServerName librenms.example.com
AllowEncodedSlashes NoDecode
<Directory "/opt/librenms/html/">
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
# Enable http authorization headers
<IfModule setenvif_module>
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<FilesMatch ".+\.php$">
SetHandler "proxy:unix:/run/php-fpm-librenms.sock|fcgi://localhost"
</FilesMatch>
</VirtualHost>
按保存文件 Ctrl + O, 按 进入 键,以及 Ctrl+X 退出。
禁用默认站点并启用新创建的站点
sudo a2dissite 000-default
sudo a2enmod proxy_fcgi setenvif rewrite
sudo a2ensite librenms.conf
重启服务:
sudo systemctl restart apache2
sudo systemctl restart php*-fpm
步骤 13. 访问 LibreNMS Web 界面
LibreNMS 配置完成后,转到系统浏览器并将其指向您使用的服务器 IP 地址或域名。
例如- http://服务器 IP 地址或 http://your-domain.com
首先,安装设置将检查软件所需的依赖项。
提供您在其中创建的 MariaDB 数据库的详细信息 步骤5 本文的。
连接到数据库后,单击“建立数据库“ 按钮。
创建一个Admin用户来登录LibreNMS的后端。
LibreNMS 将验证并让您知道您的安装是否有一些改进或警告。
最后,您将拥有 LibreNMS 仪表板来开始监控您的网络和设备。
从 LibreNMS 的官方文档中进一步了解如何添加设备和处理 LibreNMS。