Creëer een Monitoring Server met Zabbix 4 op Ubuntu 18.04

Estimated reading time: 5 min

Introductie

Zabbix is een open-source monitoring applicatie waarmee je realtime een groot aantal systemen kunt monitoren. Zabbix verzamelt statistieken van andere methodes zoals Zabbix agent, SNMP, IPMI etc. Het biedt een eenvoudige dashboard voor de monitoring van jouw IT-omgeving op één interface. 

Je kunt waarschuwingen van templates gebruiken en aangepaste meldingen definiëren bovenop de verzamelde statistieken. Als er een waarschuwing afgaat, kan Zabbix je op de hoogte stellen via veel kanalen zoals e-mail, Slack, Pagerduty enz. Zabbix biedt ook een uitgebreide API-interface die je in jouw app kunt integreren.

In deze tutorial gaan we de laatste versie, Zabbix 4.2 op een Ubuntu 18.04 server installeren. We beveiligen het Zabbix dashboard met behulp van Let’s Encrypt SSL-certificaten. Daarnaast leren we ook hoe je  Zabbix agent op een externe server kunt installeren om de gegevens van een externe server te verzamelen.

Vereisten

  • Cloud VPS of Dedicated Server met minimaal 1 GB RAM en Ubuntu 18.04.
  • Je moet ingelogd zijn via SSH als sudo of root gebruiker. In deze tutorial gaan we ervan uit dat je bent aangemeld als sudo-gebruiker.
  • Een domeinnaam die verwijst naar jouw VPS of Dedicated server om een Let’s Encrypt SSL te creëren.

Stap 1: Systeem updaten

Begin eerst met het updaten van jouw systeem. Installeer de laatste pakketten en beveiligingspatches door de onderstaande commando’s uit te voeren.

sudo apt update
sudo apt upgrade -y

Herstart het systeem na de upgrade door het volgende commando uit te voeren sudo reboot.

Stap 2: Zabbix Repository toevoegen

Download de Zabbix repository installer Debian pakket door het onderstaande commando uit te voeren:

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb

Installeer de Zabbix repository in het systeem door het pakket dat je het gedownload te installeren.

sudo dpkg -i zabbix-release_4.2-1+bionic_all.deb

Je kunt nu de Ubuntu repository cache updaten.

sudo apt update

Stap 3: Installeer Zabbix

Aangezien we de Zabbix repository al hebben geïnstalleerd, kunnen we nu Zabbix installeren door het onderstaande commando uit te voeren.

sudo apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-agent

Met het commando hierboven worden de Zabbix server en -agent samen met de front-endcomponent geïnstalleerd. Dit commando installeert ook alle andere vereiste afhankelijkheden zoals Apache Web Server, MariaDB Server en PHP 7.2 met de vereiste PHP-modules.

Stap 4: Creëer MySQL Database

MariaDB, is een open-source fork van MySQL die al op de server draait. Beveilig de database-instance door het volgende commando uit te voeren.

sudo mysql_secure_installation

Zorg ervoor dat je een sterke wachtwoord gebruikt voor MySQL root gebruiker.

Nadat je alle stappen hebt doorgenomen, kun je als root gebruiker inloggen op de MySQL shell door het onderstaande commando uit te voeren.

sudo mysql -u root -p

Voer de volgende query’s uit om een nieuwe database en een database gebruiker voor Zabbix applicatie te genereren.

CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON zabbix.* TO [email protected] IDENTIFIED BY 'Password';
QUIT;

Vervang Password met een sterke wachtwoord en neemt dit op in jouw notities.

Stap 5: Database importeren

Importeer de Zabbix initial database door het onderstaande commando uit te voeren.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Je wordt nu gevraagd om de zabbix database gebruiker gegevens in te vullen die je in de vorige stappen hebt gecreëerd. 

Open het Zabbix server configuratiebestand. 

sudo vi /etc/zabbix/zabbix_server.conf

Scroll naar beneden om de volgende regels te vinden en voer het wachtwoord in van de MySQL zabbix gebruiker.

### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=

DBPassword=Password

Stap 6: Configureer Apache

Schakel de Apache SSL and rewrite module in door het onderstaande commando uit te voeren.

sudo a2enmod ssl rewrite

Open het Zabbix Apache Vhost configuratiebestand.

sudo vi /etc/apache2/conf-enabled/zabbix.conf

Scroll naar beneden om de PHP configuratie te vinden. Maak de regel php_value date.timezone en stel de PHP-tijdzone in op basis van jouw geografische locatie.

     <IfModule mod_php7.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Europe/Amsterdam
    </IfModule>

Stap 7: Configureer Let’s Encrypt SSL

Installeer de Certbot repository door het onderstaande commando uit te voeren.

sudo apt -y install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt update

Installeer de Certbot voor Apache door het onderstaande commando uit te voeren.

sudo apt-get install certbot python-certbot-apache

Genereer het certificaat en installeer het op de standaard virtuele host door het volgende commando uit te voeren.

sudo certbot --apache -d example.com

Je wordt na het uitvoeren van dit commando om een e-mailadres gevraagd waar renewal notificaties naar gestuurd kunnen worden. Tijdens de installatie van het certificaat wordt er gevraagd of je alle HTTP-aanvragen naar HTTPS wilt doorsturen. Kies optie 2 om alle HTTP-aanvragen automatisch door te sturen naar HTTPS.

Het Certbot-pakket wordt geleverd met een cron-taak die de certificaten voor de vervaldatum automatisch zal verlengen.

Herstart tot slot de Zabbix server, agent en Apache webserver.

sudo systemctl restart zabbix-server zabbix-agent apache2

Zorg er ook voor dat de Zabbix server, agent en Apache webserver automatisch opstarten tijdens het booten. 

sudo systemctl enable zabbix-server zabbix-agent apache2

Stap 8: Rond de installatie af via de Browser

Open nu jouw favoriete browser en navigeer naar https://example.com/zabbix je ziet nu de volgende interface.

Als je de tutorial correct hebt gevolgd, zie je dat alle vereisten zijn geconfigureerd en geïnstalleerd.

In de volgende interface, moet je de databasegegevens invullen die je in stap 4 hebt gecreëerd.

In de interface, Zabbix server details, laat je de standaardopties staan en ga verder naar de volgende interface. In de laatste stap toont het installatieprogramma een overzicht van de wijzigingen. Ga verder om de software te installeren.

Na de installatie wordt je geleid naar het inlogscherm. Gebruik de standaard login Admin en zabbix om om in te loggen. Zorg ervoor dat je het wachtwoord direct na je aanmelding wijzigt. 

Zabbix is standaard geconfigureerd om de server te monitoren. Als het goed is zie je dat de server en de bijhorende problemen van de server draaien.

Stap 9: Installeer Remote Zabbix Agent

In deze tutorial leer je hoe je Zabbix agent op een externe server kunt toevoegen met behulp van PSK-codering (Pre-Shared Keys). We gebruiken hiervoor Ubuntu 18.04. Meld je aan op de externe server met ssh en stel de Zabbix repository in door het volgende commando uit te voeren.

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb
sudo dpkg -i zabbix-release_4.2-1+bionic_all.deb
sudo apt update

Installeer Zabbix agent door het volgende commando uit te voeren.

sudo apt -y install zabbix-agent

Genereer een 32-bit sleutel door gebruik te maken van OpenSSL en bewaar dit bestand.

openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk

Het bovenstaande commando zal ook de sleutel op de terminal afdrukken. Zorg ervoor dat je dit noteert, omdat dit later nodig hebt.

Open nu het Zabbix client configuratiebestand door het volgende commando uit te voeren:

sudo vi /etc/zabbix/zabbix_agentd.conf

Scroll naar beneden om de volgende regels te vinden.

Server=127.0.0.1

Vervang het met de daadwerkelijke IP-adres van jouw Zabbix server.

Server=10.0.25.26

Geef ook de daadwerkelijke IP-adres van de Zabbix server in dit bestand op ServerActive

ServerActive=10.0.25.26

Scroll naar beneden op de volgende regels te vinden.

####### TLS-RELATED PARAMETERS #######
### Option: TLSConnect
#       How the agent should connect to server or proxy. Used for active checks.
#       Only one value can be specified:
#               unencrypted - connect without encryption
#               psk         - connect using TLS and a pre-shared key
#               cert        - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
# TLSConnect=unencrypted

Haal dit commentaar weg TLSConnect en stel deze in op psk.

TLSConnect=psk

Haal dit commentaar weg # TLSAccept=unencrypted en verander het naar:

TLSAccept=psk

Haal dit commentaar weg # TLSPSKIdentity= en verander het naar:

TLSPSKIdentity=Node01

Haal dit commentaar weg # TLSPSKFile= en verander het naar:

TLSPSKFile=/etc/zabbix/zabbix_agentd.psk

Sla het bestand op en verlaat de editor. Herstart de Zabbix agent en schakel deze automatisch in bij het opstarten door het onderstaande commando uit te voeren.

sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent

Stap 10: Remote Zabbix Agent toevoegen

Log in op jouw Zabbix server dashboard en navigeer naar Configuration >> Hosts. Klik op Create Host om een nieuwe host toe te voegen.

Add host

Je kunt op de create hosts interface, een naam geven voor je node. Selecteer Linux Servers  in Groups en geef het IP-adres van de agent-machine op.

In de Template tab zoek je naar Template OS Linux en klik je vervolgens op de add knop.

Navigeer naar de Encryption tab and selecteer PSK in Connections to host en Connections from host. Geef dezelfde PSK-identiteitsnaam op die je hebt ingevuld in de agent-configuratie. Geef ook de 32-bit PSK op die je hebt gegenereerd in de agent-machine.

Nadat je op de knop Toevoegen hebt geklikt, wordt de externe host aan de server toegevoegd. Als je groene kleur op ZBX ziet, dan betekent dit dat de server met de externe Zabbix agent kan praten.

Je ziet de problemen met betrekking tot de nieuwe node op de dashboard-pagina.

Conclusie

In deze tutorial hebben we geleerd hoe je Zabbix server 4.2 op Ubuntu 18.04 kunt installeren. We hebben ook het Zabbix dashboard beveiligd met een Let’s Encrypt SSL certificaat. We hebben de Zabbix agent met succes toegevoegd op een externe server en onze Zabbix server. Je kunt nu meer hosts toevoegen aan jouw Zabbix instance.

Was this article helpful?
Dislike 0
Views: 12

Lees Interacties

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *