Мониторинг. · 11 min read · Nov 16, 2025
Как установить решение для мониторинга LibreNMS на Rocky Linux

LibreNMS — это инструмент мониторинга, который поддерживает автоматическое обнаружение с помощью нескольких протоколов, включая SNMP, ARP, OSPF и BGP. Для мониторинга операционных систем вы можете использовать протокол SNMP, который доступен на большинстве ОС, включая Linux, Windows и BSD.
Существует три версии протокола SNMP: v1 и v2, которые защищены только паролем сообщества, и протокол v3, который поддерживает пароли для аутентификации и шифрования. Для производственной среды рекомендуется использовать протокол SNMP v3, который более безопасен, чем v2 и v1.
В этом руководстве вы узнаете, как установить инструмент мониторинга LibreNMS на сервер Rocky Linux. Это руководство включает установку стека LEMP (Nginx, MariaDB и PHP-FPM) и базовую конфигурацию службы SNMP.
В конце вы получите готовое к производству решение для мониторинга LibreNMS, и вы сможете просто добавить новый хост или сервер, или устройство для мониторинга в LibreNMS.
Предварительные требования
Чтобы завершить это руководство, вам понадобятся следующие требования:
- Сервер Rocky Linux — в этом примере используется Rocky Linux 8.
- Непользователь с правами sudo root/администратора.
- Локальное доменное имя для локального развертывания.
Настройка репозиториев
Перед тем как начать установку пакетов, вам нужно настроить репозитории на вашей системе Rocky Linux. Вам нужно будет добавить репозиторий EPEL (Дополнительные пакеты для корпоративного Linux) и репозиторий PHP Remi.
Запустите следующую команду dnf, чтобы добавить репозиторий EPEL в вашу систему.
sudo dnf install epel-releaseВведите Y, когда будет предложено подтвердить, и нажмите ENTER, чтобы продолжить.

Далее выполните следующую команду dnf, чтобы добавить репозиторий PHP Remi. Этот репозиторий предоставляет несколько версий PHP, включая последнюю версию PHP 8.1, которая необходима для установки LibreNMS.
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpmТеперь введите Y и нажмите ENTER, чтобы продолжить.

После добавления репозиториев EPEL и Remi проверьте, используя команду dnf ниже.
sudo dnf repolistВы должны увидеть, что репозитории EPEL и Remi добавлены и доступны на вашей системе Rocky Linux.
Установка зависимостей пакетов
После добавления репозиториев EPEL и Remi вы теперь начнете устанавливать зависимости пакетов для LibreNMS. Это включает стек LEMP, пакеты SNMP и некоторые базовые зависимости Python.
Перед началом установки выполните следующую команду, чтобы включить модуль репозитория PHP ‘remi-8.1‘. Последняя версия LibreNMS требует как минимум PHP 8.
sudo dnf reset php
sudo dnf module enable php:remi-8.1Введите y для подтверждения и включения репозитория PHP Remi 8.1.

Далее выполните следующую команду dnf для установки зависимостей пакетов для LibreNMS. Когда будет предложено подтвердить установку, введите y и нажмите ENTER, чтобы продолжить, и установка начнется.
sudo dnf install bash-completion cronie fping git ImageMagick mariadb-server mtr net-snmp net-snmp-utils nginx nmap php-fpm php-cli php-common php-curl php-gd php-gmp php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-devel python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip
После установки зависимостей выполните следующую команду, чтобы запустить и включить некоторые службы, такие как Nginx, MariaDB, PHP-FPM и snmpd.
sudo systemctl enable nginx php-fpm mariadb snmpd
sudo systemctl start nginx php-fpm mariadb snmpdНа этом этапе некоторые базовые службы Nginx, MariaDB, PHP-FPM и snmpd будут автоматически запущены при загрузке системы. И все эти службы работают.

Настройка Firewalld
В этом примере мы используем Rocky Linux с включенным firewalld. Теперь вы добавите как HTTP, так и HTTPS протоколы в firewalld.
Запустите следующую команду firewall-cmd, чтобы добавить службы HTTP и HTTPS в firewalld. Вы должны получить сообщение об успешном добавлении новой правила ‘ успех ‘.
sudo firewall-cmd --permanent --zone public --add-service http
sudo firewall-cmd --permanent --zone public --add-service httpsДалее перезагрузите firewalld, чтобы применить новые изменения. Затем проверьте статус firewalld, используя следующую команду.
sudo firewall-cmd --reload
sudo firewall-cmd --list-allВы получите вывод о том, что оба протокола HTTP и HTTPS добавлены в firewalld.

Скачивание исходного кода LibreNMS
На этом этапе вы скачаете исходный код LibreNMS с GitHub. Но перед этим вы также создадите нового выделенного пользователя ‘librenms‘, который будет использоваться для запуска приложения LibreNMS.
Запустите следующую команду, чтобы создать нового системного пользователя ‘librenms’. Этот пользователь будет использоваться для запуска приложения LibreNMS.
sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"Теперь переместите вашу рабочую директорию в ‘/opt’ и скачайте исходный код LibreNMS с помощью команды git ниже. Теперь у вас должна появиться новая директория ‘/opt/librenms‘, которая будет использоваться в качестве директории установки LibreNMS.
cd /opt
git clone https://github.com/librenms/librenms.git
Измените владельца и разрешения директории установки LibreNMS ‘/opt/librenms‘. Владельцем установки должен быть пользователь ‘librenms’, а также разрешение 771 позволит пользователю читать, записывать и выполнять в директории.
sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /opt/librenmsНаконец, выполните следующую команду, чтобы установить списки управления доступом для некоторых директорий LibreNMS. Это предоставит группе ‘librenms‘ право на чтение, запись и выполнение в некоторых конкретных директориях 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/Установка зависимостей PHP для LibreNMS
После загрузки исходного кода LibreNMS и настройки правильных разрешений вы теперь будете устанавливать зависимости PHP для LibreNMS.
Войдите как пользователь ‘librenms’ с помощью следующей команды.
su - librenmsТеперь установите зависимости PHP через скрипт установки, как показано ниже.
./scripts/composer_wrapper.php install --no-devТеперь вы увидите установку зависимостей PHP, которые необходимы для LibreNMS. Вы также увидите установку пакетов Python для LibreNMS.

После завершения установки зависимостей PHP вы можете выйти из пользователя ‘librenms‘, нажав ‘Ctrl+d‘ или вы можете ввести команду ‘exit‘.
Конфигурирование PHP-FPM
На этом этапе вы настроите установку PHP-FPM для LibreNMS. Вы измените конфигурацию по умолчанию ‘/etc/php.ini‘ и настроите конкретный пул PHP-FPM для LibreNMS.
Запустите следующую команду, чтобы установить правильный часовой пояс для вашей системы Rocky Linux.
sudo timedatectl set-timezone Europe/StockholmТеперь отредактируйте конфигурацию PHP ‘/etc/php.ini‘, используя следующий редактор nano.
sudo nano /etc/php.iniУберите комментарий с параметра ‘date.timezone’ и измените значение на текущий часовой пояс вашего сервера.
date.timezone = Europe/StockholmСохраните файл и закройте редактор, когда закончите.
Далее скопируйте конфигурацию пула PHP-FPM по умолчанию ‘www.conf‘ в ‘librenms.conf‘. В этом примере вы настроите конкретный пул PHP-FPM для инструмента мониторинга LibreNMS.
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.confТеперь отредактируйте конфигурацию пула PHP-FPM ‘/etc/php-fpm.d/librenms.conf‘, используя следующий редактор nano.
sudo nano /etc/php-fpm.d/librenms.confИзмените имя пула по умолчанию с ‘[www]‘ на ‘[librenms]‘.
[librenms]Измените пользователя и группу по умолчанию на ‘librenms‘. Это будет запускать процесс PHP-FPM от имени пользователя и группы ‘librenms‘.
user = librenms
group = librenmsНаконец, измените параметр listen на ‘/run/php-fpm-librenms.sock’. Это укажет файл сокета для пула PHP-FPM librenms.
listen = /run/php-fpm-librenms.sockСохраните файл и выйдите из редактора, когда закончите.
Теперь выполните следующую команду systemctl, чтобы перезапустить службу PHP-FPM и применить новые изменения.
sudo systemctl restart php-fpm
Конфигурирование сервера MariaDB
После того как вы настроили PHP-FPM, вы теперь будете настраивать сервер базы данных MariaDB и создавать новую базу данных и пользователя для LibreNMS.
LibreNMS требует сервер базы данных MariaDB с включенным InnoDB. Поэтому теперь вам нужно будет включить его. Затем вы создадите новую базу данных и пользователя для LibreNMS.
Отредактируйте конфигурацию сервера MariaDB ‘/etc/my.cnf.d/mariadb-server.cnf‘, используя следующий редактор nano.
sudo nano /etc/my.cnf.d/mariadb-server.cnfПоместите следующую конфигурацию в секцию ‘[mysqld]‘.
[mysqld]
....
innodb_file_per_table=1
lower_case_table_names=0Сохраните файл и выйдите из редактора, когда закончите.
Теперь выполните следующую команду systemctl, чтобы перезапустить службу MariaDB и применить новые изменения. Сервер MariaDB теперь работает с включенным движком базы данных InnoDB.
sudo systemctl restart mariadbДалее войдите в оболочку MariaDB с помощью команды mysql ниже. Когда будет предложено ввести пароль, вы можете просто нажать ENTER или ввести пароль root для MariaDB.
sudo mysql -u root -pВыполните следующие запросы, чтобы создать новую базу данных и пользователя для LibreNMS. В этом примере вы создадите новую базу данных и пользователя ‘librenms‘, и обязательно измените пароль базы данных на ваш пароль.
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;
Далее выполните следующий запрос, чтобы проверить привилегии для пользователя базы данных ‘librenms@localhost‘.
SHOW GRANTS FOR librenms@localhost;Вы должны увидеть, что пользователь ‘librenms’@localhost имеет привилегии на базу данных ‘librenms‘.

Теперь введите ‘exit‘, чтобы выйти из оболочки MariaDB.
Настройка серверных блоков Nginx
После того как вы настроили сервер MariaDB и создали базу данных и пользователя, вы теперь создадите новую конфигурацию серверного блока Nginx для LibreNMS.
Перед тем как начать, убедитесь, что вы решили, какое локальное доменное имя будет использоваться для LibreNMS. В этом примере LibreNMS должен работать с доменом ‘librenms.howtoforge.local‘.
Создайте новую конфигурацию серверного блока Nginx ‘/etc/nginx/conf.d/librenms.conf‘, используя следующий редактор nano.
sudo nano /etc/nginx/conf.d/librenms.confДобавьте следующую конфигурацию в файл и обязательно измените имя домена на ваше доменное имя.
server {
listen 80;
server_name librenms.howtoforge.local;
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;
}
}Сохраните файл и выйдите из редактора, когда закончите.
Далее выполните следующую команду, чтобы проверить конфигурацию Nginx и убедиться, что конфигурация правильная.
sudo nginx -tЕсли ваша конфигурация Nginx правильная, вы увидите сообщение об успешном тесте, например ‘ тест успешен - Синтаксис ОК ‘.
Теперь перезапустите службу Nginx, чтобы применить новую конфигурацию серверного блока.
sudo systemctl restart nginx
На этом этапе вы завершили настройку стека LEMP (Nginx, база данных MariaDB и PHP-FPM) для LibreNMS. Также LibreNMS теперь должен работать на вашей системе Rocky Linux.
Конфигурирование SELinux
Для этого руководства вы будете запускать LibreNMS с включенным SELinux в режиме принуждения. Поэтому теперь вы настроите правила SELinux для LibreNMS.
Для начала выполните следующую команду dnf, чтобы установить пакет ‘policycoreutils-python-utils‘ на вашу систему Rocky Linux. Этот пакет предоставляет несколько команд для управления SELinux.
sudo dnf install policycoreutils-python-utilsКогда будет предложено, введите y для подтверждения и нажмите ENTER, чтобы продолжить.

Далее выполните следующую команду, чтобы установить метки для исходного кода LibreNMS.
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(rrd|storage)(/.*)?'
semanage fcontext -a -t httpd_log_t "/opt/librenms/logs(/.*)?"
semanage fcontext -a -t bin_t '/opt/librenms/librenms-service.py'
restorecon -RFvv /opt/librenms
chcon -t httpd_sys_rw_content_t /opt/librenms/.env
Выполните следующую команду, чтобы разрешить доступ к некоторым службам для веб-сервера Nginx.
setsebool -P httpd_can_sendmail=1
setsebool -P httpd_execmem 1Теперь создайте новый файл ‘http_fping.tt’ с помощью следующего редактора nano.
nano http_fping.ttДобавьте следующую конфигурацию в файл.
module http_fping 1.0;
require {
type httpd_t;
class capability net_raw;
class rawip_socket { getopt create setopt write read };
}
#============= httpd_t ==============
allow httpd_t self:capability net_raw;
allow httpd_t self:rawip_socket { getopt create setopt write read };Сохраните файл и выйдите из редактора, когда закончите.
Далее выполните следующую команду, чтобы преобразовать ‘http_fping.tt‘ в формат для SELinux. Затем добавьте новое скомпилированное правило в SELinux.
checkmodule -M -m -o http_fping.mod http_fping.tt
semodule_package -o http_fping.pp -m http_fping.mod
semodule -i http_fping.pp
Теперь, когда вы завершили настройку SELinux для LibreNMS. Далее вы настроите некоторые дополнительные конфигурации для LibreNMS.
Завершение конфигураций LibreNMS
Чтобы завершить конфигурацию LibreNMS, вы теперь настроите команду ‘lnms‘, скопируете некоторые конфигурации по умолчанию LibreNMS, включая конфигурации для cron и logrotate. Также вы настроите службу SNMP для LibreNMS.
Выполните следующую команду, чтобы включить команду ‘lnms‘ и скопировать завершение bash для команды ‘lnms‘.
ln -s /opt/librenms/lnms /usr/bin/lnms
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/Скопируйте пример конфигурации cron LibreNMS в ‘/etc/cron.d/librenms‘.
sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenmsСкопируйте конфигурацию logrotate по умолчанию для LibreNMS в ‘/etc/logrotate.d/librenms‘.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Теперь скопируйте конфигурацию службы snmpd по умолчанию в ‘/etc/snmp/snmpd.conf’. Затем отредактируйте новый файл ‘/etc/snmp/snmpd.conf’ с помощью редактора nano.
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sudo nano /etc/snmp/snmpd.confИзмените пароль сообщества по умолчанию для службы snmpd ‘RANDOMSTRINGGOESHERE‘ на ваш пароль.
# Измените RANDOMSTRINGGOESHERE на вашу предпочитаемую строку сообщества SNMP
com2sec readonly default RANDOMSTRINGGOESHEREСохраните файл и выйдите из редактора, когда закончите.
Далее скачайте бинарный файл, который будет использоваться LibreNMS для автоматического определения операционной системы каждого целевого хоста. Затем сделайте его исполняемым, изменив разрешения по умолчанию.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distroНаконец, перезапустите службу snmpd, чтобы применить новые изменения и новые конфигурации.
systemctl restart snmpdТеперь, когда все основные конфигурации завершены. Далее вы начнете установку LibreNMS через веб-браузер.
Доступ к веб-установке LibreNMS
На вашем локальном компьютере отредактируйте файл ‘/etc/hosts’ и определите локальное доменное имя вашей установки LibreNMS. Также обязательно измените IP-адрес на IP-адрес вашего сервера.
192.168.5.100 librenms.howtoforge.localТеперь откройте веб-браузер и перейдите по доменному имени вашей установки LibreNMS (т.е.: http://librenms.howtoforge.local/).
Сначала установщик LibreNMS проверит окружение для установки. Убедитесь, что все требования отмечены зеленым, что означает, что система готова к установке LibreNMS.
Нажмите на иконку базы данных, чтобы продолжить.

Теперь введите данные базы данных и пользователя для вашего LibreNMS и нажмите ‘Проверить учетные данные‘. Если ваши учетные данные базы данных правильные, раздел будет отмечен зеленым.

Теперь нажмите ‘Создать базу данных‘, чтобы начать миграцию базы данных для LibreNMS.

После завершения миграции базы данных вы увидите, что раздел ‘Создать базу данных‘ отмечен зеленым.
Нажмите на иконку ключа, чтобы начать настраивать администратора пользователя для LibreNMS.

Теперь введите нового администратора пользователя, пароль и адрес электронной почты для вашей установки LibreNMS и нажмите ‘Добавить пользователя‘.

Теперь установка завершена, и вы увидите следующую страницу. Вы можете увидеть, что установка завершена, и конфигурации записаны в файл ‘.env‘.

Теперь нажмите на ссылку ‘проверить вашу установку‘, чтобы проверить установку LibreNMS.
Вы теперь должны быть перенаправлены на страницу входа LibreNMS. Введите вашего администратора пользователя и пароль, затем нажмите ‘Войти‘.

Теперь убедитесь, что все конфигурации отмечены как ‘ОК‘, что означает, что конфигурация не имеет ошибок.
Вы также можете исправить все ошибки или предупреждения, следуя инструкциям, рекомендованным LibreNMS.

Теперь вы можете добавить новый целевой хост, виртуальную машину или сетевое устройство для мониторинга решения мониторинга LibreNMS.
Заключение
Поздравляем! Вы установили решение для мониторинга LibreNMS на сервере Rocky Linux. Вы также узнали базовую конфигурацию стека LEMP (Nginx, MariaDB и PHP-FPM) на Rocky Linux.
Отсюда вы можете продолжить добавлять хост или целевую машину для мониторинга, настроить агент LibreNMS, настроить оповещения или уведомления, настроить интеграцию с третьими сторонами с Graylog и выполнять другие задачи.
Get new posts in your inbox
No spam. Unsubscribe anytime.