Мониторинг. · 9 min read · Nov 03, 2025

Как установить инструмент мониторинга LibreNMS с Nginx на CentOS 7

LibreNMS — это инструмент мониторинга с открытым исходным кодом, основанный на PHP/MYSQL/SNMP. Это полнофункциональная система мониторинга сети, которая поддерживает широкий спектр сетевого оборудования и операционных систем, включая FreeBSD, Cisco, Linux, HP и другие.

В этом руководстве мы покажем вам, как установить и настроить LibreNMS, используя Nginx в качестве веб-сервера и MariaDB в качестве базы данных. Мы будем использовать сервер CentOS 7 в качестве нашего основного сервера.

Что мы будем делать

  1. Установить необходимые пакеты
  2. Установить веб-сервер Nginx
  3. Установить и настроить PHP-FPM
  4. Установить и настроить MariaDB
  5. Скачать и настроить LibreNMS
  6. Веб-установка LibreNMS
  7. Финальная конфигурация

Предварительные требования

  • Сервер CentOS 7
  • Привилегии root

Шаг 1 - Установить необходимые пакеты

Перед установкой LibreNMS на сервер необходимо установить некоторые пакеты, включая ImageMagick, rrdtool, SNMP, git и другие. Следующая команда должна сделать это:

yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

Если все прошло хорошо, переходите к следующему шагу.

Шаг 2 - Установить веб-сервер Nginx

На этом шаге мы установим epel-repository для установки веб-сервера nginx. Репозиторий EPEL (Extra Packages for Enterprise Linux) — это дополнительный репозиторий для ОС на базе rpm, включая CentOS 7.

Установите репозиторий EPEL с помощью команды yum ниже.

yum -y install epel-release

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

yum -y install nginx

После установки nginx запустите службу и включите ее для автоматического запуска при загрузке с помощью следующих команд systemctl.

systemctl start nginx  
systemctl enable nginx

Таким образом, веб-сервер Nginx был установлен в системе из репозитория EPEL.

Запустите и проверьте веб-сервер Nginx

Шаг 3 - Установить и настроить PHP-FPM

Перед тем как продолжить, вот некоторая информация, которую стоит поделиться:

Мы будем использовать PHP-FPM версии 7 для установки LibreNMS. Все пакеты PHP 7 для CentOS 7 доступны в стороннем репозитории, и мы будем использовать версию PHP 7 из репозитория ‘webtatic’.

Итак, давайте начнем.

Добавьте репозиторий PHP 7 webtatic в систему с помощью следующей команды rpm.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Установите PHP 7 и все необходимые расширения из репозитория wetatic с помощью yum.

yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

Теперь обновите репозиторий PEAR и установите некоторые расширения PEAR (PHP Extension and Application Repository) с помощью команды pear.

pear channel-update pear.php.net  
pear install Net_IPv4-1.3.4  
pear install Net_IPv6-1.2.2b2

Установите некоторые пакеты pear

Таким образом, вы можете установить все необходимые пакеты PHP.

Далее, настройте PHP-FPM для установки LibreNMS. Нам нужно определить часовой пояс по умолчанию в файле php.ini и убедиться, что часовой пояс совпадает с текущим часовым поясом, используемым системой. Вы можете проверить текущий часовой пояс, используемый вашей системой, с помощью следующей команды.

timedatectl

Следующий скриншот показывает выполнение вышеуказанной команды:

используйте команду timedatectl

Итак, мы используем часовой пояс ‘Europe/Paris‘.

Теперь отредактируйте файл ‘/etc/php.ini’ с помощью vim.

vim /etc/php.ini

Затем раскомментируйте строку ‘date.timezone’ и задайте значение с часовым поясом сервера ‘Europe/Paris’.

data.timezone = Europe/Paris

Аналогично, раскомментируйте строку cgi и измените значение на ‘0‘.

cgi.fix_pathinfo=0

Вот и все. Теперь сохраните изменения и выйдите из редактора.

Далее, нам нужно определить, как PHP-FPM работает в системе. В нашем случае PHP-FPM будет работать под файлом ‘sock’ вместо порта сервера.

Отредактируйте файл ‘www.conf’ с помощью vim, чтобы настроить PHP-FPM.

vim /etc/php-fpm.d/www.conf

Измените строку порта ‘listen’ на файл sock следующим образом.

listen = /var/run/php-fpm/php7.0-fpm.sock

Раскомментируйте строку ‘listen’ для владельца, группы и разрешения файла sock, как показано в конфигурации ниже.

listen.owner = nginx  
listen.group = nginx  
listen.mode = 0660

Вот и все. Теперь сохраните изменения и выйдите из редактора.

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

systemctl start php-fpm  
systemctl enable php-fpm

Теперь PHP-FPM работает под файлом sock. Вы можете проверить это с помощью команды netstat.

netstat -pl | grep php

Убедитесь, что у вас есть результат файла ‘/var/run/php-fpm/php7.0-fpm.sock’.

Шаг 4 - Установить и настроить MariaDB

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

Установите MariaDB с помощью команды yum ниже.

yum -y install mariadb mariadb-server

Запустите службу MariaDB и включите ее для автоматического запуска при загрузке.

systemctl start mariadb  
systemctl enable mariadb

Настройка базы данных MariaDB

Теперь настройте пароль root для MariaDB с помощью команды ‘mysql_secure_installation’ ниже.

mysql_secure_installation

Вас спросят о новом пароле root для базы данных MariaDB, а также о некоторых других вопросах.

Введите ‘Y’ и нажмите Enter для подтверждения.

Set root password? [Y/n] Y  
 Remove anonymous users? [Y/n] Y  
 Disallow root login remotely? [Y/n] Y  
 Remove test database and access to it? [Y/n] Y  
 Reload privilege tables now? [Y/n] Y

Итак, MariaDB была установлена. Теперь нам нужно создать новую базу данных и нового пользователя для LibreNMS. Войдите в командную строку mysql с помощью клиента mysql и с вашим новым паролем.

mysql -u root -p

Создайте новую базу данных с именем ‘librenms‘, нового пользователя ‘librenms‘ с паролем ‘hakase-labs123‘.

Создайте все это с помощью следующих запросов MySQL.

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;  
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';  
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';  
FLUSH PRIVILEGES;

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

Добавить пользователя MySQL librenms

Теперь вам нужно отредактировать файл my.cnf, чтобы добавить новую конфигурацию mysql. Отредактируйте файл ‘/etc/my.cnf’ с помощью vim.

vim /etc/my.cnf

Вставьте следующую дополнительную конфигурацию в раздел ‘[mysqld]‘.

innodb_file_per_table=1  
 sql-mode=""  
 lower_case_table_names=0

Сохраните и выйдите из vim, а затем перезапустите сервер mariadb.

systemctl restart mariadb

Настройка параметров MariaDB

Шаг 5 - Скачать и настроить LibreNMS

На этом шаге мы настроим систему для установки LibreNMS.

- Добавить пользователя и скачать исходный код LibreNMS

Создайте нового системного пользователя с именем ‘librenms’, затем определите домашний каталог для пользователя в каталоге ‘/opt/librenms’, и, наконец, добавьте пользователя ‘librenms’ в группу ‘nginx’.

useradd librenms -d /opt/librenms -M -r  
usermod -a -G librenms nginx

Перейдите в каталог ‘/opt/‘ и скачайте исходный код LibreNMS с помощью команды git clone ниже.

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

Установить LibreNMS

Создайте новый каталог для логов и файлов rrd LibreNMS.

mkdir -p /opt/librenms/logs/  
mkdir -p /opt/librenms/rrd/  
chmod 775 /opt/librenms/rrd/

Теперь измените владельца всех файлов и каталогов в каталоге ‘/opt/librenms’ на пользователя и группу ‘librenms’.

chown -R librenms:librenms /opt/librenms/

- Настроить виртуальный хост LibreNMS

LibreNMS — это веб-приложение, и мы используем веб-сервер Nginx для его размещения.

Создайте новый файл виртуального хоста ‘librenms.conf’ в каталоге конфигурации nginx ‘conf.d’.

vim /etc/nginx/conf.d/librenms.conf

Вставьте конфигурацию ниже.

server {  
   
     # Добавьте свое собственное доменное имя  
     listen      80;  
     server_name librenms.irsyadf.me;  
   
     # Корневая директория LibreNMS  
     root        /opt/librenms/html;  
     index       index.php;  
   
     # Логи LibreNMS  
     access_log  /opt/librenms/logs/access_log;  
     error_log   /opt/librenms/logs/error_log;  
       
     # Включение сжатия Gzip на Nginx  
     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 /api/v0 {  
         try_files $uri $uri/ /api_v0.php?$query_string;  
     }  
   
     # PHP-FPM обрабатывает все запросы .php  
     location ~ \.php {  
         include fastcgi.conf;  
         fastcgi_split_path_info ^(.+\.php)(/.+)$;  
         fastcgi_pass unix:/var/run/php-fpm/php7.0-fpm.sock;  
     }  
  
     location ~ /\.ht {  
         deny all;  
     }  
 }

Вот и все. Теперь сохраните и выйдите из Vim.

Проверьте конфигурацию nginx и убедитесь, что нет ошибок. Затем перезапустите веб-сервер.

ginx -t  
systemctl restart nginx

- Конфигурация Firewalld

Убедитесь, что пакеты firewalld установлены на вашей системе. Если нет, вы можете установить firewalld с помощью следующей команды yum.

yum -y install firewalld

Запустите firewalld и включите его для автоматического запуска при загрузке с помощью следующих команд systemctl.

systemctl start firewalld  
systemctl enable firewalld

Настройка брандмауэра

Откройте новый HTTP, HTTPS и SNMP порт 161/udp с помощью команды firewall-cmd, как показано ниже.

