Hvordan installere Zabbix på Rocky Linux og AlmaLinux


Riktig overvåking er en essensiell ingrediens for effektiv styring av din samlede IT-infrastruktur. En robust sanntidsovervåkingsløsning gir detaljert syn på nettverket og applikasjonsytelsen.

Det hjelper å identifisere faktiske øyeblikk når feil og hendelser oppstår og sender varsler. Ved å gjøre det kan driftsteam iverksette intervensjonstiltak i tide og sikre forretningskontinuitet på kortest mulig tid.

Dette hjelper deg å få mest mulig ut av IT-ressursene dine, og på sin side maksimere inntektene dine. Som sådan kan man ikke undergrave viktigheten av å investere i et effektivt og pålitelig overvåkingsverktøy.

Zabbix er et gratis og åpen kildekode overvåkingsverktøy i bedriftsgrad som brukes til å overvåke hele IT-infrastrukturen din. Den kan overvåke alt, inkludert nettverksenheter, servere (sky og on-premise) applikasjoner, databaser og til og med docker-containere. Den oppdager også feil og sender varsler for å muliggjøre rask handling fra IT-team for å løse problemet.

I denne veiledningen vil vi fokusere på installasjonen av Zabbix overvåkingsverktøyet på Rocky Linux/AlmaLinux. På tidspunktet for skriving av denne veiledningen er den nyeste versjonen av Zabbix Zabbix 6.0 pre-release.

Forutsetninger

For denne veiledningen er dette det du trenger:

  • En forekomst av Rocky Linux med SSH-tilgang.
  • En forekomst av Alma Linux med SSH-tilgang.
  • En sudo-bruker konfigurert for å utføre privilegerte oppgaver.

Trinn 1: Installer LAMP i Rocky/Alma Linux

Zabbix er et overvåkingsprogram som drives av PHP på frontend og Java og C i backend. Det krever også en relasjonsdatabase for å samle inn og lagre dataene. Som sådan må vi installere en hosting-stack som vi skal installere Zabbix på.

LAMP, forkortelse for Linux, Apache, MariaDB/MySQL, og PHP er et kjent navn i utviklerkretser . Den består av Apache-nettserveren, MariaDB eller MySQL (relasjonelle databaser), og PHP som er en serverside skriptmotor.

Installere Apache i Rocky/Alma Linux

Vi starter med å installere Apache-nettserveren. For å gjøre det, kjør kommandoen:

sudo dnf install @httpd

Når den er installert, start Apache og aktiver den til å kjøre ved systemoppstart.

sudo systemctl start httpd
sudo systemctl enable httpd

For å bekrefte at Apache kjører, kjør kommandoen:

sudo systemctl status httpd

Utdataene bekrefter at Apache er installert og kjører som forventet.

Installerer MariaDB i Rocky/Alma Linux

Som nevnt tidligere krever Zabbix en relasjonsdatabase for å lagre alle dataene. Vi har valgt å installere MariaDB på grunn av dens pålitelighet og mange sikkerhets- og ytelsesforbedringer den gir.

Den siste versjonen av Zabbix krever at MariaDB versjon 10.5 fungerer som forventet. For å komme i gang må du aktivere MariaDB YUM-depotet.

Så, lag en depotfil:

sudo vim  /etc/yum.repos.d/mariadb.repo

Lim inn følgende linjer.

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/rhel8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
module_hotfixes=1

Lagre endringene og avslutt konfigurasjonsfilen.

Deretter importerer du MariaDB GPG-signeringsnøkkelen:

sudo --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

Til slutt, for å installere MariaDB-serveren og -klienten, kjør kommandoen:

sudo dnf install MariaDB-server MariaDB-client

Når installasjonen er fullført, start MariaDB-serveren og aktiver den slik at den starter automatisk ved oppstart.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Bekreft at databaseserveren kjører:

sudo systemctl status mariadb

For å bekrefte versjonen av MariaDB installert, kjør kommandoen:

mysql -V

Alternativt kan du logge på databaseserveren som følger.

sudo mysql -u root -p

Versjonen av MariaDB vil bli skrevet ut på velkomstmeldingen.

Vanligvis er ikke MariaDBs-innstillingene konfigurert til de nødvendige sikkerhetsanbefalingene. Heldigvis tilbyr MariaDB mysql_secure_installation-skriptet for å forbedre sikkerheten til databasetjeneren.

Så utfør skriptet som vist.

sudo mysql_secure_installation

Du vil bli bedt om å utføre en liste over oppgaver. Bytt først til UNIX-socket-autentiseringsmodulen.

For de gjenværende ledetekstene, skriv 'Y' og trykk ENTER. Dette lar deg fjerne anonyme brukere, nekte eksterne brukere å logge på som root og fjerne testdatabasen som kan utnyttes av hackere. Last så til slutt rettighetstabeller på nytt for å lagre endringer.

UNIX_socket-godkjenningspluginet lar root-brukeren logge på databaseserveren uten passord. For å aktivere MariaDB passordautentisering, logg på MariaDB:

sudo mysql -u root -p

Sett deretter root-passordet som følger.

set password = password("yourpassword");

For å bytte fra UNIX-socket-autentisering til mysql_native_password-autentisering, kjør kommandoen

ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD("yourpassword");

Nå hver gang du logger på igjen, må du oppgi et passord.

Installere PHP i Rocky/Alma Linux

Den siste komponenten i LAMP-stakken som skal installeres er PHP. Dette er gitt i standard AppStream-lagre. Du kan bekrefte dette på følgende måte:

sudo dnf module list PHP

Som standard er PHP 7.2 aktivert som standard. Vi må endre dette til PHP 7.4.

sudo dnf module reset php
sudo dnf module install php:7.4

Installer deretter de nødvendige PHP-modulene for Zabbix-installasjon.

sudo dnf install php php-curl php-fpm php-mysqlnd

For å sjekke versjonen av PHP, kjør.

php -v

Vi har installert tjenesten PHP-FPM (FastCGI Process Manager), som er en populær alternativ implementering av PHP FastCGI.

Start og aktiver den ved oppstart.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Bekreft deretter statusen.

sudo systemctl status php-fpm

På dette tidspunktet har vi installert LAMP-stabelen. I påfølgende trinn, vil fordype seg i installasjonen av Zabbix.

Trinn 2: Installer Zabbix i Rocky/Alma Linux

Med LAMP-stabelen på plass, la oss nå installere Zabbix ved å installere Zabbix-depotet.

sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.5/rhel/8/x86_64/zabbix-release-5.5-1.el8.noarch.rpm

Når depotet er installert, installer Zabbix-serveren, Zabbix-agenten og de tilknyttede Zabbix-pakkene som følger.

sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

Når installasjonen er fullført, må du opprette en Zabbix-database og en databasebruker som Zabbix vil bruke for å få tilgang til databasen.

sudo mysql -u root -p
CREATE USER zabbix_user@localhost IDENTIFIED BY 'P@ssword321';

Gi deretter tillatelser til databasebrukeren til å utføre alle oppgaver i databasen.

GRANT ALL PRIVILEGES ON zabbix_db.* TO zabbix_user@localhost;

Utfør deretter endringene og avslutt databaseserveren

FLUSH PRIVILEGES;
EXIT;

Deretter importerer du databaseskjemaet:

sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -u zabbix_user -p zabbix_db

Når du blir bedt om et passord, oppgi Zabbix-brukerens passord og ikke root-kontoens passord.

I tillegg kan du redigere Zabbix-konfigurasjonsfilen

sudo vim /etc/zabbix/zabbix_server.conf

Sørg for at verdiene DBName, DBUser, DBPassword gjenspeiler verdiene du oppga for databasen din

DBHost=localhost
DBName=zabbix_db
DBUser=zabbix_user
DBPassword=P@ssword321

Lagre endringene og avslutt konfigurasjonsfilen.

Trinn 3: Konfigurer PHP-FPM i Rocky/Alma Linux

Deretter er noe ekstra konfigurasjon nødvendig for PHP-FPM-tjenesten. Rediger www.conf-konfigurasjonsfilen.

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

Sørg for at følgende linjer vises som de er.

listen = /run/php-fpm/www.sock
 
user = apache
group = apache

listen.allowed_clients = 0.0.0.0
listen.owner = apache
listen.group = apache
listen.mode = 0660
pm = dynamic

Lagre endringene og avslutt filen.

I tillegg spesifiser tidssoneinnstillingen i Zabbix.conf-konfigurasjonsfilen.

sudo vim /etc/php-fpm.d/zabbix.conf

Legg til linjen som vises.

php_value[date.timezone] = Africa/Nairobi

Lagre og lukk.

For å bruke alle endringene som er gjort, start alle tjenestene på nytt som vist

sudo systemctl restart zabbix-server zabbix-agent httpd php-fpm

Vurder i tillegg å aktivere dem ved oppstart.

sudo systemctl enable zabbix-server zabbix-agent httpd php-fpm

Trinn 4: Konfigurer SELinux & Firewall i Rocky/Alma Linux

Du må sette SELinux til permissive for å få tilgang til frontend fra en nettleser. For å gjøre det, kjør kommandoen:

sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

Gå deretter over til brannmuren og tillat HTTP-tjenesten sammen med portene 10050 og 10051 som Zabbix-serveren og -agenten lytter til.

sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port={10050,10051}/tcp --permanent
sudo firewall-cmd --reload

Trinn 5: Fullfør Zabbix-installasjonen i Rocky/Alma Linux

Til slutt, start nettleseren din og gå til URL-en som vises

http://server-ip/zabbix

Den første siden som hilser deg velkommen er Zabbix-velkomstsiden som dristig viser versjonen du installerer. Velg installasjonsspråket og klikk på «Neste trinn»-knappen.

I listen over forutsetninger, bla helt ned og sørg for at alle forutsetningene får «OK»-etiketten i den siste kolonnen. Det er obligatorisk at alle kravene er oppfylt. Trykk deretter på 'Neste trinn'-knappen.

På «Konfigurer DB-tilkobling»-siden. Fyll ut databasedetaljer. For databaseporten, la den stå på 0. Trykk på «Neste trinn».

Angi deretter serverens navn, bekreft tidssonen din og velg gjerne ditt foretrukne tema. Trykk deretter «Neste trinn».

Bekreft alle innstillingene og hvis alt ser bra ut, trykk på «Neste trinn» for å fullføre installasjonen.

Hvis alle innstillingene du oppga er riktige, vil du få en gratulasjonsmelding som varsler deg om vellykket oppsett av Zabbix-grensesnittet. Trykk på "Fullfør"-knappen.

Dette leder deg til Zabbix-påloggingssiden. Logg på med følgende legitimasjon:

Admin:	Admin
Password:   zabbix

Klikk deretter på «Logg på» for å få tilgang til Zabbix-dashbordet. Du kan endre passordet senere for ekstra sikkerhet, så ikke bekymre deg for det.

Til slutt vil du få tilgang til Zabbix sitt dashbord.

Og der har du det. Vi har installert Zabbix-overvåkingsverktøyet på Rocky Linux/AlmaLinux.