Zabbix 3.2 e-mail riasztás konfigurálása

írta: sanzi89, 7 éve

Probléma:
Tekintve, hogy nem akarjuk egész nap a Zabbix felületét bámulni, erősen ajánlott az e-mail riasztás beállítása. Mint sok minden egyéb, ez se olyan egyszerű. A Zabbix alapértelmezetten csak autentikáció nélkül tud e-mailt küldeni, ez nagyon jó abban az esetben, ha a hálózatunkon van egy e-mail szerverünk, ahol mondjuk elég a Zabbix IP-jét engedélyezni, és mehet is az e-mail küldés. Amennyiben nincs saját e-mail szerverünk, de mondjuk rendelkezünk egy gmail címmel amit használni akarunk, akkor már bonyolultabb a dolgunk. Vannak leírások neten, ahol smtp szervert telepítenek a Zabbix szerverre, de elég ágyúval verébre ötletnek véltem a dolgot, így tovább kutakodtam, és találtam is egyszerűbb megoldást. Mivel ez sem volt teljesen hibátlan illetve naprakész, így álljon itt egy rövid összefoglaló a konfigurálás mikéntjéről.

Megjegyzés: CentOS rendszeren nem működik a script, Ubuntu Server alatt hibátlan.

Lépések:
1. lépés: Töltsük le a GitHub-ról superdaigo scriptjét, amely kifejezetten erre a problémára íródott. Igazából itt a kommentekkel együtt megtalálható minden szükséges információ, ha valaki az eredeti forrásra kíváncsi. A kicsomagolás után másoljuk fel a Zabbix szerverünkre a
zabbix-alert-smtp.sh fájlt valahova, mondjuk a /tmp mappába.

2. lépés: Szerettünk root jogot az alábbi parancs beírásával, majd adjuk meg újra a jelszavunkat:
# sudo -i

3. lépés: A kiterjesztése ugyan .sh, de ez egy python script, így nevezzük is át:
# mv /tmp/zabbix-alert-smtp.sh /tmp/gmail-auth-smtp.py

4. lépés: Nézzük meg, hogy hol keresi a Zabbix az alertscriptjeit. Ezt a /etc/zabbix/zabbix_server.conf állományban találjuk meg (455. sor környéke):
# nano /etc/zabbix/zabbix_server.conf

5. lépés: Ez alapértelmezetten a /usr/lib/zabbix/alertscripts mappa, ha nem szerepel más az előző pont paraméterében. Helyezzük át ide a .py fájlt, adjuk neki jogot, plusz állítsuk be a tulajdonost is (persze ha más felhasználónevet használunk, akkor azt módosítsuk):
# mv /tmp/gmail-auth-smtp.py /usr/lib/zabbix/alertscripts/gmail-auth-smtp.py
# chmod +x /usr/lib/zabbix/alertscripts/gmail-auth-smtp.py
# chown root:zabbix /usr/lib/zabbix/alertscripts/gmail-auth-smtp.py

6. lépés: Tekintve, hogy ez egy cél script, így nem kell csak a felhasználónevet és a jelszót módosítanunk a scriptben a MAIL_ACCOUNT valamint MAIL_PASSWORD paraméterek segítségével.
# nano /usr/lib/zabbix/alertscripts/gmail-auth-smtp.py

7. lépés: Ha teljesen üres az Ubuntu szerverünk, akkor előfordulhat, hogy nincs feltelepítve a Python futtató környezet. Gyorsan telepítsük:
# apt install python

8. lépés: Teszteljük a beállításokat. Három paramétert kell megadni, a címzett e-mail címe, a levél tárgya valamint a levél szövege. Ha mindent jól csináltunk lesz egy levél a megadott postaládában, a háttérfolyamat működik, jöhet a Zabbix konfigurálása.
# python /usr/lib/zabbix/alertscripts/gmail-auth-smtp.py proba@email.com targy_szoveg level_szoveg

9. lépés: Nyissuk meg a Zabbix webes felületén az Administration - Media Types menüjét és kattintsunk a Create Media Types gombra. Adjuk meg a következő adatokat, mint a képen, majd Update gomb:

Name: gmail-auth-smtp
Type: Script
Script name: gmail-auth-smtp.py
Script parameters:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

Enabled: pipa

10. lépés: Nyissuk meg a Configuration - Action menüt és kattintsunk az alapértelmezetten létrehozott Report prodlems to Zabbix administrators elemre. Az első Action ablakban tegyünk pipát az Enabled lehetőség elé.

Az Operations fülön az Operations résznél kattintsunk a Send message to user grops szöveg végén található Edit gombra. A Send only to lehetőségnél válasszuk a létrehozott gmail-auth-smtp lehetőséget, majd kattintsunk a blokk alján lévő Update feliratra. Vigyázzunk, itt még nem az alsó Update kék gombra! Ha megtörtént a blokkban az Update feliratra kattintás, jöhet a kék Update gomb.

11. lépés: Végül nyissuk meg az Administration - Users menüt. Itt kattintsunk a használt felhasználó névre, ami alapértelmezetten az Admin. Kattintsunk a Media fülre, ahol az Add gombra kattintva vegyük fel új elemet a képen látható paraméterekkel, majd Update gomb. A kiválasztott hiba szinteket és időpontot változtassuk, ha szükségesnek érezzük.

Type: gmail-auth-smtp
Send to: e-mail cím amire küldje a rendszer a levelet

12. lépés: Teszteljünk valamint nézzük végig a trigger paramétereket, hogy mikor értesít a rendszer. Végezetül egy angol nyelvű leírás a témában, ami a cikk alapja is volt:
Hobetts Blogspot: Zabbix and authenticated smtp email using gmail's servers