Zabbix 6.4 – instalacja na systemie Oracle Linux 9.2

Zmiana nazwy serwera

hostnamectl set-hostname SRV-Zabbix

Konfiguracja klienta NTP – chrony

systemctl status chronyd.service
sudo firewall-cmd --add-service=ntp --permanent
sudo firewall-cmd --reload
nano /etc/chrony.conf
systemctl is-active chronyd.service
systemctl restart chronyd.service
timedatectl list-timezones | grep Europe/
timedatectl set-timezone Europe/Warsaw
chronyc sources
timedatectl

Instalacja Apache, PHP, potrzebnych narzędzi oraz MariaDB.

dnf module reset -y php
dnf module list php
dnf install httpd httpd-tools httpd-manual
systemctl start httpd
systemctl enable --now httpd
dnf module enable php:remi-8.2 -y
dnf install php-{mysqlnd,gd,intl,ldap,apcu,xmlrpc,opcache,zip,xmlrpc}
dnf install php php-cli php-common php-fpm vim wget unzip mod_perl unzip curl php-curl php-zip php-gd php-soap php-xml php-mbstring php-fpm mod_perl unzip curl perl -y
yum install perl-libwww-perl
yum install httpd-devel
dnf install "@Development Tools"
dnf install cmake gcc make
yum install perl-DBD-mysql
dnf install nmap

dnf install mariadb-server -y 
systemctl enable --now mariadb
mysql_secure_installation 
mysql -u root -p

Konfiguracja zapory i Selinux

firewall-cmd --zone=public --add-service=mysql --permanent
firewall-cmd --zone=public --add-service=https --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload
setsebool -P httpd_can_network_connect on
setsebool -P httpd_can_network_connect_db on
setsebool -P httpd_can_sendmail on
firewall-cmd --add-port=10050/tcp
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --add-port=10051/tcp 
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --reload

Sprawdzenie otwartych portów:

firewall-cmd --permanent --zone=public --list-ports

W przypadku problemów z Selinux:

semodule -i zabbixagent-policy.pp
ausearch --raw | grep zabbix_agent_t | audit2allow -M zabbixagent-policy
semanage permissive -a zabbix_agent_t
semodule -DB

Konfiguracja phpMyAdmin

cd /var/www/html
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
tar xvf phpMyAdmin-latest-all-languages.tar.gz -C /var/www/html
mkdir /var/www/html/phpmyadmin
cp -R /var/www/html/phpMyAdmin*/* /var/www/html/phpmyadmin
cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

Instalacja Zabbixa

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm
dnf clean all

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

Stworzenie bazy oraz użytkownika dla Zabbixa, konfiguracja bazy, utworzenie schematu oraz import danych do bazy.

# mysql -u root -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

# mysql -u root -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

Wpisanie hasła do bazy w pliku u/etc/zabbix/zabbix_server.conf (parametr, który trzeba odkomentować: DBPassword= i wpisać hasło do bazy po znaku równości).

Restart Zabbixa i włączenie go do autostartu:

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

Serwer powinien być dostępny poda adresem http://host/zabbix. Login Admin, hasło: zabbix.

Konfiguracja szyfrowanego połączenia między agentem a serwerem Zabbix:

mkdir /home/zabbix
openssl rand -hex 32 > secret.psk
chown zabbix:zabbix secret.psk
chmod 640 secret.psk
systemctl restart zabbix-agent

Następnie w pliku /etc/zabbix/zabbix_agentd.conf należy wpisać poniższe instrukcje:

TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/home/zabbix/secret.psk
TLSPSKIdentify=[any text]

Test połączenia agenta z serwerem:

zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]" --tls-connect=psk --tls-psk-identity="Zabbix" --tls-psk-file=/home/zabbix/secret.psk

W przypadku problemów z połączeniem można przejrzeć plik logu: /var/log/zabbix_agentd.log

 

Źródło:

https://www.zabbix.com/download?zabbix=6.4&os_distribution=oracle_linux&os_version=9&components=server_frontend_agent&db=mysql&ws=apache
https://www.zabbix.com/forum/zabbix-help/425464-install-zabbix-agent-on-centos-8-without-disabling-selinux
https://www.youtube.com/@DmitryLambert
https://www.youtube.com/@sbcode – dobre materiały