Как да инсталирате инструмента за наблюдение на LibreNMS с Nginx на centOS 7

Ние знаем много добре, че когато използваме дистрибуции на Linux, имаме възможност за внедряване на стотици или може би хиляди приложения и програми с отворен код, които освен че са безплатни, драстично ще увеличат възможностите на нашите екипи.

Има приложения, разработени за всяка област на една организация и затова днес Solvetic ще анализира подробно как да инсталираме инструмента LibreNMS и по този начин ще ни позволи като администратори да имаме под ръка мощен инструмент за анализ и мониторинг, като по този начин ни позволява да бъдем наясно с всички промени, които засягат дистрибуцията, върху която работим.

Какво е LibreNMSLibreNMS е инструмент за мониторинг с отворен код, базиран на PHP, MYSQL и SNMP. LibreNMS е пълнофункционална система за мониторинг на мрежа за широк спектър от мрежови хардуер и операционни системи, включително FreeBSD, Cisco, Linux, HP и др.

Когато използваме LibreNMS, ще имаме следните характеристики:

  • Автоматично откриване, тъй като позволява автоматично откриване на цялата мрежа, използвайки CDP, FDP, LLDP, OSPF, BGP, SNMP и ARP
  • Конфигурируеми сигнали, които ни позволяват да получаваме сигнали по имейл, irc, slack и други
  • Достъп чрез API за управление, графики и извличане на данни от вашата инсталация
  • Той има система за събиране, чрез която можем да генерираме фактури за честотна лента за мрежови портове според използването или прехвърлянето
  • Има автоматични актуализации
  • Високи нива на мащабируемост
  • Има приложения за Android и iOS
  • Широка поддръжка на устройства
  • Удобен мобилен уеб потребителски интерфейс
  • Агент на Unix
  • Може да се интегрира с NfSen, colledd, SmokePing, RANCID и Oxidized
  • Поддържа MySQL, HTTP, LDAP, Radius и Active Directory методи за удостоверяване

Предишни изискванияЗа да инсталирате и използвате LibreNMS, ще ви трябва следното:

  • CentOS 7 Minimal
  • Потребител с root права

1. Инсталиране на необходимите пакети за Linux


Преди да инсталирате LibreNMS на CentOS 7, ще е необходимо да инсталирате някои пакети, включително ImageMagick, rrdtool, SNMP, git и др. Тези пакети могат да бъдат инсталирани със следната команда:
 yum -y инсталирайте net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

Увеличете

След като инсталацията приключи, ще видим следното:

Увеличете

2. Как да инсталирате Nginx сървър


Nginx [engine x] е HTTP сървър и обратен прокси, пощенски прокси сървър и общ TCP / UDP прокси сървър, първоначално написан от Игор Сисоев. От дълго време той работи на много силно заредени руски сайтове, включително Yandex, Mail.Ru, VK и Rambler и в момента се използва като HTTP сървър в световен мащаб.

Етап 1
Преди да инсталираме Nginx, трябва да инсталираме хранилищата epel за инсталирането на уеб сървър Nginx. Хранилището на EPEL (Допълнителни пакети за Enterprise Linux) е допълнително хранилище за базирани на RPM ОС, включително CentOS 7. Ще изпълним следното:

 yum -y инсталирайте epel -release

Увеличете

Стъпка 2
Сега продължаваме с инсталирането на сървъра Nginx със следната команда:

 yum -y инсталирайте nginx

Увеличете

Стъпка 3
След като Nginx е инсталиран на CentOS 7, ще видим следното:

Увеличете

Стъпка 4
След като инсталираме Nginx на CentOS 7, ще стартираме услугата и ще я разрешим да работи автоматично при стартиране, като използваме следните команди systemctl:

 systemctl стартиране nginx systemctl активиране на nginx

Увеличете

Стъпка 5
Следователно уеб сървърът Nginx е инсталиран в системата от хранилището на EPEL и можем да го проверим, като изпълним следния ред:

 netstat -plntu

Увеличете

Там ще видим портовете, чрез които ще се свържем с Nginx.

3. Как да инсталирате и конфигурирате PHP-FPM

Етап 1
За този случай ще използваме версия 7 на PHP-FPM за инсталацията на LibreNMS. Всички пакети PHP 7 за CentOS 7 са достъпни от хранилището на трети страни и ние ще използваме PHP 7 версията на хранилището „webtatic“.
За да направите това, първо ще добавим PHP 7 webtatic хранилище към системата, като използваме следната команда rpm:

 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Увеличете

Стъпка 2
След това ще инсталираме PHP 7 и всички необходими разширения от мокрото хранилище с помощта на yum:

 yum -y инсталирайте php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-круша php70w-curl php70w-обикновен php70w-fpm php70w-mcrypt

Увеличете

Стъпка 3
След като изтеглите и инсталирате, ще актуализираме хранилището PEAR и ще инсталираме някои разширения PEAR (разширение PHP и хранилище за приложения), като използваме командата pear:

 крушов канал-актуализация pear.php.net крушово инсталиране Net_IPv4-1.3.4 крушово инсталиране Net_IPv6-1.2.2b2

Увеличете

След това ще конфигурираме PHP-FPM за инсталацията на LibreNMS.

Стъпка 4
Първо, ще е необходимо да дефинирате часовата зона по подразбиране във файла php.ini и да се уверите, че часовата зона съответства на текущата часова зона, използвана от системата. Можем да проверим текущата часова зона, използвана от вашата система чрез следната команда:

 timedatectl

Увеличете

Стъпка 5
След като определим часовата зона, пристъпваме към редактиране на файла php.ini по следния път: /etc/php.ini, можем да направим това с всеки редактор като nano или vim:

 nano /etc/php.ini
Във файла, който ще се покаже, ще направим следните промени:

Ще декомментираме реда date.timezone и ще добавим зоната, показана от командата timedatectl

Увеличете

Ще декомментираме реда cgi.fix_pathinfo и ще присвоим стойността му на нула (0)

Увеличете

Запазваме промените с помощта на комбинацията от клавиши Ctrl + O и излизаме от редактора, използвайки Ctrl + X.

Стъпка 6
Следващата стъпка е да определите как PHP-FPM работи в системата. В този случай PHP-FPM ще работи под файла „sock“ вместо през сървърния порт. Редактирайте файла „www.conf“ с nano, за да конфигурирате PHP-FPM:

 nano /etc/php-fpm.d/www.conf
Там ще променим реда за слушане, който има стойността по подразбиране 127.0.0.1:9000, на следното:
 слушайте = /var/run/php-fpm/php7.0-fpm.sock

Увеличете

Стъпка 7
В същия файл ще декомментираме следните редове. Запазваме промените на сървъра.

 listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM вече е завършен, можем да стартираме услугата и да я разрешим да работи автоматично при стартиране, като използваме следните команди:
 systemctl стартиране на php-fpm systemctl активиране на php-fpm
Ще проверим дали PHP-FPM работи под файла на чорапа, това може да се провери с командата netstat:
 netstat -pl | grep php

Увеличете

4. Как да инсталирате и конфигурирате MariaDB

Етап 1
LibreNMS използва базата данни MySQL за съхраняване на всички данни. В този случай ще използваме версията на базата данни MariaDB, която е налична в хранилището, и ще е необходимо да инсталираме и добавим някаква конфигурация за инсталацията на LibreNMS, включително добавянето на базата данни и потребителя за LibreNMS.

Ще инсталираме MariaDB, като изпълним следното:

 yum -y инсталирате mariadb mariadb -сървър

Увеличете

Стъпка 2
След като бъде инсталиран, ще стартираме услугата MariaDB и ще я активираме автоматично при стартиране:

 systemctl стартиране на mariadb systemctl активиране на mariadb 

Увеличете

Стъпка 3
Можем да проверим услугата със съответния порт, като изпълним следното:

 netstat -plintu

Увеличете

Стъпка 4
Сега трябва да конфигурираме основната парола на MariaDB с помощта на командата 'mysql_secure_installation': В показаните въпроси ще отговорим на следното:

 Задаване на парола за root? [Д / н] Д Премахване на анонимни потребители? [Y / n] Y Да се ​​забрани отдалечено влизане в root? [Д / н] Д Премахване на тестовата база данни и достъп до нея? [Д / н] Д Презареждане на таблици с привилегии сега? [Д / Н] Д

Увеличете

По този начин е инсталиран MariaDB.

Стъпка 5
Следващата стъпка е създаването на нова база данни и нов потребител за LibreNMS. Влезте в командния ред на mysql shell с помощта на mysql клиента и с новата парола:

 mysql -u корен -p
Създайте нова база данни, наречена „librenms“, нов потребител „librenms“ с парола „password123“
 СЪЗДАВАНЕ НА БАЗА ДАННИ librenms НАБОР НА ХАРАКТЕРИ utf8 COLLATE utf8_unicode_ci; СЪЗДАВАНЕ НА ПОТРЕБИТЕЛЯ 'librenms' @ 'localhost' ИДЕНТИФИЦИРАНО ОТ 'password123'; ПРЕДОСТАВЕТЕ ВСИЧКИ ПРИВИЛЕГИИ НА librenms. * НА 'librenms' @ 'localhost'; ФЛУШ ПРИВИЛЕГИ;
