Мониторинг. · 8 min read · Nov 17, 2025

Как настроить инструмент мониторинга LibreNMS с Nginx на Ubuntu 16.04 LTS

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

В этом руководстве я покажу вам, как установить и настроить инструмент мониторинга с открытым исходным кодом ‘LibreNMS’, используя Nginx в качестве веб-сервера, MariaDB в качестве базы данных и сервер Ubuntu 16.04 в качестве нашего основного сервера. Мы проведем вас шаг за шагом по установке и настройке ‘LibreNMS’ на сервере Ubuntu 16.04 Xenial Xerus.

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

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

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

  • Сервер Ubuntu 16.04
  • Привилегии root

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

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

ssh root@hakase-labs-server  
sudo apt update

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

apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd  rrdtool git snmp graphviz

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

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

В этом руководстве мы будем запускать LibreNMS под веб-сервером Nginx. Nginx — это мощный веб-сервер, доступный в репозиториях Ubuntu.

Установите nginx, используя команду apt из репозитория следующим образом.

apt install nginx

Когда установка завершится, запустите службу и включите ее для автоматического запуска при каждом запуске системы.

systemctl start nginx  
systemctl enable nginx

Веб-сервер Nginx работает на порту 80 по умолчанию. Мы можем проверить порт, используя команду netstat, и проверить Nginx с помощью команды curl, чтобы получить код состояния HTTP, как показано ниже.

netstat -plntu | grep 80  
curl -I localhost

Проверка портов с помощью netstat

Установка Nginx завершена.

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

LibreNMS — это инструмент мониторинга веб-приложений на основе PHP. Он поддерживает новую версию PHP 7.0, и мы будем использовать ее для этого руководства.

Установите PHP, PHP-FPM и все расширения/модули, необходимые для установки LibreNMS, используя команду apt ниже.

apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6

Далее нам нужно добавить некоторые настройки в файлы php.ini. Мы должны определить часовой пояс по умолчанию в файле php.ini и убедиться, что часовой пояс совпадает с текущим часовым поясом, используемым системой.

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

timedatectl

Вы должны получить результат, похожий на следующий.

Проверка настроек часового пояса

Вы можете увидеть, что сервер использует часовой пояс ‘Europe/Paris‘.

Теперь перейдите в каталог конфигурации PHP и отредактируйте файлы php.ini для конфигурации cli и fpm.

cd /etc/php/7.0/  
vim fpm/php.ini  
vim cli/php.ini

Уберите комментарий с строки ‘date.time‘ и измените значение на наш системный часовой пояс ‘Europe/Paris‘.

date.time = Europe/Paris

Уберите комментарий с конфигурации cgi ниже, измените значение на 0.

cgi.fix_pathinfo = 0

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

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

systemctl start php7.0-fpm  
systemctl enable php7.0-fpm

PHP-FPM теперь работает на сервере Ubuntu — он работает под сокет-файлом. Проверьте это с помощью команды netstat.

netstat -pl | grep php

Проверка процесса PHP-FPM

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

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

Установите mariadb-server из репозитория ubuntu, используя команду apt ниже.

apt install mariadb-server mariadb-client mariadb

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

systemctl start mysql  
systemctl enable mysql

Сервер базы данных mariadb теперь работает. Далее нам нужно настроить пароль root для mariadb. Мы можем использовать команду ‘mysql_secure_installation’ ниже, чтобы настроить пароль root.

mysql_secure_installation

Вас спросят о новом пароле root — введите ваш пароль и нажмите ‘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

Пароль root для mariadb был настроен.

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

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

mysql -u root -p  
Type the ROOT Password:

Выполните запросы mariadb ниже, чтобы создать новую базу данных и пользователя, и предоставить все привилегии на базу данных новому пользователю.

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 были созданы.

Добавить базу данных

Для установки LibreNMS нам нужно добавить некоторые настройки в файл конфигурации. Перейдите в каталог ‘/etc/mysql/‘ и отредактируйте файл конфигурации mariadb.

cd /etc/mysql/  
vim mariadb.conf.d/50-server.cnf

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

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

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

Изменить настройки MariaDB

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

systemctl restart mysql

Конфигурация базы данных mariadb завершена.

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

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

- Добавить нового пользователя и скачать LibreNMS

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

Выполните следующую команду, чтобы сделать все это.

useradd librenms -d /opt/librenms -M -r  
usermod -a -G librenms www-data

Теперь перейдите в каталог ‘/opt/‘ и скачайте исходный код LibreNMS, используя команду git.

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

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

Далее создайте новый каталог для файлов журналов libreNMS и файлов rrd.

mkdir -p /opt/librenms/{logs,rrd}

Измените права собственности для каталога ‘rrd’ на ‘775’, и измените владельца каталога ‘librenms’ на пользователя и группу ‘librenms’.

chmod -R 775 /opt/librenms/rrd/  
chown -R librenms:librenms /opt/librenms/

Новый ‘librenms’ был создан, и исходный код LibreNMS был загружен.

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

Перейдите в каталог конфигурации ‘nginx’ и создайте новый файл виртуального хоста ‘librenms’ с помощью vim.

cd /etc/nginx/  
vim sites-available/librenms

Вставьте следующую конфигурацию виртуального хоста LibreNMS.

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:/run/php/php7.0-fpm.sock;  
    }  
  
    location ~ /\.ht {  
        deny all;  
    }  
}

Сохраните и выйдите. Теперь активируйте виртуальный хост.

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

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

nginx -t  
systemctl restart nginx

- Настроить брандмауэр UFW

Добавьте новые порты в брандмауэр. Добавьте новый ssh, http, https и порт, используемый snmpd 161 udp типа, в брандмауэр ufw.

Выполните следующие команды ufw.

ufw allow ssh  
ufw allow http  
ufw allow https  
ufw allow 161/udp

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

Запустите брандмауэр ufw с помощью команды ufw enable, как показано ниже.

ufw enable

Введите ‘y’ и нажмите ‘Enter’, чтобы подтвердить. Запустите и включите его для автоматического запуска при загрузке системы.

Если вы хотите увидеть статус брандмауэра, выполните команду ‘ufw status’.

ufw status

Вы получите статус брандмауэра - активен или неактивен - и список портов и служб, добавленных в брандмауэр.

Список конфигурации брандмауэра

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

После завершения всех вышеперечисленных шагов нам нужно установить LibreNMS через веб-браузер. Откройте ваш веб-браузер, введите доменное имя LibreNMS ‘librenms.hakase-labs.co’ в адресной строке и нажмите Enter.

- Проверка модулей PHP

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

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

Нажмите ‘Следующий этап‘, чтобы продолжить.

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

Заполните всю информацию о базе данных своими данными.

  • Пользователь БД: librenms
  • Пароль БД: hakase-labs123
  • Имя БД: librenms

Установить данные базы данных

И нажмите ‘Следующий этап‘.

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

Подождите, пока скрипт установщика импортирует образец базы данных в нашу базу данных — не закрывайте вкладку браузера в течение этого процесса.

Этап 2 завершен

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

- Добавить пользователя администратора

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

Добавить пользователя администратора

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

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

Сгенерировать конфигурацию LibreNMS

Нажмите кнопку ‘Сгенерировать конфигурацию‘.

И вы получите файл конфигурации, похожий на показанный ниже.

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

Скопируйте скрипт конфигурации php и вернитесь к вашей SSH-сессии. Перейдите в каталог ‘/opt/librenms’ и создайте файл ‘config.php’ вручную с помощью vim.

cd /etc/librenms/  
vim config.php

Вставьте конфигурацию туда и измените права собственности файла на пользователя и группу librenms.

chown librenms:librenms config.php

Вернитесь в ваш веб-браузер и нажмите кнопку ‘Завершить установку‘.

Теперь вы попали на последнюю страницу веб-установщика librenms - смотрите ниже.

Установка завершена

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

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

- Настроить SNMP

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

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

Отредактируйте новую конфигурацию с помощью vim.

vim /etc/snmp/snmpd.conf

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

com2sec readonly  default         hakaselabs

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

Файл конфигурации SNMP

Далее нам нужно скачать скрипт обнаружения дистрибутива. Скачайте его с помощью curl, затем сделайте скрипт исполняемым, и, наконец, перезапустите службу snmp.

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

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

Перейдите в каталог librenms и скопируйте образец конфигурации для Crontab и Logrotate.

cd /opt/librenms/

Скопируйте конфигурацию.

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

Теперь перезапустите службу cron и перезагрузите конфигурацию logrotate.

systemctl restart cron  
logrotate -f /etc/logrotate.conf

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

Подождите некоторое время, пока скрипт cron работает в системе. Как только это будет сделано, проверьте с помощью скрипта ‘validate.php’.

Перейдите в каталог librenms и выполните скрипт проверки.

cd /opt/librenms/  
./validate.php

Если ваша установка правильная, вы получите результат, показанный ниже.

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

Установка LibreNMS с веб-сервером Nginx на Ubuntu 16.04 завершена.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.