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

重启数据库服务:

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

返回到您的根目录。

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 的预安装检查

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

配置数据库

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

建立数据库

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

创建管理员用户
完成安装

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

验证错误

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

LibreNMS在Ubuntu 22.04上安装完成

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

 

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


发表评论