Как установить инструмент мониторинга LibreNMS на Debian 11
На этой странице
- Предпосылки
- Установка и настройка базы данных MariaDB
- Установите Nginx, PHP и необходимые зависимости
- Установка и настройка LibreNMS
- Настройка Nginx для LibreNMS
- Доступ к мастеру веб-установки LibreNMS
- Заключение
LibreNMS — это бесплатный веб-инструмент для мониторинга сети с открытым исходным кодом и автоматическим обнаружением, написанный на PHP. Он использует MySQL или MariaDB в качестве базы данных и использует SNMP для обнаружения удаленных клиентов. Он поддерживает широкий спектр сетевых устройств, включая Linux, Cisco, Juniper, FreeBSD, HP, Windows и другие. Он поддерживает несколько методов аутентификации, включая Radius, Active Directory, LDAP, MySQL и другие. Он прост, удобен в использовании и доступен каждому для понимания и использования.
В этом руководстве я объясню, как установить LibreNMS с Nginx на Debian 11.
Предпосылки
- Сервер под управлением 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:
MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'securepassword';
Затем предоставьте все привилегии базе данных LibreNMS, используя команду ниже:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
Наконец, сбросьте привилегии и выйдите из оболочки MariaDB, используя следующую команду:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> 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 librenms -d /opt/librenms -M -r -s /bin/bash
Затем добавьте пользователя LibreNMS в группу www-data с помощью следующей команды:
usermod -a -G librenms www-data
Затем загрузите последнюю версию LibreNMS из репозитория GitHub в каталог /opt:
git clone https://github.com/librenms/librenms.git /opt/librenms
Затем установите владельца и права доступа к каталогу LibreNMS:
chown -R librenms:librenms /opt/librenms
chmod 775 /opt/librenms setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
Затем измените пользователя на LibreNMS с помощью следующей команды:
su - librenms
Затем установите композитор PHP с помощью следующей команды:
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 /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 и начать их мониторинг из центрального местоположения. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.