К основному контенту

Как установить самому сигнализацию с автозапуском – практические советы

🕕 Как установить LibreNMS на RHEL / CentOS 8

Добро пожаловать в сегодняшнее руководство по установке и настройке LibreNMS в RHEL/CentOS 8.

LibreNMS — это инструмент для автоматического обнаружения сетевых ресурсов с открытым исходным кодом, основанный на PHP, MySQL и SNMP.

LibreNMS включает поддержку широкого спектра сетевого оборудования и операционных систем, включая Juniper, Cisco, Linux, Foundry, FreeBSD, Brocade, HP, Windows и многие другие.

Это форк инструмента мониторинга «Observium».

Особенности LibreNMS

Основные функции инструмента мониторинга LibreNMS:

  • Имеет автоматическое обнаружение — он автоматически обнаружит всю вашу сеть, используя CDP, FDP, LLDP, OSPF, BGP, SNMP и ARP
  • Доступ к API — LibreNMS предоставляет полный API для управления, построения графиков и получения данных из вашей установки.
  • Автоматические обновления — с LibreNMS вы получаете автоматическое обновление с новыми функциями и исправлениями ошибок.
  • Настраиваемое оповещение — Гибкая система оповещения, уведомление по электронной почте, IRC.
  • Поддержка распределенного опроса через горизонтальное масштабирование, которое растет с вашей сетью
  • Биллинговая система — Легко генерируйте счета за пропускную способность для портов в вашей сети на основе использования или передачи.
  • Приложение для Android и iOS — доступно нативное приложение для iPhone/Android, которое обеспечивает основные функции.
  • Несколько методов аутентификации: MySQL, HTTP, LDAP, Radius, Active Directory
  • Интеграционная поддержка NfSen, collectd, SmokePing, RANCID, Oxidized

Выполните следующие шаги, чтобы установить и настроить LibreNMS в RHEL/CentOS 8.

Перед началом установки убедитесь, что у вас установлен репозиторий EPEL в RHEL/CentOS 8.

? Как установить репозиторий EPEL на RHEL 8/CentOS 8

Шаг 1: Установите необходимые зависимости

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

Добавьте репозиторий EPEL в RHEL/CentOS 8, используя наше руководство ниже.

? Как установить репозиторий EPEL на RHEL 8/CentOS 8

Откройте свой терминал и выполните приведенные ниже команды, чтобы установить необходимые зависимости.

sudo dnf -y install yum-utils sudo dnf -y install zip unzip git cronie wget fping net-snmp net-snmp-utilsjwhois mtr rrdtoolnmap

Шаг 2: Установите PHP и Apache

Установите веб-сервер Apache, PHP и расширения, необходимые для LibreNMS.

sudo yum install @httpd @php php-{cli,common,curl,gd,mbstring,mysqlnd,process,snmp,xml,zip}

Запустите сервис Apache и PHP FPM.

sudo systemctl enable --now php-fpm httpd

Проверьте статус службы

$ sudo systemctl status php-fpm httpd ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2018-12-29 11:30:09 EAT; 9s ago Main PID: 353 (php-fpm) Status: "Ready to handle connections" Tasks: 6 (limit: 11510) Memory: 25.2M CGroup: /system.slice/php-fpm.service ├─353 php-fpm: master process (/etc/php-fpm.conf) ├─359 php-fpm: pool www ├─360 php-fpm: pool www ├─361 php-fpm: pool www ├─362 php-fpm: pool www └─363 php-fpm: pool www Dec 29 11:30:09 rhel8.local systemd[1]: Starting The PHP FastCGI Process Manager… Dec 29 11:30:09 rhel8.local systemd[1]: Started The PHP FastCGI Process Manager. ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d └─php-fpm.conf Active: active (running) since Sat 2018-12-29 11:30:10 EAT; 8s ago Docs: man:httpd.service(8) Main PID: 365 (httpd) Status: "Started, listening on: port 443, port 80" Tasks: 213 (limit: 11510) Memory: 33.4M CGroup: /system.slice/httpd.service ├─365 /usr/sbin/httpd -DFOREGROUND ├─367 /usr/sbin/httpd -DFOREGROUND ├─368 /usr/sbin/httpd -DFOREGROUND ├─369 /usr/sbin/httpd -DFOREGROUND └─370 /usr/sbin/httpd -DFOREGROUND Dec 29 11:30:10 rhel8.local systemd[1]: Starting The Apache HTTP Server… Dec 29 11:30:10 rhel8.local httpd[365]: Server configured, listening on: port 443, port 80 Dec 29 11:30:10 rhel8.local systemd[1]: Started The Apache HTTP Server.

Проверьте версию PHP и загруженные модули.

$ php -v PHP 7.2.11 (cli) (built: Oct9 2018 15:09:36) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies $ php -m

Установите часовой пояс PHP внутри файла /etc/php.ini.

$ grep date.timezone /etc/php.ini  ; http://php.net/date.timezone date.timezone = Africa/Nairobi

Разрешите порты http и https на брандмауэре.

sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload

Шаг 3: Установите и настройте сервер базы данных

Установите сервер базы данных MariaDB на RHEL/CentOS 8, используя приведенное ниже руководство.

Вы можете использовать сервер баз данных MySQL или MariaDB.

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

$ mysql -u root -p CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongDBPassword'; GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost'; FLUSH PRIVILEGES; exit

Отредактируйте файл my.cnf и добавьте следующие строки в раздел [mysqld]:

$ sudo vim /etc/my.cnf.d/mariadb-server.cnf

В разделе [mysqld] добавьте:

innodb_file_per_table=1 lower_case_table_names=0

Перезапустите службу mariadb

sudo systemctl enable mariadb sudo systemctl restart mariadb

