
Чтобы установить LibreNMS на Linux-серверы Ubuntu 22.04 или 20.04 для создания собственной системы мониторинга сети, нам понадобятся лишь базовые знания команд Linux.
LibreNMS предназначена для тех, кому нужна PHP-платформа с открытым исходным кодом для мониторинга и управления сетевой инфраструктурой и устройствами. Ее интерфейс разработан таким образом, чтобы обеспечить сетевым администраторам и ИТ-специалистам единое место для мониторинга маршрутизаторов, коммутаторов, серверов и другого оборудования, связанного с сетью.
LibreNMS предоставляет ряд функций и возможностей, таких как:
- Автоматическое обнаружение устройств
- Мониторинг сетевых устройств, служб и показателей производительности в режиме реального времени.
- Администраторы могут отслеживать такие ключевые параметры, как использование полосы пропускания, загрузка процессора, использование памяти и другие.
- Оповещения и уведомления
- Предлагает хранение исторических данных для анализа тенденций и устранения прошлых проблем.
- Предлагает различные варианты графиков для визуализации данных о производительности.
- Поддержка SNMP
- Предлагает интеграцию с другими инструментами и сервисами, включая сервисы уведомлений, такие как Slack и PagerDuty.
- Высокая настраиваемость
- Веб-интерфейс пользователя
- Сообщество и открытый исходный код
- Вы можете расширить функциональность LibreNMS с помощью плагинов и дополнений.
Шаг 1. Предварительные условия – настройка серверной среды
Перед выполнением LibreNMS для установки вам потребуется система, работающая под управлением Ubuntu Linux с sudo права и интернет соединение. Кроме того, нам потребуется LAMP-сервер, о настройке которого мы узнаем в этом уроке.
Прежде чем двигаться дальше, выполните команду обновления системы:
sudo apt update && sudo apt upgrade
Шаг 2. Установка Apache или Nginx на Ubuntu 22.04
Двумя популярными веб-серверами, которые можно использовать для установки LibreNMS, являются Apache и Nginx, вы можете выбрать любой из них по своему усмотрению. Однако в данном руководстве мы рассмотрим оба варианта, но вы можете установить только один из них по своему усмотрению.
Примечание: Установите только один веб-сервер Apache или Nginx:
Для Nginx:
sudo apt install nginx
sudo systemctl enable --now nginx
Для Apache:
sudo apt install apache2
sudo systemctl enable --now apache2
Шаг 3. Установка PHP, MariaDB и зависимостей
Здесь мы установим PHP, MariaDB и другие необходимые пакеты, чтобы легко настроить LibreNMS на Ubuntu 22.04 или 20.04. Чтобы установить их все, мы можем воспользоваться приведенной командой:
sudo apt install acl curl nano composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php-cli php-curl php-fpm php-gd php-gmp php-json php-mbstring php-mysqli php-snmp php-xml php-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip
Шаг 4. Настройка MariaDB для LibreNMS
Прежде чем создавать базу данных, давайте настроим MariaDB для LibreNMS, поэтому отредактируйте конфигурационный файл сервера базы данных.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
По адресу [mysqld]
добавьте следующие строки:
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
Сохраните файл, нажав кнопку Ctrl + O, введите Введите, и используйте Ctrl + X для выхода.

Перезапустите службу базы данных:
sudo systemctl restart mariadb
И включите ту же службу:
sudo systemctl enable mariadb
Защитите свою MariaDB:
sudo mysql_secure_installation
Следуйте указаниям мастера, создайте пароль для корневого пользователя базы данных и удалите демонстрационную базу данных, запретите удаленный вход и анонимных пользователей.
Шаг 5. Создание базы данных LibreNMS
Теперь давайте создадим специальную базу данных для хранения данных, генерируемых LibreNMS.
sudo mysql
Используйте приведенные команды для создания базы данных.
Здесь мы используем База данных & Имя пользователя- librenms
, используйте то, что хотите использовать. Также не забудьте заменить password
на то, что вы хотите установить.
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;
exit;
Установка TimeZone для PHP:
sudo sed -i "s,;date.timezone =,date.timezone = \"Asia/Kolkata\",g" /etc/php/*/cli/php.ini
sudo sed -i "s,;date.timezone =,date.timezone = \"Asia/Kolkata\",g" /etc/php/*/fpm/php.ini
Примечание: Измените Азия/Кольката в соответствии с вашей страной. Если вы не знаете значение PHP для вашего часового пояса, обратитесь к разделу официальная страница , предназначенная для этого.
Кроме того, измените системный часовой пояс соответствующим образом:
sudo timedatectl set-timezone Asia/Kolkata
sudo dpkg-reconfigure -f noninteractive tzdata
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p
sudo systemctl restart nginx mariadb
Шаг 6. Загрузка LibreNMS на Ubuntu 22.04/20.04
Файлы LibreNMS не доступны для загрузки из репозитория Ubuntu, поэтому давайте клонируем его с помощью Git непосредственно из его репозитория GitHub.
cd /opt
sudo git clone https://github.com/librenms/librenms.git
Шаг 7. Добавление пользователя LibreNMS
Давайте создадим специального пользователя, который будет иметь доступ только к файлам Librenms
sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
Установите разрешения для загруженных файлов:
sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /opt/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/
Шаг 8: Установка LibreNMS на Ubuntu 22.04 | 20.04
Переключитесь на созданного пользователя LibreNMS, а затем установите PHP-зависимости, необходимые для этой платформы сетевого мониторинга.
sudo -u librenms bash
cd
./scripts/composer_wrapper.php install --no-dev
exit
Шаг 9. Настройка PHP-FPM для установки LibreNMS
Создайте файл конфигурации PHP FPM для LibreNMS, скопировав существующий файл конфигурации:
cd /etc/php/*/fpm/pool.d/
sudo cp www.conf librenms.conf
Теперь отредактируйте скопированный файл
sudo nano librenms.conf
Замените [www]
на [librenms]
Изменить пользователь и группа из data-www на librenms
user = librenms
group = librenms
Прокрутите страницу вниз и также обновите слушать к сокету libreNMS.
listen = /run/php-fpm-librenms.sock
Сохраните файл – Ctrl + O, нажмите Введите и выйдите. Ctrl + X.

Вернитесь в корневой каталог.
cd
Шаг 10: Настройка SNMPd для LibreNMS
Если вы не хотите включать поддержку SNMP, то можете пропустить этот шаг…
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sudo nano /etc/snmp/snmpd.conf
Изменить RANDOMSTRINGGOESHERE на строка сообщества SNMP, которую вы хотите использовать а затем Сохранить файл.
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
sudo systemctl enable snmpd
sudo systemctl restart snmpd
Шаг 11. Создание задания Cron
Если вы не зададите задание Cron, то при проверке вы увидите следующие две ошибки:
FAIL: Python wrapper cron entry is not present и FAIL: Не обнаружен активный метод опроса
Итак, выполните следующие команды
sudo cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms
Отредактируйте файл задания cron, чтобы настроить время и задачи, которые будут выполняться. Вы можете использовать такой текстовый редактор, как Nano или vi:
sudo nano /etc/cron.d/librenms
Измените этот файл по мере необходимости, чтобы определить задачи, которые вы хотите, чтобы LibreNMS выполняла через определенные промежутки времени. Например, вот пример задания cron, которое запускает опрос LibreNMS каждые пять минут:
В конце файла добавьте следующую строку:
*/5 * * * * librenms /opt/librenms/poller.php -h all >> /dev/null 2>&1
Примечание: В приведенной выше записи выполняется poller.php скрипт каждые 5 минут опрашивает все устройства и перенаправляет вывод в /dev/null, чтобы отбросить его.
Сохраните файл & выйдите из текстового редактора, используя Ctrl+O и нажмите кнопку Введите клавиша.
Перезапустите службу cron, чтобы применить изменения:
sudo systemctl restart cron
Включите планировщик
sudo cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/
sudo systemctl enable librenms-scheduler.timer
sudo systemctl start librenms-scheduler.timer
Скопируйте конфигурацию Logrotate
Чтобы журналы LibreNMS не становились слишком большими, включите ротацию журналов:
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Необходимо сделать еще несколько вещей:
Создайте ярлык Global lnms:
sudo ln -s /opt/librenms/lnms /usr/local/bin/lnms
Включить завершение Bash для команды lnms:
sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
Шаг 12. Создание конфигурации виртуального хоста
Если в начале вы установили веб-сервер Apache, используйте его, в противном случае воспользуйтесь файлом конфигурации хоста Nginx:
Примечание: Используйте только одну конфигурацию веб-сервера в соответствии с установленной:
Для пользователей веб-сервера Nginx (только)
Если вы используете Nginx, создайте файл конфигурации сайта с помощью приведенных команд:
sudo nano /etc/nginx/conf.d/librenms.conf
Добавьте следующие строки:
Примечание: Заменить – librenms.example.com; с доменным именем, которое вы хотите использовать:
server {
listen 80;
server_name librenms.example.com;
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;
}
}
Сохранить файл, нажав Ctrl+X, введите Y, и нажмите кнопку Введите клавиша.
Удалите тестовую страницу Nginx по умолчанию и перезапустите веб-сервер
rm /etc/nginx/sites-enabled/default
systemctl restart nginx
systemctl restart php8.1-fpm
Для пользователей веб-сервера Apache (только):
Чтобы получить доступ к веб-интерфейсу LibreNMS, нам нужно указать нашему серверу Apache, где находятся его файлы. Для этого мы создаем файл конфигурации виртуального хоста:
sudo nano /etc/apache2/sites-available/librenms.conf
Добавьте следующие строки:
Примечание: Замените имя сервера на свое IP-адрес или полностью квалифицированный домен имя, например librenms.your-domain.com
<VirtualHost *:80>
DocumentRoot /opt/librenms/html/
ServerName librenms.example.com
AllowEncodedSlashes NoDecode
<Directory "/opt/librenms/html/">
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
# Enable http authorization headers
<IfModule setenvif_module>
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<FilesMatch ".+\.php$">
SetHandler "proxy:unix:/run/php-fpm-librenms.sock|fcgi://localhost"
</FilesMatch>
</VirtualHost>
Сохраните файл, нажав кнопку Ctrl + O, нажмите Введите клавиша, и Ctrl+X для выхода.
Отключите сайт по умолчанию и включите вновь созданный
sudo a2dissite 000-default
sudo a2enmod proxy_fcgi setenvif rewrite
sudo a2ensite librenms.conf
Перезапустите службы:
sudo systemctl restart apache2
sudo systemctl restart php*-fpm
Шаг 13. Доступ к веб-интерфейсу LibreNMS
После завершения настройки LibreNMS перейдите в системный браузер и укажите в нем IP-адрес сервера или доменное имя, которое вы использовали.
Например. http://server-ip-address или http://your-domain.com
Сначала программа установки проверит наличие зависимостей, необходимых программному обеспечению.

Укажите данные базы данных MariaDB, которую вы создали в Шаг 5 этой статьи.

После подключения к базе данных нажмите на кнопку “Построить базу данных” кнопка.

Создайте пользователя Admin для входа в бэкэнд LibreNMS.

LibreNMS проверит и сообщит вам, есть ли какие-то улучшения или предупреждения для вашей установки.

Наконец, у вас будет панель LibreNMS Dashboard, чтобы начать мониторинг сети и устройств.