firewall-cmd --add-service=http --permanent  
firewall-cmd --add-service=https --permanent  
firewall-cmd --add-port=161/udp --permanent

Примените конфигурацию, перезагрузив firewalld, и проверьте все службы.

firewall-cmd --reload  
firewall-cmd --list-all

Убедитесь, что службы HTTP и HTTPS находятся в списке.

Шаг 6 - Веб-установка LibreNMS

Откройте веб-браузер и введите URL LibreNMS в адресной строке.

http://librenms.hakase-labs.me/

Вы будете перенаправлены на страницу установки ‘install.php’.

- Проверьте поддержку модулей PHP

Убедитесь, что все необходимые модули и расширения php установлены в системе.

Веб-установщик LibreNMS

Затем нажмите ‘Next Stage’, чтобы продолжить.

- Конфигурация базы данных

Введите данные базы данных ниже:

  1. Пользователь БД: ‘librenms
  2. Имя БД: ‘librenms
  3. Пароль БД: ‘hakase-labs123

Настройка базы данных

И нажмите ‘Next Stage’, чтобы продолжить.

- Импорт базы данных MySQL

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

Импорт схемы базы данных MySQL

Когда процесс завершится, нажмите ‘Goto Add User’, чтобы добавить нового администратора.

- Добавить администратора

Введите имя вашего администратора, электронную почту и пароль.

Добавить администратора

Нажмите ‘Add User’, чтобы продолжить установку.

- Сгенерировать файл конфигурации

Сгенерировать файл конфигурации

Нажмите кнопку ‘Generate Config’, и вы увидите страницу, похожую на следующую.

Настройки файла конфигурации

Скопируйте php-код, который там есть в окне, и создайте новый файл ‘config.php’ в каталоге ‘/opt/librenms/‘.

cd /opt/librenms/  
vim config.php

Вставьте в новый файл код, который вы только что скопировали, затем сохраните и выйдите из редактора. Теперь измените права доступа к файлу config.php на пользователя и группу ‘librenms’.

chown librenms:librenms config.php

Сохраните файл конфигурации в терминале

Вернитесь в браузер и нажмите кнопку ‘Finish Install’, которая находится внизу страницы. Вы увидите приветственное сообщение, похожее на следующее.

Инструмент мониторинга LibreNMS установлен

На этом этапе мы завершили веб-установку. Вернитесь в терминал/консоль и добавьте больше конфигураций.

Шаг 7 - Финальная конфигурация

На этом шаге мы добавим некоторые конфигурации для нашей установки LibreNMS.

- Определить команду fping

Определите команду ‘fping’, отредактировав файл конфигурации LibreNMS. Перейдите в каталог ‘/opt/librenms/‘ и отредактируйте файл config.php с помощью редактора vim.

cd /opt/librenms/  
vim config.php

Добавьте следующую строку в конец файла.

$config['fping'] = "/usr/sbin/fping";

Сохраните и выйдите из редактора.

- Конфигурация SNMP

Создайте резервную копию файла snmp.conf по умолчанию в каталоге ‘/etc/snmp/‘ и скопируйте новый из каталога librenms.

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.asli  
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Отредактируйте новую конфигурацию.

vim /etc/snmp/snmpd.conf

Измените текст ‘RANDOMSTRINGGOESHERE’ на ваше собственное имя сообщества, как показано ниже.

com2sec readonly  default         hakaselabs

Вот и все. Сохраните и выйдите из Vim.

Установите случайную строку

Далее, скачайте скрипт librenms-agent для определения операционной системы, которую вы добавили. Если вы добавите ОС Linux, скрипт также определит конкретное дистрибутив Linux.

Скачайте скрипт с помощью curl и сделайте его исполняемым.

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro  
chmod +x /usr/bin/distro

Теперь перезапустите службу SNMP с помощью следующей команды systemctl.

systemctl restart snmpd

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

LibreNMS предоставляет конфигурацию для настройки logrotate, и она находится в каталоге ‘/opt/librenms/misc’.

Скопируйте образец конфигурации в каталог ‘/etc/logrotate.d’.

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

- Конфигурация cronjob LibreNMS

Перейдите в каталог ‘opt/librenms’ и скопируйте скрипт crontab ‘librenms.nonroot.cron’ в каталог ‘cron.d’.

cd /opt/librenms/  
cp librenms.nonroot.cron /etc/cron.d/librenms

Подождите несколько минут, пока скрипт автоматически выполнится.

- Проверка конфигурации LibreNMS

Чтобы проверить установку, используйте скрипт validate.php. Перейдите в каталог ‘/opt/librenms/‘ и выполните скрипт.

cd /opt/librenms/  
./validate.php

Предполагая, что вы не столкнулись с ошибками, вы должны увидеть вывод, похожий на следующий:

Проверка установки

Таким образом, это завершает установку LibreNMS с веб-сервером Nginx на CentOS 7.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.