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