Статус сервиса должен показывать running

$ systemctl status mariadb ● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2018-12-29 11:45:07 EAT; 10s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 2340 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 2271 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS) Process: 2245 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 2309 (mysqld) Status: "Taking your SQL requests now…" Tasks: 30 (limit: 11510) Memory: 74.9M CGroup: /system.slice/mariadb.service └─2309 /usr/libexec/mysqld --basedir=/usr Dec 29 11:45:06 rhel8.local systemd[1]: Starting MariaDB 10.3 database server… Dec 29 11:45:06 rhel8.local mysql-prepare-db-dir[2271]: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done. Dec 29 11:45:06 rhel8.local mysql-prepare-db-dir[2271]: If this is not the case, make sure the /var/lib/mysql is empty before running mysql-prepare-db> Dec 29 11:45:07 rhel8.local mysqld[2309]: 2018-12-29 11:45:07 0 [Note] /usr/libexec/mysqld (mysqld 10.3.10-MariaDB) starting as process 2309 … Dec 29 11:45:07 rhel8.local mysqld[2309]: 2018-12-29 11:45:07 0 [Warning] Could not increase number of max_open_files to more than 1024 (request: 4182) Dec 29 11:45:07 rhel8.local mysqld[2309]: 2018-12-29 11:45:07 0 [Warning] Changed limits: max_open_files: 1024max_connections: 151 (was 151)table_> Dec 29 11:45:07 rhel8.local systemd[1]: Started MariaDB 10.3 database server.

Шаг 4: Установите и настройте LibreNMS на RHEL/CentOS 8

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

sudo useradd librenms -d /opt/librenms -M -r sudo usermod -a -G librenms apache

Клонируйте проект Github

cd /opt sudo git clone https://github.com/librenms/librenms.git sudo chown librenms:librenms -R /opt/librenms

Установить зависимости PHP

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

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



Скопируйте и настройте шаблон конфигурации SNMP:

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf sudo vim /etc/snmp/snmpd.conf

Установите строку сообщества, заменив RANDOMSTRINGGOESHERE

com2sec readonlydefaultMyInternalNetwork

Скачайте скрипт идентификатора версии дистрибутива

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

Затем запустите и включите службу snmpd.

$ sudo systemctl enable snmpd $ sudo systemctl restart snmpd $ sudo systemctl status snmpd ● snmpd.service - Simple Network Management Protocol (SNMP) Daemon. Loaded: loaded (/usr/lib/systemd/system/snmpd.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2018-12-29 12:07:23 EAT; 5s ago Main PID: 2747 (snmpd) Tasks: 1 (limit: 11510) Memory: 5.4M CGroup: /system.slice/snmpd.service └─2747 /usr/sbin/snmpd -LS0-6d -f Dec 29 12:07:23 rhel8.local systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon…. Dec 29 12:07:23 rhel8.local snmpd[2747]: NET-SNMP version 5.8 Dec 29 12:07:23 rhel8.local systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..

Настройте Apache

Создайте новый файл конфигурации Apache для LibreNMS.

sudo vi /etc/httpd/conf.d/librenms.conf

Добавьте следующий конфиг, отредактируйте ServerName :

 DocumentRoot /opt/librenms/html/ ServerNamelibrenms.example.com AllowEncodedSlashes NoDecode  Require all granted AllowOverride All Options FollowSymLinks MultiViews  

Настройте политику SELinux

Разрешить Apache обслуживать файлы в /opt/librenms/html/

sudo semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/logs(/.*)?' sudo semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/logs(/.*)?' sudo restorecon -RFvv /opt/librenms/logs/ sudo semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/rrd(/.*)?' sudo semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/rrd(/.*)?' sudo restorecon -RFvv /opt/librenms/rrd/ sudo semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/storage(/.*)?' sudo semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/storage(/.*)?' sudo restorecon -RFvv /opt/librenms/storage/ sudo semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/bootstrap/cache(/.*)?' sudo semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/bootstrap/cache(/.*)?' sudo restorecon -RFvv /opt/librenms/bootstrap/cache/ sudo setsebool -P httpd_can_sendmail=1

Разрешите пинг

Создайте файл http_fping.tt со следующим содержимым.

module http_fping 1.0; require { type httpd_t; class capability net_raw; class rawip_socket { getopt create setopt write read }; } #============= httpd_t ============== allow httpd_t self:capability net_raw; allow httpd_t self:rawip_socket { getopt create setopt write read };

Затем запустите эти команды

sudo checkmodule -M -m -o http_fping.mod http_fping.tt sudo semodule_package -o http_fping.pp -m http_fping.mod sudo semodule -i http_fping.pp

Если все выглядит хорошо, перезапустите службу httpd

sudo systemctl restart httpd

Настройте задания cron

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

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

LibreNMS ведет журналы в /opt/librenms/logs.

Со временем они могут стать большими.

Чтобы ратировать старые журналы, вы можете использовать предоставленный файл конфигурации logrotate:

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

Установите правильные разрешения

sudo chown -R librenms:librenms /opt/librenms setfacl -d -m g::rwx /opt/librenms/logs 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/

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

Откройте http://librenms.example.com/install.php в своем веб-браузере, чтобы завершить установку.



Подтвердите, что все предустановочные проверки прошли, и нажмите «Next Stage»

2. Настройте учетные данные базы данных, созданные ранее.

Он начнет импортировать схему базы данных и заполнит данные



Если импорт был успешным, вы должны получить сообщение, как показано ниже.



3. На следующей странице вам будет предложено настроить учетную запись администратора.



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

Путь к файлу должен быть /opt/librenms/config.php

  

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользо

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображе

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone h