Как установить инструмент мониторинга LibreNMS в Debian 11

12 set 2022 6 min di lettura
Как установить инструмент мониторинга LibreNMS в Debian 11
Indice dei contenuti

Введение

LibreNMS — это бесплатный веб-инструмент с открытым исходным кодом для автоматического обнаружения сети, написанный на PHP. Используйте MySQL или MariaDB в качестве базы данных и используйте SNMP для обнаружения удаленных клиентов. Он поддерживает широкий спектр сетевых устройств, включая Linux, Cisco, Juniper, FreeBSD, HP, Windows и другие. Он поддерживает несколько методов аутентификации, включая Radius, Active Directory, LDAP, MySQL и другие. Он прост, интуитивно понятен и доступен каждому для понимания и использования.

В этом руководстве мы объясним, как установить LibreNMS с Nginx на Debian 11.

Если вы хотите установить LibreNMS на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

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

Если вы не используете пользователя root, вы можете войти в систему с другим именем пользователя, используя ту же команду, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Предпосылки

  • Сервер под управлением Debian 11.
  • Действительное доменное имя указывало на IP-адрес вашего сервера.
  • Пароль root настроен на вашем сервере.

Установите и настройте базу данных MariaDB

Во-первых, вам нужно будет установить сервер базы данных MariaDB на свой сервер. Вы можете установить его с помощью следующей команды:

apt-get install mariadb-server -y

После завершения установки запустите следующий скрипт, чтобы защитить установку MariaDB и установить пароль root:

mysql_secure_installation

Ответьте на все вопросы, как показано ниже:

Enter current password for root (enter for none):
 Switch to unix_socket authentication [Y/n] n
 Change the root password? [Y/n] Y
 New password:
 Re-enter new password:
 Remove anonymous users? [Y/n] Y
 Disallow root login remotely? [Y/n] Y
 Remove test database and access to it? [Y/n]
 Reload privilege tables now? [Y/n] Y

Как только MariaDB будет защищена, отредактируйте файл конфигурации MariaDB и измените некоторые настройки в своем любимом редакторе:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Добавьте следующие строки в раздел [mysqld]:

innodb_file_per_table=1
 lower_case_table_names=0

Сохраните и закройте файл, затем перезапустите MariaDB, чтобы применить изменения:

systemctl restart mariadb

Затем войдите в MariaDB с помощью следующей команды:

mysql -u root -p

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

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'securepassword';

Затем предоставьте все привилегии базе данных LibreNMS с помощью следующей команды:

GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';

Наконец, очистите привилегии и выйдите из оболочки MariaDB, используя следующую команду:

FLUSH PRIVILEGES;
EXIT;

После этого вы можете перейти к следующему шагу.

Установите Nginx, PHP и необходимые зависимости

Далее вам нужно будет установить веб-сервер Nginx, PHP и другие зависимости, необходимые для LibreNMS. Вы можете установить их все, выполнив следующую команду:

apt-get install nginx-full nmap php-cli php-curl php-fpm php-gd php-json php-mbstring php-mysql php-snmp php-xml php-zip python3-dotenv python3-pip python3-pymysql python3-redis python3-setuptools python3-systemd rrdtool snmp snmpd whois acl curl composer fping git graphviz imagemagick mtr-tiny

После установки всех пакетов отредактируйте файл php.ini и установите свой часовой пояс:

nano /etc/php/7.4/fpm/php.ini

Отредактируйте следующую строку:

date.timezone = UTC

Сохраните и закройте файл, когда закончите.

Установите и настройте LibreNMS

Сначала создайте выделенного пользователя для LibreNMS, используя следующую команду useradd:

useradd librenms -d /opt/librenms -M -r -s /bin/bash

Затем добавьте пользователя LibreNMS в группу www-data с помощью следующей командыusermod:

usermod -a -G librenms www-data

Затем загрузите последнюю версию LibreNMS из репозитория GitHub в каталог /opt:

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

Затем установите владельца и разрешения для каталога LibreNMS с помощью команд chown и chmod:

chown -R librenms:librenms /opt/librenms
chmod 775 /opt/librenms setfacl -d -mg::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache//opt/librenms/storage/
setfacl -R -mg::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache//opt/librenms/storage/

Затем измените пользователя на LibreNMS с помощью следующей команды su:

su - librenms

Затем установите компоновщик PHP с помощью следующей команды cd:

cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev

После установки Composer и других зависимостей PHP вы должны увидеть следующий вывод:

> @php artisan optimize
 Configuration cache cleared!
 Configuration cached successfully!
 Route cache cleared!
 Routes cached successfully!
 Files cached successfully!
 > @php artisan config:clear
 Configuration cache cleared!
 > scripts/dynamic_check_requirements.py || pip3 install --user -r requirements.txt ||:
 Requirement already satisfied: PyMySQL!=1.0.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 1)) (0.9.3)
 Requirement already satisfied: python-dotenv in /usr/lib/python3/dist-packages (from -r requirements.txt (line 2)) (0.15.0)
 Requirement already satisfied: redis>=3.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 3)) (3.5.3)
 Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from -r requirements.txt (line 4)) (52.0.0)
 Collecting psutil>=5.6.0
 Downloading psutil-5.8.0-cp39-cp39-manylinux2010_x86_64.whl (293 kB)
 Collecting command_runner>=1.3.0
 Downloading command_runner-1.3.0-py3-none-any.whl (17 kB)
 Installing collected packages: psutil, command-runner
 Successfully installed command-runner-1.3.0 psutil-5.8.0

Затем выйдите из системы пользователя LibreNMS, используя следующую команду:

exit

Далее вам нужно будет создать отдельный файл конфигурации для PHP-FPM. Вы можете создать его с помощью следующей команды cp:

cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf

Затем отредактируйте файл конфигурации librenms.conf в своем любимом редакторе:

nano /etc/php/7.4/fpm/pool.d/librenms.conf

Измените [www-data] на [librenms] а также обновите прослушивающий сокет:

user = librenms
 group = librenms
 listen = /run/php-fpm-librenms.sock

Сохраните и закройте файл, затем перезапустите службу PHP-FPM, чтобы применить изменения конфигурации:

systemctl restart php7.4-fpm

После этого вы можете перейти к следующему шагу.

Настройте Nginx для LibreNMS

Далее вам нужно будет создать файл конфигурации виртуального хоста Nginx для LibreNMS. Вы можете создать его с помощью следующей команды:

nano /etc/nginx/conf.d/librenms.conf

Добавьте следующие строки:

server {
 listen 80;
 server_name libre.yourdomain.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;
 }
 }

Сохраните и закройте файл, затем проверьте Nginx на наличие синтаксических ошибок с помощью следующей команды:

nginx -t

Надеюсь, вы получите следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 nginx: configuration file /etc/nginx/nginx.conf test is successful

Наконец, перезапустите Nginx, чтобы применить изменения.

systemctl restart nginx php7.4-fpm

Вы также можете проверить статус Nginx с помощью следующей команды:

systemctl status nginx

Вы должны увидеть следующий вывод:

? nginx.service - A high performance web server and a reverse proxy server
 Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
 Active: active (running) since Fri 2021-12-03 14:39:18 UTC; 18s ago
 Docs: man:nginx(8)
 Process: 39888 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Process: 39892 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 39893 (nginx)
 Tasks: 2 (limit: 2341)
 Memory: 2.7M
 CPU: 42ms
 CGroup: /system.slice/nginx.service
 ??39893 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
 ??39894 nginx: worker process

 Dec 03 14:39:18 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
 Dec 03 14:39:18 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
 Dec 03 14:39:18 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

Затем скопируйте файл конфигурации задания cron, чтобы включить автоматическое обнаружение и опрос вновь добавленных устройств.

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

Затем скопируйте файл конфигурации logrotate для ротации старых журналов.

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

После этого вы можете перейти к следующему шагу.

Доступ к мастеру веб-установки LibreNMS

На данный момент LibreNMS установлен и настроен с помощью Nginx. Теперь вы можете получить доступ к веб-настройке LibreNMS, используя URL-адрес http://libre.yourdomain.com. Вы должны увидеть страницу проверки перед установкой.

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

Укажите информацию о своей базе данных и нажмите Подтвердить учетные данные.

Теперь нажмите на значок ключа, чтобы настроить пользователя-администратора.

Укажите имя пользователя и пароль администратора, затем нажмите кнопку « Добавить пользователя ». После создания пользователя вы должны увидеть следующую страницу.

Нажмите кнопку со значком Да.

Теперь откройте другую вкладку в веб-браузере и введите URL-адрес https://libre.yourdomain.com/validate, чтобы подтвердить установку.

Укажите имя пользователя и пароль администратора и нажмите кнопку « Войти ».

Вывод

Поздравляем! вы успешно установили LibreNMS с Nginx на Debian 11. Теперь вы можете начать добавлять удаленные устройства в LibreNMS и начать их мониторинг из центрального местоположения. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.