如何安装和设置Librenms

如何安装和设置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 退出。

将 Mariadb 设置为 librenms ubuntu 22.04 或 20.04
如何安装和设置Librenms 11

重启数据库服务:

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]

改变 用户和组来自 数据wwwlibrenms

user = librenms
group = librenms

向下滚动并更新 到 libreNMS 套接字。

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

保存文件 – Ctrl + O, 按 进入 然后退出- Ctrl + X

适用于 Ubuntu 22.04 的 chnage PHP FPM libreNMS
如何安装和设置Librenms 12

返回到您的根目录。

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

首先,安装设置将检查软件所需的依赖项。

LibreNMS 的预安装检查
如何安装和设置Librenms 13

提供您在其中创建的 MariaDB 数据库的详细信息 步骤5 本文的。

配置数据库
如何安装和设置Librenms 14

连接到数据库后,单击“建立数据库“ 按钮。

建立数据库
如何安装和设置Librenms 15

创建一个Admin用户来登录LibreNMS的后端。

创建管理员用户
如何安装和设置Librenms 16
完成安装
如何安装和设置Librenms 17

LibreNMS 将验证并让您知道您的安装是否有一些改进或警告。

验证错误
如何安装和设置Librenms 18

最后,您将拥有 LibreNMS 仪表板来开始监控您的网络和设备。

LibreNMS在Ubuntu 22.04上安装完成
如何安装和设置Librenms 19

从 LibreNMS 的官方文档中进一步了解如何添加设备和处理 LibreNMS。

 

推荐:如何作为Windows应用程序安装和运行ChatGPT


发表评论