Излизаме от MariaDB чрез изпълнение на командата exit.

Увеличете

5. Как да конфигурирате MySQL


Сега трябва да редактираме файла my.cnf, за да добавим нова конфигурация на mysql. Ще редактираме файла /etc/my.cnf с помощта на nano:
 nano /etc/my.cnf
В показания файл ще поставим следното в секцията [mysqld]:
 innodb_file_per_table = 1 sql-mode = "" lower_case_table_names = 0

Увеличете

Запазваме промените. Сега ще рестартираме услугата MariaDB, като изпълним следното:

 systemctl рестартирайте mariadb

6. Как да изтеглите и конфигурирате LibreNMS


След като всичко по -горе е конфигурирано, следващата стъпка е да подготвим системата за LibreNMS и за това ще направим следното.

Етап 1
На този етап ще създадем нов системен потребител, наречен „librenms“, след което ще определим началната директория за потребителя в директорията / opt / librenms и накрая ще добавим потребителя librenms към групата nginx:

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
След като потребителят бъде създаден и добавен към съответната група, ще отидем в директорията / opt / и ще изтеглим изходния код на LibreNMS с помощта на командата git clone, както следва:
 useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

Увеличете

Стъпка 2
Ще създадем нова директория за регистрационните файлове на LibreNMS и rrd файловете:

 mkdir -p / opt / librenms / logs / mkdir -p / opt / librenms / rrd / chmod 775 / opt / librenms / rrd /

Увеличете

Сега ще променим собствеността на всички файлове и директории в директорията / opt / librenms на потребителя и групата librenms, като изпълним следното:

 chown -R librenms: librenms / opt / librenms /

7. Как да конфигурирате виртуалния хост на LibreNMS


LibreNMS е уеб базирано приложение и до този момент използваме Nginx уеб сървър, за да го хостваме.
Ще създадем нов виртуален хост файл librenms.conf в директорията nginx conf.d, като изпълним следното:
 nano /etc/nginx/conf.d/librenms.conf
В този нов файл ще поставим следното:
 сървър {# Добавете собствено име на домейн слушайте 80; име на сървър librenms.irsyadf.me; # LibreNMS Webroot директория root / opt / librenms / html; индекс index.php; # Регистрационни файлове на LibreNMS access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # Активиране на Gzip компресиране на Nginx charset utf-8; gzip на; gzip_types текст / css приложение / javascript текст / javascript приложение / x-javascript изображение / svg + xml текст / обикновен текст / xsd текст / xsl текст / xml изображение / x-икона; местоположение / {try_files $ uri $ uri / /index.php?$query_string; } местоположение / api / v0 {try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM обработва всички .php файлови заявки за местоположение ~ \ .php {включват fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } местоположение ~ /\.ht {отхвърли всички; }}

Увеличете

Можем да запазим промените с помощта на клавишите Ctrl + O и да излезем от редактора с помощта на Ctrl + X. Сега можем да тестваме конфигурацията на Nginx, като изпълним следното:

 nginx -t

Увеличете

Ще рестартираме услугата Nginx, като изпълним:

 systemctl рестартирайте nginx

8. Как да конфигурирате защитната стена в CentOS 7


Трябва да потвърдим, че пакетите firewalld са инсталирани във вашата система, ако не, можем да инсталираме firewalld със следната команда yum:
 yum -y инсталирайте firewalld
След като бъде инсталиран, ще стартираме firewalld и ще го активираме при стартиране със следните команди systemctl:
 systemctl стартира firewalld systemctl активира firewalld
След като бъде активирано, ще добавим следните редове, за да активираме съответните услуги:
 firewall-cmd --add-service = http --permanent firewall-cmd --add-service = https --permanent firewall-cmd --add-port = 161 / udp -permanent
Ние прилагаме промените, като презаредим firewalld със следната команда:
 защитна стена -cmd -презареждане
Можем да изброим правилата, за да потвърдим, че услугите са добавени правилно:
 firewall-cmd --list-all

Увеличете

Ще имаме достъп от всеки браузър, като въведем IP адреса на сървъра, ще въведем идентификационните данни и това ще бъде средата LibreNMS:

Увеличете

Оттам можем да извършваме цялото управление на свързаните устройства.

wave wave wave wave wave