Поиск по сайту:

Как установить LibreNMS на Debian 11


На этой странице

  1. Предпосылки
  2. Установка зависимостей пакетов
  3. Настройка новых пользовательских библиотек
  4. Настройка системы часовых поясов и PHP
  5. Настройка MariaDB и создание базы данных
  6. Создание нового пула PHP-FPM
  7. Загрузить LibreNMS
  8. Установка зависимостей LibreNMS PHP
  9. Настройка Nginx для LibreNMS
  10. Начать установку LibreNMS
    1. - исправлен часовой пояс базы данных.
    2. - Исправление системных ошибок

    LibreNMS — это система мониторинга сети с открытым исходным кодом, основанная на PHP и поддерживающая автообнаружение. Это ответвление сообщества программного обеспечения для мониторинга Observium, выпущенное под лицензией GPLv3. Использование 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, обеспечивающее основные функции.

    В этом руководстве вы узнаете, как установить и настроить инструмент мониторинга LibreNMS на Debian 11 Bullseye.

    Предпосылки

    Чтобы завершить это руководство, убедитесь, что у вас есть следующие требования:

    • Операционная система: Debian 11 Bullseye
    • Привилегии root

    Теперь приступим к установке.

    Установка зависимостей пакетов

    На этом первом этапе вы будете устанавливать основные и необходимые пакеты для 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.

    1. Выполните следующую команду, чтобы создать нового пользователя librenms.

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

    Опции, которые вы должны знать:

    • -d /opt/librenms: настроить домашний каталог по умолчанию для пользовательских librenms на /opt/librenms.
    • -M: не создавать домашний каталог для пользовательских librenms.
    • -r: сделать этого пользователя librenms системным пользователем.
    • -s \$ (какой bash)\: установить оболочку по умолчанию для пользовательских библиотек. Оболочка будет выводом команды, которая bash.

    2. Затем создайте новый пароль для пользовательских librenms, используя следующую команду.

    passwd librenms

    Введите новый надежный пароль и повторите.

    Перейдите к следующему этапу, чтобы настроить систему для установки LibreNMS.

    Настройка системы часовых поясов и PHP

    Время — неотъемлемая часть мониторинга. На этом шаге вы настроите часовой пояс по умолчанию для вашего PHP и системный часовой пояс, убедитесь, что оба часовых пояса (PHP и системный) синхронизированы и используют один и тот же часовой пояс.

    1. Отредактируйте файл конфигурации php.ini для PHP-FPM и CLI с помощью следующей команды.

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

    Раскомментируйте параметр date.timezone и укажите после него свой часовой пояс. В этом примере использовался часовой пояс Европа/Париж.

    date.timezone = Europe/Paris

    Сохраните обе конфигурации и выйдите.

    2. Теперь перезапустите PHP-FPM, чтобы применить новую конфигурацию, используя следующую команду.

    sudo systemctl restart php7.4-fpm

    3. После этого выполните приведенную ниже команду timedatectl, чтобы установить системный часовой пояс по умолчанию на Европа/Париж.

    sudo timedatectl set-timezone Europe/Paris

    Вы завершили настройку часового пояса для вашего PHP и системы.

    Настройте MariaDB и создайте базу данных

    На этом этапе вы добавите конфигурацию для MariaDB в соответствии с требованиями LibreNMS, а затем создадите новую базу данных MariaDB и пользователя для установки LibreNMS.

    1. Отредактируйте конфигурацию сервера MariaDB /etc/mysql/mariadb.conf.d/50-server.cnf с помощью редактора nano.

    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. Затем войдите в оболочку MariaDB/MySQL, используя команду mysql от имени пользователя root, как показано ниже.

    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.

    Теперь вы создали базу данных и пользователя для установки LibreNMS.

    Создайте новый пул PHP-FPM

    FastCGI Process Manager (FPM) или PHP-FPM позволяет вам настраивать пул для ваших PHP-приложений. По умолчанию PHP-FPM запускает пул www с конфигурацией /etc/php/7.4/fpm/pool.d/www.conf.

    На этом этапе вы создадите новый пользовательский пул PHP-FPM для LibreNMS. Вы создадите новый пул PHP-FPM librenms с конфигурацией /etc/php/7.4/fpm/pool.d/librenms.conf и будете работать под пользователь 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. Отредактируйте пользовательскую конфигурацию пула librenms.conf с помощью редактора nano.

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

    В верхней части строки измените пользователя по умолчанию с [www] на [librenms].

    [librenms]

    Измените пользователя и группу по умолчанию на librenms.

    user = librenms
    group = librenms

    Измените файл носка PHP-FPM по умолчанию на /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.

    4. Проверьте файл sock librenms с помощью следующей команды.

    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 и загрузите исходный код LibreNMS с помощью команды git, как показано ниже.

    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. Затем настройте списки контроля доступа (ACL) для каталога установки LibreNMS. Позволяет группе читать и выполнять выполнение в каждом каталоге ниже, используя следующую команду 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/

    Перейдите к следующему шагу по установке зависимостей PHP для LibreNMS.

    Установка PHP-зависимостей LibreNMS

    Чтобы установить зависимости LibreNMS PHP, вы должны войти в систему как пользователь librenms и использовать composer_wrapper, который включен в исходный код LibreNMS.

    1. Войдите в систему как пользователь librenms, используя следующую команду.

    su - librenms

    2. Выполните скрипт PHP composer_wrapper.php, чтобы установить зависимости пакетов PHP для LibreNMS.

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

    3. После завершения всех процессов загрузки введите exit и нажмите Enter, чтобы выйти из системы пользователя librenms.

    Теперь вы завершили установку зависимостей PHP для LibreNMS.

    Настройка Nginx для LibreNMS

    На этом этапе вы создадите новый блок сервера Nginx для инструмента мониторинга LibreNMS. В этом примере будет использоваться доменное имя librenms.example.io.

    1. Создайте новую конфигурацию блоков сервера Nginx librenms с помощью редактора nano.

    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

    Теперь вы завершили настройку блока сервера Nginx для LibreNMS. Вы готовы начать установку LibreNMS.

    Начать установку LibreNMS

    Чтобы начать установку LibreNMS, откройте веб-браузер и введите доменное имя LibreNMS в адресной строке.

    1. Вы увидите проверки перед установкой LibreNMS. Убедитесь, что все проверки отмечены зеленым цветом, затем щелкните базу данных значков, чтобы продолжить.

    2. Введите базу данных, пользователя и пароль. Затем нажмите кнопку Проверить учетные данные.

    Это выполнит проверку вашей базы данных и пользователя MariaDB. В случае успеха вы увидите зеленую отметку в учетных данных базы данных.

    3. Теперь нажмите кнопку «Создать базу данных», чтобы импортировать схему базы данных для вашей LibreNMS.

    После завершения настройки базы данных убедитесь, что оба раздела «Учетные данные базы данных» и «Сборка базы данных» отмечены зеленым цветом.

    4. Теперь щелкните значок ключа, чтобы продолжить.

    Введите нового пользователя, пароль и адрес электронной почты, чтобы создать пользователя-администратора LibreNMS.

    Нажмите кнопку Добавить пользователя.

    Если ваш пользователь-администратор создан, вы увидите своего пользователя-администратора на странице, как показано ниже.

    5. Щелкните значок метки, чтобы завершить установку. Ниже приведен результат, который вы получите.

    Чтобы завершить установку LibreNMS, откройте страницу проверки LibreNMS, как показано ниже.

    6. И вы будете перенаправлены на страницу входа в LibreNMS.

    Введите имя пользователя и пароль администратора, затем нажмите кнопку «Войти».

    7. На страницах проверки LibreNMS вы увидите некоторые ошибки, как показано ниже.

    У вас могут быть разные ошибки, но страница проверки LibreNMS предоставляет решения для вашей ошибки.

    8. Ниже приведены некоторые ошибки в нашей установке и способы их исправления.

    - Исправлен часовой пояс базы данных

    Войдите в оболочку MariaDB, используя своего пользователя root.

    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

    Включите завершение bash для команды lnms.

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

    Наконец, скопируйте конфигурацию logrotate для LibreNMS в каталог /etc/logrotate.d/.

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

    9. После исправления ошибок LibreNMS вернитесь к страницам проверки LibreNMS и перезагрузите страницу.

    Теперь убедитесь, что все состояния в порядке.

    10. Щелкните меню Обзор, чтобы отобразить панель мониторинга.

    Теперь вы завершили установку LibreNMS на Debian 11 Bullseye.

    Заключение

    Поздравляем! Вы успешно установили инструмент мониторинга LibreNMS с базой данных Nginx, PHP-FPM и MariaDB на последнюю версию Debian 11 Bullseye. Кроме того, вы узнали, как создать собственный пул PHP-FPM и исправить некоторые ошибки установки LibreNMS.

    На следующем этапе вы узнаете, как добавлять хосты для мониторинга в инструмент мониторинга LibreNMS.