Hoe LibreNMS Monitoring Tool met Nginx op CentOS 7 te installeren

 

LibreNMS is een open source monitoringtool op basis van PHP / MYSQL / SNMP. Het is een volledig uitgerust netwerkbewakingssysteem dat ondersteuning biedt voor een breed scala aan netwerkhardware en besturingssystemen, waaronder FreeBSD, Cisco, Linux, HP en meer.

In deze zelfstudie laten we u zien hoe u LibreNMS kunt installeren en configureren met Nginx als de webserver en MariaDB als de database. We zullen de CentOS 7-server gebruiken als onze hoofdserver.

Wat we gaan doen

  1. Installeer de vereiste pakketten
  2. Installeer de Nginx-webserver
  3. Installeer en configureer PHP-FPM
  4. Installeer en configureer MariaDB
  5. Download en configureer LibreNMS
  6. LibreNMS web-gebaseerde installatie
  7. Laatste configuratie

Eerste vereiste

  • CentOS 7-server
  • Rootprivileges

Stap 1 - Installeer de vereiste pakketten

Voordat we LibreNMS op de server installeren, moeten we enkele pakketten installeren, inclusief ImageMagick, rrdtool, SNMP, git, en meer. De volgende opdracht zou het volgende moeten doen:

yum -y installeer net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

Als alles goed gaat, gaat u verder met de volgende stap.

Stap 2 - Installeer de Nginx-webserver

In deze stap zullen we installeren Epel-repository voor installatie van nginx-webserver. De EPEL-opslagruimte (Extra pakketten voor Enterprise Linux) is een extra opslagplaats voor op rpm gebaseerd OS 'inclusief CentOS 7.

Installeer de EPEL-repository met behulp van de yum commando hieronder.

yum - installeer epel-release

Installeer nu nginx.

yum -y installeer nginx

Na de installatie van nginx start u de service en schakelt u deze automatisch in tijdens het opstarten met behulp van het volgende systemctl commando's.

systemctl start nginx
systemctl enable nginx

Dus de Nginx-webserver is op het systeem geïnstalleerd vanuit de EPEL-repository.

1-20-8791871

Stap 3 - Installeer en configureer PHP-FPM

Voordat we verder gaan, is hier wat informatie die het delen waard is:

We zullen PHP-FPM-versie 7 gebruiken voor de LibreNMS-installatie. Alle PHP 7-pakketten voor CentOS 7 zijn beschikbaar in de repository van derden en we zullen de PHP 7-versie gebruiken uit de 'webtatic'-repository.

Laten we beginnen.

Voeg PHP 7 webtatic repository toe aan het systeem met behulp van de volgende rpm-opdracht.

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

Installeer PHP 7 en alle benodigde extensies uit de wetatic repository met yum.

yum -y installeer php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

Werk nu de PEAR-repository bij en installeer enkele PEAR-extensies (PHP Extension en Application Repository) met behulp van de peer opdracht.

peer-kanaal-update pear.php.net
peren installeren Net_IPv4-1.3.4
pear installeert Net_IPv6-1.2.2b2

2-9-1401138

Op deze manier kunt u alle vereiste PHP-pakketten installeren.

Configureer vervolgens PHP-FPM voor LibreNMS-installatie. We moeten de standaardtijdzone in het bestand php.ini definiëren en zorgen dat de tijdzone overeenkomt met de huidige tijdzone die door het systeem wordt gebruikt. U kunt de huidige tijdzone die door uw systeem wordt gebruikt controleren met de volgende opdracht.

timedatectl

De volgende schermafbeelding toont de bovenstaande opdracht in actie:

3-11-5844189

Dus we gebruiken 'Europe / Paris' tijdzone.

Bewerk nu het bestand '/etc/php.ini' met vim.

vim /etc/php.ini

Maak vervolgens de regel 'date.timezone' ongeldig en geef een waarde op met de servertijdzone 'Europa / Parijs'.

data.timezone = Europa / Parijs

Vergelijk ook de cgi-regel en verander de waarde in '0'.

cgi.fix_pathinfo = 0

Dat is het. Sla nu de wijzigingen op en verlaat de editor.

Vervolgens moeten we definiëren hoe de PHP-FPM op het systeem draait. In ons geval draait PHP-FPM onder het 'sock'-bestand in plaats van de serverpoort.

Bewerk het 'www.conf'-bestand met vim om de PHP-FPM te configureren.

vim /etc/php-fpm.d/www.conf

Verander de 'luister' poort naar het sokbestand zoals hieronder.

listen = /var/run/php-fpm/php7.0-fpm.sock

Maak een uncomment van de 'luister'-regel voor eigenaar, groep en de toestemming van het sokbestand als onderstaande configuratie.

listen.owner = nginx listen.group = nginx listen.mode = 0660

Dat is het. Sla nu de wijzigingen op en verlaat de editor.

De PHP-FPM-configuratie is nu voltooid. Start de service en schakel deze automatisch in bij het opstarten met behulp van de volgende opdrachten.

systemctl start php-fpm
systemctl schakel php-fpm in

Nu draait PHP-FPM onder het sock-bestand. U kunt het controleren met de opdracht netstat.

netstat -pl | grep php

4-10-3362325

Zorg ervoor dat je het resultaat hebt van het bestand '/var/run/php-fpm/php7.0-fpm.sock'.

Stap 4 - Installeer en configureer MariaDB

LibreNMS gebruikt de MySQL-database om alle gegevens op te slaan. Voor deze handleiding gebruiken we de MariaDB-databaseversie. Het is beschikbaar in de repository en we moeten een aantal configuraties voor LibreNMS installeren en toevoegen, inclusief het toevoegen van de database en gebruiker voor LibreNMS.

Installeer MariaDB met onderstaande yum-opdracht.

yum -y installeer mariadb mariadb-server

Start de MariaDB-service en schakel deze automatisch in bij het opstarten.

systemctl start mariadb
systemctl enable mariadb

5-8-5175708

Configureer nu het MariaDB-root-wachtwoord met de opdracht 'mysql_secure_installation' hieronder.

mysql_secure_installation

U wordt gevraagd naar het nieuwe root-wachtwoord voor de MariaDB-database, samen met enkele andere vragen.

Typ 'Y' en druk op Enter om te bevestigen.

Stel root-wachtwoord in? [Y / n] Y Anonieme gebruikers verwijderen? [Y / n] Y Niet toestaan ​​dat rootaanmeldingen op afstand worden geregistreerd? [Y / n] Y Testdatabase verwijderen en er toegang toe hebben? [Y / n] Y Herlaad voorrechtstabellen nu? [Y / n] Y

Dus MariaDB is geïnstalleerd. Nu moeten we een nieuwe database en een nieuwe gebruiker voor LibreNMS maken. Login op de opdrachtregel van mysql shell met mysql-client en met je nieuwe wachtwoord.

mysql -u root -p

Maak een nieuwe database met de naam 'librenms', een nieuwe gebruiker'librenms'met wachtwoord'Hakase-labs123'.

Maak het allemaal met behulp van MySQL-query's hieronder.

CREATE DATABASE librenms KARAKTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms' @ 'localhost' IDENTIFICEERD DOOR 'hakase-labs123';
TOESTAAN ALLE VOORRECHTEN OP librenms. * NAAR 'librenms' @ 'localhost';
VOORRECHTEN VOOR FLU'S;

Er is een nieuwe gebruiker en database voor LibreNMS-installatie gemaakt.

6-7-3050893

Nu moet je het bestand my.cnf bewerken om een ​​nieuwe mysql-configuratie toe te voegen. Bewerk het bestand '/etc/my.cnf' met vim.

vim /etc/my.cnf

Plak de volgende aanvullende configuratie onder de '[Mysqld]' sectie.

innodb_file_per_table = 1 sql-mode = "" lower_case_table_names = 0

Sla op en sluit vim af en start de mariadb-server opnieuw op.

systemctl herstart mariadb

7-5-7976622

Stap 5 - Download en configureer LibreNMS

In deze stap zullen we het systeem configureren voor LibreNMS-installatie.

- Voeg gebruiker toe en download de LibreNMS-broncode

Maak een nieuwe systeemgebruiker met de naam 'librenms', definieer vervolgens de basismap voor de gebruiker in de map '/ opt / librenms' en voeg tenslotte de gebruiker 'librenms' toe aan 'nginx'.

useradd librenms -d / opt / librenms -M -r
usermod -a -G librenms nginx

Ga naar de map '/ opt /' en download de LibreNMS-broncode met git clone commando zoals hieronder.

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

8-7-9409029

Maak een nieuwe map voor LibreNMS-logbestanden en rrd-bestanden.

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

Verander nu het eigendom van alle bestanden en mappen onder de directory '/ opt / librenms' in de 'librenms' gebruiker en groep.

chown -R librenms: librenms / opt / librenms /

9-6-5475237

- Configureer LibreNMS virtuele host

LibreNMS is een webgebaseerde toepassing en we gebruiken een Nginx-webserver om deze te hosten.

Maak een nieuw virtueel hostbestand 'librenms.conf' onder de directory nginx 'conf.d'.

vim /etc/nginx/conf.d/librenms.conf

Plak onderstaande configuratie.

server {# Voeg uw eigen domeinnaam toe luister 80; servernaam librenms.irsyadf.me; # LibreNMS Webroot-map root / opt / librenms / html; index index.php; # LibreNMS logs access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # Gzip-compressie inschakelen op Nginx charset utf-8; gzip aan; gzip_types tekst / css applicatie / javascript tekst / javascript applicatie / x-javascript afbeelding / svg + xml tekst / platte tekst / xsd tekst / xsl tekst / xml afbeelding / x-pictogram; locatie / {try_files $ uri $ uri / /index.php?$query_string; } location / api / v0 {try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM verwerken alle .php-bestanden verzoeken locatie ~ .php {include fastcgi.conf; fastcgi_split_path_info ^ (. +. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } locatie ~ /.ht {ontken alles; }}

Dat is het. Sla nu op en verlaat Vim.

Test de configuratie van nginx en zorg ervoor dat er geen fout is. Start vervolgens de webserver opnieuw op.

nginx -t
systemctl herstart nginx

- Firewall-configuratie

Zorg ervoor dat de firewalld pakketten zijn op uw systeem geïnstalleerd. Als dat niet het geval is, kunt u firewalld installeren met de volgende yum-opdracht.

yum -y installeer firewalld

Start firewalld en schakel het in tijdens het opstarten met behulp van de volgende systemctl-opdrachten.

systemctl start firewalld
systemctl enable firewalld

10-5-3126659

Open nieuwe HTTP, HTTPS en de SNMP-poort 161 / udp met de opdracht firewall-cmd, zoals hieronder wordt weergegeven.

firewall-cmd -add-service = http -permanent
firewall-cmd -add-service = https -permanent
firewall-cmd -add-port = 161 / udp -permanent

Pas de configuratie toe door firewalld opnieuw te laden en alle services te controleren.

firewall-cmd -rlaad
firewall-cmd -list-all

Zorg ervoor dat HTTP- en HTTPS-services op de lijst staan.

Stap 6 - LibreNMS web-gebaseerde installatie

Open uw webbrowser en typ LibreNMS URL in de adresbalk.

http://librenms.hakase-labs.me/

U wordt doorgestuurd naar de installatiepagina 'install.php'.

- Controleer PHP Module-ondersteuning

Zorg ervoor dat alle vereiste php-modules en extensies op het systeem zijn geïnstalleerd.

11-5-6278878

Klik vervolgens op 'Volgende fase' om door te gaan.

- Databaseconfiguratie

Typ de databasedetails hieronder:

  1. DB-gebruiker: 'librenms'
  2. DB-naam: 'librenms'
  3. DB-pas: 'Hakase-labs123'

12-5-4969362

En klik op 'Volgende fase' om door te gaan.

- MySQL-database importeren

Sluit de installatiepagina niet, want deze toont database-import. Zorg dat er geen fouten zijn.

13-6-4550490

Wanneer het proces is voltooid, klikt u op 'Ga naar gebruiker toevoegen' om een ​​nieuwe beheerder toe te voegen.

- Voeg Admin-gebruiker toe

Voer je admin-gebruiker, e-mailadres en wachtwoord in.

14-6-5898317

Klik op 'Gebruiker toevoegen' om door te gaan met de installatie.

- Configuratiebestand genereren

15-4-9799622

Klik op de knop 'Configuratie genereren' en u ziet een pagina die lijkt op de volgende.

16-4-7533339

Kopieer de php-code die in de box staat en maak een nieuw 'config.php'-bestand aan in de map' / opt / librenms / '.

cd / opt / librenms /
vim config.php

Plak in het nieuwe bestand de code die u zojuist hebt gekopieerd en sla de editor op en sluit deze af. Verander nu de eigendomspermissies van het config.php bestand naar de 'librenms' gebruiker en groep.

chown librenms: librenms config.php

17-4-4638651

Keer terug naar uw browser en klik op de knop 'Installatie voltooien' aan de onderkant van de pagina. U krijgt een welkomstbericht te zien die lijkt op het volgende.

18-5-3608141

In dit stadium zijn we klaar met de webgebaseerde installatie. Terug naar de terminal / shell en voeg meer configuratie toe.

Stap 7 - Eindconfiguratie

Bij deze stap zullen we wat configuratie toevoegen voor onze LibreNMS-installatie.

- Definieer het fping-commando

Definieer de 'fping'-opdracht door het LibreNMS-configuratiebestand te bewerken. Ga naar de map '/ opt / librenms /' en bewerk het config.php-bestand met de vim-editor.

cd / opt / librenms /
vim config.php

Voeg de volgende regel toe aan de onderkant van het bestand.

$ config ['fping'] = "/ usr / sbin / fping";

Sla op en verlaat de editor.

- SNMP-configuratie

Maak een back-up van het standaard snmp.conf-bestand in de map '/ etc / snmp /' en kopieer een nieuw exemplaar uit de map librenms.

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.asli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Bewerk de nieuwe configuratie.

vim /etc/snmp/snmpd.conf

Wijzig de tekst 'RANDOMSTRINGGOESHERE' met uw eigen communitynaam, zoals hieronder.

com2sec readonly standaard hakaselabs

Dat is het. Sla op en sluit Vim af.

19-5-3831937

Download vervolgens de librenms agent script om te detecteren welk besturingssysteem je hebt toegevoegd. Als u Linux OS toevoegt, zal het script ook de specifieke Linux-distributie detecteren.

Download het script met behulp van krullen en maak het uitvoerbaar.

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

Start nu de SNMP-service opnieuw op met de volgende systemctl-opdracht.

systemctl herstart snmpd

- Configureer Logrotate voor LibreNMS

LibreNMS biedt configuratie voor de logrotate-configuratie en bevindt zich in de map '/ opt / librenms / misc'.

Kopieer het voorbeeld van de configuratie naar de map '/etc/logrotate.d'.

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

- LibreNMS cronjob-configuratie

Ga naar de map 'opt / librenms' en kopieer het bestand 'librenms.nonroot.cron' van het crontab-script naar de map 'cron.d'.

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

Wacht een paar minuten totdat het script automatisch wordt uitgevoerd.

- Bevestig LibreNMS-configuratie

Gebruik de. Om de installatie te verifiëren validate.php script. Ga naar de map '/ opt / librenms /' en voer het script uit.

cd / opt / librenms /
./validate.php

Ervan uitgaande dat u geen fouten tegenkomt, zou u een uitvoer moeten zien die lijkt op het volgende:

20-3-7829948

Dit maakt de LibreNMS-installatie compleet met de Nginx-webserver op CentOS 7.

bron