Zabbix Agent nie działa? Usługa agent nie startuje? A może pojawia się jeden z poniższych komunikatów?
- Failed to start Zabbix Agent.
- Zabbix server is running: no
Pora się tym zająć! Poniżej znajdziesz skrypt rozwiązywania problemów z Zabbixem. Od razu dodam, że nie bawiłem się w szczegółowe opisywanie kolejnych komend. Liczę, że znasz przynajmniej w podstawowym stopniu Linuxa. A jeżeli nie to zapraszam na Kurs Administracji Linux mojego autorstwa.
Ostatni webinar w tym roku!
Zapraszamy na bezpłatny webinar poświęcony roli sztucznej inteligencji w zarządzaniu infrastrukturą IT, zarówno w dużych serwerowniach, jak i w środowiskach homelab.
W trakcie wydarzenia dowiesz się, jak AI może wspierać codzienną pracę administratora, pomagając w automatyzacji procesów, monitorowaniu zasobów, analizie danych oraz zwiększaniu efektywności operacyjnej.
Zapisy na: https://asdevops.pl/warsztaty/
Zabbix Agent nie działa…
Dla przykładu weźmiemy następującą konfigurację Agenta (plik /etc/zabbix/zabbix_agentd.conf) :
Server=192.168.0.100
Hostname=Zabbix server
ListenPort=10051
Jeżeli pojawił się u Ciebie jeden z powyższych problemów to w pierwszej kolejności zawsze warto sprawdzić status usługi Agenta Zabbix. Polecenie może się różnić w zależności od posiadanego systemu operacyjnego. Przykładowo, na CentOS wygląda to następująco:
sudo systemctl status zabbix-agent
Spróbujmy wykonać restart usługi Agenta:
sudo systemctl restart zabbix-agent
Ruszyło? Jeżeli dalej Zabbix Agent nie działa to kombinujemy dalej. Sprawdźmy logi:
journalctl -xe
Jeżeli zauważysz taki komunikat:
SELinux is preventing /usr/sbin/zabbix_agentd from name_bind access on the tcp_socket
to oznacza, że Selinux się czepia. Ewidentnie Selinux blokuj połączenie. Jeżeli znasz dobrze to narzędzie to już wiesz, że chodzi o port. Sprawdzamy jakie porty w naszym systemie „wspiera” Selinux:
sudo semanage port -l | grep zabbix
Rezultat:
Jeżeli nic wcześniej nie modyfikowałeś to otrzymasz informację, że Agent powinien pracować na porcie 10050. A my (zgodnie z konfiguracją podaną wyżej) ustawiliśmy na 10051. Co oznacza, że jest całkowicie poprawnym zachowaniem, że Zabbix Agent nie działa. W teorii możemy ustawić Selinuxa tak, by akceptował agenta na 10051. Ale widzisz też, że serwer pracuje na tym porcie. A nie chcemy chyba, by również serwer się rozjechał?
Możemy zmienić zatem port całkowicie. Np. na 10052. Wchodzimy w konfigurację Agenta Zabbix:
vi /etc/zabbix/zabbix_agentd.conf
Zmień port na
ListenPort=10052
Zmodyfikuj Selinuxa, by akceptował agenta Zabbix na porcie 10052:
sudo semanage port --add --type zabbix_agent_port_t --proto tcp 10052 Możesz od razu zerknąć czy nowy port został dodany:
sudo semanage port -l | grep zabbix
Restart:
sudo systemctl restart zabbix-agent
Uff, tym razem poszło gładko. Zmień jeszcze w panelu na port na 10052 i adres:
Kliknij disable, następnie enable i odczekaj chwilę
Gdy dalej jest problem
Powyższe to jeden z najbardziej standardowych problemów z działaniem Zabbixa. Naturalnie, jest jeszcze opcja, że Agenta blokuje firewall. I tu rozwiązanie jest proste.
1) Jeżeli skonfigurowałeś Zabbix Agent na porcie 10052 to sprawdź na serwerze czy aplikacja nasłuchuje na tym porcie:
netstat -nl | grep 10052
Jeżeli nic się nie dzieje to dodajemy wymaganą regułę na firewallu:
iptables -A INPUT -p tcp –dport 10052 -j ACCEPT service iptables save service iptables restart
Poza tym , oczywiście pamiętaj o sprawdzaniu logów, poprawności działania bazy danych i samej konfiguracji w panelu web Zabbixa. A jeżeli dalej Zabbix Agent nie działa i powyższe czynności nie pomogły to napisz o tym w komentarzu. Opisz co dokładnie nie działa i pomogę 🙂