- 1. De vereiste Linux-pakketten installeren
- 2. Hoe de Nginx-server te installeren
- 3. Hoe PHP-FPM te installeren en configureren
- 4. Hoe MariaDB te installeren en configureren
- 5. Hoe MySQL te configureren
- 6. LibreNMS downloaden en configureren
- 7. Hoe de LibreNMS virtuele host te configureren
- 8. Firewall configureren in CentOS 7
We weten heel goed dat we bij het gebruik van Linux-distributies de mogelijkheid hebben om honderden of misschien duizenden open source-applicaties en programma's te implementeren die, behalve dat ze gratis zijn, de mogelijkheden van onze teams drastisch zullen vergroten.
Er zijn applicaties ontwikkeld voor elk gebied van een organisatie en daarom zal Solvetic vandaag in detail analyseren hoe de LibreNMS-tool moet worden geïnstalleerd en ons zo als beheerders in staat stelt een krachtige analyse- en monitoringtool bij de hand te hebben, waardoor we op de hoogte van alle veranderingen die van invloed zijn op de distro waaraan we werken.
Wat is LibreNMSLibreNMS is een open source monitoring tool gebaseerd op PHP, MYSQL en SNMP. LibreNMS is een volledig uitgerust netwerkbewakingssysteem voor een breed scala aan netwerkhardware en -besturingssystemen, waaronder FreeBSD, Cisco, Linux, HP en meer.
Bij gebruik van LibreNMS hebben we de volgende kenmerken:
- Automatische detectie, omdat hiermee automatisch het hele netwerk kan worden ontdekt met behulp van CDP, FDP, LLDP, OSPF, BGP, SNMP en ARP
- Configureerbare waarschuwingen, waardoor we waarschuwingen kunnen ontvangen via e-mail, irc, slack en meer
- Toegang via API voor het beheren, weergeven en ophalen van gegevens uit uw installatie
- Het heeft een incassosysteem waarmee we bandbreedtefacturen voor netwerkpoorten kunnen genereren op basis van gebruik of overdracht
- Het heeft automatische updates
- Hoge schaalbaarheid
- Het heeft applicaties voor Android en iOS
- Brede apparaatondersteuning
- Mobielvriendelijke webgebruikersinterface
- Unix-agent
- Kan worden geïntegreerd met NfSen, Collectd, SmokePing, RANCID en Oxidized
- Ondersteunt MySQL-, HTTP-, LDAP-, Radius- en Active Directory-verificatiemethoden
Eerdere vereistenOm LibreNMS te installeren en te gebruiken heeft u het volgende nodig:
- CentOS 7 minimaal
- Gebruiker met root-rechten
1. De vereiste Linux-pakketten installeren
Voordat u LibreNMS op CentOS 7 installeert, moet u enkele pakketten installeren, waaronder ImageMagick, rrdtool, SNMP, git en meer. Deze pakketten kunnen worden geïnstalleerd met het volgende commando:
yum -y installeer net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git
VERGROTEN
Zodra de installatie is voltooid, zien we het volgende:
VERGROTEN
2. Hoe de Nginx-server te installeren
Nginx [engine x] is een HTTP-server en reverse proxy, een mailproxyserver en een generieke TCP/UDP-proxyserver, oorspronkelijk geschreven door Igor Sysoev. Het draait al lange tijd op veel zwaarbelaste Russische sites, waaronder Yandex, Mail.Ru, VK en Rambler en wordt momenteel wereldwijd als HTTP-server gebruikt.
Stap 1
Voordat we Nginx installeren, moeten we de epel-repository's voor de Nginx-webserverinstallatie installeren. De EPEL-repository (Additional Packages for Enterprise Linux) is een extra repository voor RPM-gebaseerd besturingssysteem, inclusief CentOS 7. We zullen het volgende uitvoeren:
yum -y installeer epel-release
VERGROTEN
Stap 2
Nu gaan we verder met de installatie van de Nginx-server met het volgende commando:
yum -y installeer nginx
VERGROTEN
Stap 3
Zodra Nginx op CentOS 7 is geïnstalleerd, zien we het volgende:
VERGROTEN
Stap 4
Na het installeren van Nginx op CentOS 7, zullen we de service starten en deze automatisch laten draaien bij het opstarten met behulp van de volgende systemctl-opdrachten:
systemctl start nginx systemctl activeer nginx
VERGROTEN
Stap 5
Daarom is de Nginx-webserver vanuit de EPEL-repository op het systeem geïnstalleerd en kunnen we deze controleren door de volgende regel uit te voeren:
netstat -plntu
VERGROTEN
Daar zullen we de poorten zien waarmee we verbinding zullen maken met Nginx.
3. Hoe PHP-FPM te installeren en configureren
Stap 1
In dit geval zullen we versie 7 van PHP-FPM gebruiken voor de LibreNMS-installatie. Alle PHP 7-pakketten voor CentOS 7 zijn beschikbaar via de externe repository en we zullen gebruik maken van de PHP 7-versie van de 'webtatic'-repository.
Om dit te doen, zullen we eerst de PHP 7 webtatic repository aan het systeem toevoegen met behulp van de volgende rpm-opdracht:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
VERGROTEN
Stap 2
Vervolgens zullen we PHP 7 en alle benodigde extensies uit de natte repository installeren met yum:
yum -y installeer php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt
VERGROTEN
Stap 3
Eenmaal gedownload en geïnstalleerd, zullen we de PEAR-repository bijwerken en enkele PEAR-extensies (PHP Extension en Application Repository) installeren met behulp van de peer-opdracht:
peer kanaal-update peer.php.net peer installatie Net_IPv4-1.3.4 peer installatie Net_IPv6-1.2.2b2
VERGROTEN
Vervolgens zullen we PHP-FPM configureren voor de LibreNMS-installatie.
Stap 4
Eerst moet u de standaardtijdzone definiëren in het php.ini-bestand en ervoor zorgen dat de tijdzone overeenkomt met de huidige tijdzone die door het systeem wordt gebruikt. We kunnen de huidige tijdzone die door uw systeem wordt gebruikt, verifiëren met de volgende opdracht:
timedatectl
VERGROTEN
Stap 5
Zodra we de tijdzone hebben gedefinieerd, gaan we verder met het bewerken van het php.ini-bestand in het volgende pad: /etc/php.ini, we kunnen dit doen met elke editor zoals nano of vim:
nano /etc/php.iniIn het bestand dat wordt weergegeven, zullen we de volgende wijzigingen aanbrengen:
We zullen het commentaar op de date.timezone-regel verwijderen en de zone toevoegen die wordt weergegeven door de opdracht timedatectl
VERGROTEN
We zullen het commentaar op de regel cgi.fix_pathinfo verwijderen en de waarde ervan toewijzen aan nul (0)
VERGROTEN
We slaan de wijzigingen op met de toetsencombinatie Ctrl + O en verlaten de editor met Ctrl + X.
Stap 6
De volgende stap is om te definiëren hoe PHP-FPM op het systeem draait. In dit geval zal PHP-FPM draaien onder het 'sock'-bestand in plaats van de serverpoort. Bewerk het bestand 'www.conf' met nano om PHP-FPM te configureren:
nano /etc/php-fpm.d/www.confDaar zullen we de luisterregel, die de standaardwaarde 127.0.0.1:9000 heeft, als volgt wijzigen:
luister = /var/run/php-fpm/php7.0-fpm.sock
VERGROTEN
Stap 7
In hetzelfde bestand zullen we de volgende regels verwijderen. We slaan de wijzigingen op de server op.
listen.owner = nginx listen.group = nginx listen.mode = 0660PHP-FPM is nu voltooid, we kunnen de service starten en automatisch laten starten bij het opstarten met behulp van de volgende opdrachten:
systemctl start php-fpm systemctl activeer php-fpmWe zullen controleren of PHP-FPM draait onder het sokbestand, dit kan worden geverifieerd met het netstat-commando:
netstat -pl | grep php
VERGROTEN
4. Hoe MariaDB te installeren en configureren
Stap 1
LibreNMS maakt gebruik van de MySQL-database om alle gegevens op te slaan. In dit geval zullen we de versie van de MariaDB-database gebruiken die beschikbaar is in de repository, en het zal nodig zijn om een configuratie voor de LibreNMS-installatie te installeren en toe te voegen, inclusief de toevoeging van de database en de gebruiker voor LibreNMS.
We zullen MariaDB installeren door het volgende uit te voeren:
yum -y installeer mariadb mariadb-server
VERGROTEN
Stap 2
Eenmaal geïnstalleerd, zullen we de MariaDB-service starten en deze automatisch laten starten bij het opstarten:
systemctl start mariadb systemctl zet mariadb aan
VERGROTEN
Stap 3
We kunnen de service controleren met de respectieve poort door het volgende uit te voeren:
netstat -plintu
VERGROTEN
Stap 4
Nu moeten we het MariaDB-rootwachtwoord configureren met de opdracht 'mysql_secure_installation': In de weergegeven vragen zullen we het volgende beantwoorden:
Root-wachtwoord instellen? [J / n] J Anonieme gebruikers verwijderen? [Y / n] Y Root login op afstand niet toestaan? [J / n] J Testdatabase verwijderen en toegang krijgen? [J / n] J Bevoorrechte tabellen nu opnieuw laden? [J / n] Ja
VERGROTEN
Op deze manier is MariaDB geïnstalleerd.
Stap 5
De volgende stap is het aanmaken van een nieuwe database en een nieuwe gebruiker voor LibreNMS. Log in op de mysql shell-opdrachtregel met behulp van de mysql-client en met het nieuwe toegewezen wachtwoord:
mysql -u root -pMaak een nieuwe database aan met de naam 'librenms', een nieuwe gebruiker 'librenms' met wachtwoord 'password123'
MAAK DATABASE librenms KARAKTER SET utf8 VERZAMELEN utf8_unicode_ci; MAAK GEBRUIKER 'librenms' @ 'localhost' GEDENTIFICEERD DOOR 'password123'; VERLENEN ALLE VOORRECHTEN OP librenms * AAN 'librenms' @ 'localhost'; SPOEL VOORRECHTEN;We verlaten MariaDB door het exit-commando uit te voeren.
VERGROTEN
5. Hoe MySQL te configureren
Nu moeten we het my.cnf-bestand bewerken om een nieuwe mysql-configuratie toe te voegen. We zullen het bestand /etc/my.cnf bewerken met nano:
nano /etc/my.cnfIn het weergegeven bestand zullen we het volgende onder de [mysqld] sectie plakken:
innodb_file_per_table = 1 sql-mode = "" lower_case_table_names = 0
VERGROTEN
Wij slaan de wijzigingen op. Nu zullen we de MariaDB-service opnieuw starten door het volgende uit te voeren:
systemctl herstart mariadb
6. LibreNMS downloaden en configureren
Met al het bovenstaande geconfigureerd, is de volgende stap om het systeem voor LibreNMS voor te bereiden en hiervoor zullen we het volgende doen.
Stap 1
Op dit punt zullen we een nieuwe systeemgebruiker maken met de naam 'librenms', dan zullen we de homedirectory voor de gebruiker definiëren in de / opt / librenms-directory en ten slotte zullen we de librenms-gebruiker aan de nginx-groep toevoegen:
useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginxZodra de gebruiker is aangemaakt en toegevoegd aan de respectievelijke groep, gaan we naar de / opt / directory en downloaden de LibreNMS-broncode met het git clone-commando als volgt:
useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx
VERGROTEN
Stap 2
We zullen een nieuwe map maken voor de LibreNMS-logboeken en rrd-bestanden:
mkdir -p / opt / librenms / logs / mkdir -p / opt / librenms / rrd / chmod 775 / opt / librenms / rrd /
VERGROTEN
Nu zullen we het eigendom van alle bestanden en mappen in de map / opt / librenms wijzigen in de librenms-gebruiker en -groep door het volgende uit te voeren:
chown -R librenms: librenms / opt / librenms /
7. Hoe de LibreNMS virtuele host te configureren
LibreNMS is een webgebaseerde applicatie en tot nu toe gebruiken we een Nginx-webserver om deze te hosten.
We zullen een nieuw virtueel hostbestand librenms.conf maken in de map nginx conf.d door het volgende uit te voeren:
nano /etc/nginx/conf.d/librenms.confIn dit nieuwe bestand zullen we het volgende plakken:
server {# Voeg je eigen domeinnaam toe listen 80; servernaam librenms.irsyadf.me; # LibreNMS Webroot directory root / opt / librenms / html; indexindex.php; # LibreNMS logt 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-toepassing / javascript-tekst / javascript-toepassing / x-javascript-afbeelding / svg + xml-tekst / platte tekst / xsd-tekst / xsl-tekst / xml-afbeelding / x-icon; locatie / {try_files $ uri $ uri / /index.php?$query_string; } locatie / api / v0 {try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM handelt alle .php-bestanden af naar locatie ~ \ .php {inclusief fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } locatie ~ /\.ht {alles ontkennen; }}
VERGROTEN
We kunnen de wijzigingen opslaan met de Ctrl + O-toetsen en de editor verlaten met Ctrl + X. Nu kunnen we de Nginx-configuratie testen door het volgende uit te voeren:
nginx -t
VERGROTEN
We zullen de Nginx-service opnieuw starten door het volgende uit te voeren:
systemctl herstart nginx
8. Firewall configureren in CentOS 7
We moeten valideren dat de firewalld-pakketten op uw systeem zijn geïnstalleerd, zo niet, dan kunnen we firewalld installeren met het volgende yum-commando:
yum -y installeer firewalldEenmaal geïnstalleerd, starten we firewalld en laten we het draaien bij het opstarten met de volgende systemctl-commando's:
systemctl start firewalld systemctl activeer firewalldEenmaal ingeschakeld, voegen we de volgende regels toe om de respectieve services in te schakelen:
firewall-cmd --add-service = http --permanente firewall-cmd --add-service = https --permanente firewall-cmd --add-port = 161 / udp -permanentWe passen de wijzigingen toe door firewalld opnieuw te laden met het volgende commando:
firewall-cmd -reloadWe kunnen de regels opsommen om te bevestigen dat de services correct zijn toegevoegd:
firewall-cmd --list-all
VERGROTEN
We hebben toegang vanuit elke browser door het IP-adres van de server in te voeren, we zullen de inloggegevens invoeren en dit is de LibreNMS-omgeving:
VERGROTEN
Van daaruit kunnen we al het beheer van de bijbehorende apparaten uitvoeren.