如何在 Debian 11 上安装 LibreNMS如何在 Debian 11 上安装 LibreNMS如何在 Debian 11 上安装 LibreNMS如何在 Debian 11 上安装 LibreNMS
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 11 上安装 LibreNMS

在此页

  1. 先决条件
  2. 安装依赖包
  3. 设置新用户库
  4. 设置时区系统和 PHP
  5. 设置 MariaDB 并创建数据库
  6. 创建一个新的 PHP-FPM 池
  7. 下载 LibreNMS
  8. 安装 LibreNMS PHP 依赖项
  9. 为 LibreNMS 配置 Nginx
  10. 开始安装 LibreNMS
    1. - 修复数据库时区
    2. - 修复系统错误

    LibreNMS 是一个基于 PHP 并具有自动发现支持的开源网络监控系统。它是在 GPLv3 许可下发布的 Observium 监控软件的社区分支。使用 LibreNMS,您可以监控 Linux、Windows 和 BSD 等操作系统,它还支持来自 Aruba、Cisco、Dell、D-Link、HP、Mikrotik 等多家供应商的各种网络硬件。

    作为一个功能齐全的监控系统,LibreNMS 提供了丰富的功能,具有多种集成和多种协议数据收集功能。

    以下是 LibreNMS 的一些显着特性:

    • 使用 CDP、BGP、SNMP、OSPF 和 ARP 等多种协议自动发现您的整个网络。
    • 使用电子邮件、slacks、IRC、Rocket.chat、Telegram 等的多种警报方法。
    • 用于管理、绘制图表和从您的监控系统检索数据的广泛 API。
    • 支持计费系统,根据网络使用或传输生成带宽账单。
    • 支持多种身份验证方法,例如 MySQL、Radius、LDAP、HTTP 和 Active Directory。
    • 支持双因素身份验证
    • 与 Graylog、NfSen、Nagios 插件、Oxidized、RANCID 等第三方应用程序的多种集成。
    • 广泛支持硬件供应商,请在此处查看您的供应商。
    • 用户友好且可自定义的仪表板。
    • 让您的 LibreNMS 软件保持自动更新支持。
    • Android 和 iOS 原生应用,提供核心功能。

    在本指南中,您将学习如何在 Debian 11 Bullseye 上安装和配置 LibreNMS 监控工具。

    先决条件

    要完成本指南,请确保您满足以下要求:

    • 操作系统:Debian 11 Bullseye
    • 根权限

    现在让我们开始安装。

    安装包依赖

    在这第一步中,您将为 LireNMS 安装基本和必要的软件包。您将安装 LEMP 堆栈、Python 包、snmpd 和其他系统实用程序,例如 curl、fping、git 和 imagemagick。

    1. 使用以下命令刷新和更新 Debian 存储库。

    sudo apt update

    2. 现在执行以下命令来安装软件包依赖项。

    sudo apt install acl curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-gmp php7.4-json php7.4-mbstring php7.4-mysql php7.4-snmp php7.4-xml php7.4-zip python3-dotenv python3-pymysql python3-redis python3-setuptools python3-pip python3-systemd rrdtool snmp snmpd whois

    输入 y 确认安装,然后按 Enter 继续。

    3. 包依赖安装完成后,执行以下命令启动并启用Nginx、MariaDB、PHP-FPM、snmpd等服务。

    sudo systemctl enable --now nginx
    sudo systemctl enable --now mariadb
    sudo systemctl enable --now php7.4-fpm
    sudo systemctl enable --now snmpd.service

    现在您已经完成了 LibreNMS 依赖包的安装。

    设置新用户 librenms

    在此步骤中,您将创建一个新的系统用户 librenms。您的 LibreNMS 监控工具将在 librenms 用户下运行。

    1.执行以下命令创建一个新的librenms用户。

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

    您必须知道的选项:

    • -d /opt/librenms: 将用户 librenms 的默认主目录设置为 /opt/librenms。
    • -M: 不要为用户 librenms 创建主目录。
    • -r: 将此用户 librenms 设置为系统用户。
    • -s \$ (which bash)\:为用户 librenms 设置默认 shell。 shell 将是命令 which bash 的输出。

    2. 接下来,使用以下命令为用户 librenms 创建一个新密码。

    passwd librenms

    输入一个新的强密码并重复。

    继续下一阶段,为 LibreNMS 安装配置您的系统。

    设置时区系统和 PHP

    时间是监控的重要组成部分。在此步骤中,您将为 PHP 和系统时区设置默认时区,确保两个(PHP 和系统)时区同步并使用相同的时区。

    1. 使用以下命令编辑 PHP-FPM 和 CLI 的配置 php.ini。

    sudo nano /etc/php/7.4/fpm/php.ini
    sudo nano /etc/php/7.4/cli/php.ini

    取消注释选项 date.timezone 并将您的时区放在它后面。对于此示例,我们使用时区 Europe/Paris。

    date.timezone = Europe/Paris

    保存两个配置并退出。

    2. 现在重新启动 PHP-FPM 以使用以下命令应用新配置。

    sudo systemctl restart php7.4-fpm

    3. 之后,执行下面的timedatectl 命令将默认系统时区设置为Europe/Paris。

    sudo timedatectl set-timezone Europe/Paris

    您已经完成了 PHP 和系统的时区配置。

    设置 MariaDB 并创建数据库

    在此步骤中,您将为 MariaDB 添加配置作为 LibreNMS 的要求,然后为 LibreNMS 安装创建一个新的 MariaDB 数据库和用户。

    1. 使用 nano 编辑器编辑 MariaDB 服务器配置 /etc/mysql/mariadb.conf.d/50-server.cnf。

    sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

    在 [mysqld] 部分下添加以下配置。

    [mysqld]
    .....
    ....
    innodb_file_per_table=1
    lower_case_table_names=0

    保存配置并退出。

    2. 要应用新的 MariaDB 配置,请使用下面的 systemctl 命令重新启动服务。

    sudo systemctl restart mariadb

    现在您已经向 MariaDB 服务器添加了额外的配置。

    3. 接下来,以 root 用户身份使用命令 mysql 登录 MariaDB/MySQL shell,如下所示。

    mysql -u root -p

    输入您的密码或按 Enter 键登录。

    4. 现在执行以下 MariaDB 查询以创建新数据库和用户 librenms。并确保使用您的强密码更改密码 LibreNMSPassword。

    CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'LibreNMSPassword';
    GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
    FLUSH PRIVILEGES;

    键入 exit 并按 Enter 从 MariaDB shell 注销。

    现在您已经为 LibreNMS 安装创建了数据库和用户。

    创建一个新的 PHP-FPM 池

    FastCGI 进程管理器 (FPM) 或 PHP-FPM 允许您为 PHP 应用程序自定义池。默认情况下,PHP-FPM 使用配置 /etc/php/7.4/fpm/pool.d/www.conf 运行 www 池。

    在他的步骤中,您将为 LibreNMS 创建一个新的自定义 PHP-FPM 池。您将使用配置 /etc/php/7.4/fpm/pool.d/librenms.conf 创建一个新的 PHP-FPM 池 librenms,并将运行在用户 librenms。

    1. 首先,使用以下命令将默认池配置 www.conf 复制到 librenms.conf。

    cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf

    2. 使用 nano 编辑器编辑自定义 librenms.conf 池配置。

    sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf

    在该行的顶部,将默认用户从 [www] 更改为 [librenms]。

    [librenms]

    将默认用户和组更改为 librenms。

    user = librenms
    group = librenms

    将默认的 PHP-FPM sock 文件更改为 /run/php-fpm-librenms.sock。

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

    保存配置并退出。

    3. 接下来,重新启动 PHP-FPM 服务以应用新配置。

    sudo systemctl restart php7.4-fpm

    现在 PHP-FPM 将使用 sock 文件 /run/php/php-fpm-librenms.sock 生成新的池 librenms。

    4. 使用以下命令验证 librenms sock 文件。

    ss -anl | grep librenms

    您将看到类似如下的输出。

    u_str LISTEN 0      511                /run/php/php-fpm-librenms.sock 69199                  * 0     users:(("php-fpm7.4",pid=26105,fd=10),("php-fpm7.4",pid=26104,fd=10),("php-fpm7.4",pid=26103,fd=7))

    现在您已准备好下载并安装 LibreNMS 监控工具。

    下载 LibreNMS

    在此步骤中,您将下载 LibreNMS 源代码并为其设置权限和访问控制。

    1. 将您的工作目录更改为 /opt 并使用 git 命令下载 LibreNMS 源代码,如下所示。

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

    您的 LibreNMS 安装是 /opt/librenms 目录。

    2. 使用以下命令更改 LibreNMS 安装的所有权和权限。

    chown -R librenms:librenms /opt/librenms
    chmod 771 /opt/librenms

    3. 接下来,为 LibreNMS 安装目录设置访问控制列表 (ACL)。允许该组使用以下 setfacl 命令在下面的每个目录上执行读写操作。

    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/

    继续下一步,为 LibreNMS 安装 PHP 依赖项。

    安装 LibreNMS PHP 依赖项

    要安装 LibreNMS PHP 依赖项,您必须以用户 librenms 身份登录并使用包含在 LibreNMS 源代码中的 composer_wrapper。

    1. 使用以下命令以用户 librenms 身份登录。

    su - librenms

    2. 执行 PHP 脚本 composer_wrapper.php 为 LibreNMS 安装 PHP 包依赖项。

    ./scripts/composer_wrapper.php install --no-dev

    3. 所有下载过程完成后,键入 exit 并按 Enter 从用户 librenms 注销。

    现在您已经完成了 LibreNMS 的 PHP 依赖项的安装。

    为 LibreNMS 配置 Nginx

    在此步骤中,您将为 LibreNMS 监控工具创建一个新的 Nginx 服务器块。此示例将使用域名 librenms.example.io。

    1. 使用 nano 编辑器创建一个新的 Nginx 服务器块配置 librenms。

    sudo nano /etc/nginx/sites-available/librenms

    复制并粘贴以下配置。并确保使用您的域更改域名。

    server {
     listen      80;
     server_name librenms.example.io;
     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;
     }
    }

    对于安全的 HTTPS LibreNMS 安装,请使用以下配置。并确保更改 SSL 证书的域名和路径。

    server {
        listen      80;
        server_name librenms.example.io;
        rewrite     ^   https://$server_name$request_uri? permanent;
    }

    server {

     server_name librenms.example.io;
     root        /opt/librenms/html;
     index       index.php;

       listen 443 ssl http2;
        server_name example.io;
        ssl_certificate           /etc/letsencrypt/live/librenms.example.io/fullchain.pem;
        ssl_certificate_key       /etc/letsencrypt/live/librenms.example.io/privkey.pem;

        ssl_session_cache  builtin:1000  shared:SSL:10m;
        ssl_protocols TLSv1.2;
        ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
        ssl_prefer_server_ciphers on;

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

    现在保存配置并退出。

    2. 接下来,激活新的虚拟主机 librenms 并使用以下命令验证 nginx 配置。

    sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
    sudo nginx -t

    如果您的配置正确,您将看到输出消息,例如测试成功。

    3. 最后,重启nginx 服务以应用新配置。

    sudo systemctl restart nginx

    现在您已经完成了 LibreNMS 的 Nginx 服务器块配置。您已准备好开始 LibreNMS 安装。

    开始安装 LibreNMS

    要开始安装 LibreNMS,请打开 Web 浏览器并在地址栏中输入 LibreNMS 域名。

    1. 您将看到 LibreNMS 安装前检查。确保所有检查状态标记为绿色,然后单击图标数据库继续。

    2. 键入您的数据库、用户和密码。然后单击按钮检查凭据。

    这将执行检查您的 MariaDB 数据库和用户。如果成功,您将在数据库凭据上看到绿色标记。

    3. 现在单击“构建数据库”按钮为您的 LibreNMS 导入数据库架构。

    数据库配置完成后,确保 Database Credentials 和 Build Database 两个部分都标记为绿色。

    4. 现在点击钥匙图标继续。

    键入新用户、密码和电子邮件地址以创建 LibreNMS 管理员用户。

    单击按钮添加用户。

    如果您的管理员用户已创建,您将在如下页面上看到您的用户管理员。

    5. 单击标记图标完成安装。以下是您将获得的输出。

    要完成 LibreNMS 安装,请打开 LibreNMS 验证页面,如下所示。

    6. 您将被重定向到 LibreNMS 登录页面。

    输入您的管理员用户和密码,然后单击“登录”按钮

    7. 在 LibreNMS 验证页面上,您将看到如下所示的一些错误。

    您可能遇到不同的错误,但 LibreNMS 验证页面为您的错误提供了解决方案。

    8. 以下是我们安装中的一些错误以及如何修复它们。

    - 修复数据库时区

    使用您的根用户登录到 MariaDB shell。

    mysql -u root -p

    将当前数据库更改为 librenms。

    use librenms;

    现在执行以下查询来修复数据库时区错误。

    SET TIME_ZONE='+00:00';
    ALTER TABLE `notifications` CHANGE `datetime` `datetime` timestamp NOT NULL DEFAULT '1970-01-02 00:00:00' ;
    ALTER TABLE `users` CHANGE `created_at` `created_at` timestamp NOT NULL DEFAULT '1970-01-02 00:00:01' ;

    - 修复系统错误

    使用以下命令将二进制命令 LibreNMS lnms 添加到 /usr/bin 目录。

    sudo ln -s /opt/librenms/lnms /usr/bin/lnms

    为命令 lnms 启用 bash 完成。

    sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

    最后,将 LibreNMS 的 logrotate 配置复制到目录 /etc/logrotate.d/。

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

    9. 修复 LibreNMS 错误后,返回 LibreNMS 验证页面并重新加载页面。

    现在确保所有状态都正常。

    10. 单击概览菜单以显示仪表板。

    现在您已经在 Debian 11 Bullseye 上完成了 LibreNMS 安装。

    结论

    恭喜!您已经在最新的 Debian 11 Bullseye 上成功安装了带有 Nginx、PHP-FPM 和 MariaDB 数据库的 LibreNMS 监控工具。此外,您还学习了如何创建自定义 PHP-FPM 池并修复 LibreNMS 安装的一些错误。

    下一步,您将学习如何将要监控的主机添加到 LibreNMS 监控工具。

©2015-2025 艾丽卡 support@alaica.com