Как установить и настроить Librenms Ubuntu 22.04 | 20.04

Чтобы установить 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 для выхода.

Установка Mariadb для librenms ubuntu 22.04 или 20.04

Перезапустите службу базы данных:

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.

chnage PHP FPM libreNMS для Ubuntu 22.04

Вернитесь в корневой каталог.

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

Сначала программа установки проверит наличие зависимостей, необходимых программному обеспечению.

Предварительные проверки перед установкой LibreNMS

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

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

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

Построение базы данных

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

Завершите установку

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

Проверка ошибок

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *