Zabbix

Allikas: Kuutõrvaja

Sissejuhatus

TODO

Üks eelis mis zabbixiga kohe silma torkab on tema item-trigger arhidektuur, mis tundub nagiosilt tulles harjumatu aga lubab samas kiirelt ise erinevaid uusi jälgimisaluseid objekte ehk itemeid tekitada (defineerides nt lihtsalt shelli või sql käske konfifaili ja defineerides nad ümber itemite väärtusteks ja sealt juba sündmusteks). Ehk zabbixil pole vaja keerukaid pluginaid ehitada vaid saab nö jooksvalt ning kiirelt mingeid asju jälgimise alla lisada ning neist graafikuid joonistada

Serveri paigaldus Debianis

TODO

Peale installi saab zabbixisse logida kasutajaga Admin ja parooliga zabbix

Zabbixi häirete (alerts) emailiga saatmiseks tuleb menüüst Administration avada Media types ning valida meedium "Email"

Serveri paigaldus centosis

Paigaldame zabbixi repo

yum -y install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Installime vajalikud paketid ning mariadb-serveri

yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server zabbix-get

Stardime andmebaasi

systemctl start mariadb
systemctl status mariadb

Kliendi paigaldus

Debianis

apt-get install zabbix-agent
service zabbix-agent start

Seejärel tuleb meil failis /etc/zabbix/zabbix_agentd.conf muuta zabbixi serveri ip aadress sobivaks

sed -i 's/192.168.0.100/127.0.0.1/g' zabbix_agentd.conf

Selleks, et klient midagi hakkaks jälgima tuleb sellega siduda sobivaid itemeid ja triggereid sisaldav template. Näiteks linuxi serveri puhul võiks olla esmaseks templateks Linux Server template.

Templated

Tegemist on failiga, kus on defineeritud itemite nimed ning neile seadistatud triggerid. Templatesid saab tõmmata nii valmiskujul internetist, kui luua ise. Näiteks sisaldab Zabbixiga kaasa tulev template nimega "Operating System Linux" tervet hulka ketaste, cpu, mälu ja swapiga seotud itemeid ning nendega seotud triggereid.

Itemid

Item on jälgimise all olev parameeter näiteks võrguliiklus, päringutele vastamise keskmine aeg, cpu koormus jne

Go to: Configuration ? Hosts Click on Items in the row of the host Click on Create item in the upper right corner of the screen Enter parameters of the item in the form

Iseloodud itemitega on võimalik kontrollida ka mingi IP peal olevate teenuste portide toimimist, nt

net.tcp.service[http,192.168.0.4,80]
net.tcp.service[http,192.168.0,4,443]
net.tcp.service[http,192.168.0,4,81]

Soovides käivitada süsteemis käske ja luua nende väljundi baasil itemeid

# instance version
UserParameter=pgsql.version,psql -U zabbix zabbix -Atc 'select version()'

Kontrollimiseks on hea töövahend zabbix_get

$ zabbix_get -s 127.0.0.1 -k pgsql.version
PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

Päästikud ehk triggerid

Trigger on mingile itemile omistatud tingimus, mille peale trigger rakendub. Näiteks võib itemiks olla cpu koormus ja triggeri ülesandeks on rakenduda ja raporteerida kui see jõuab 80% juurde.

Trigger rakendub, kui crash.running väärtus on midagi muud kui runnning

{crashplan_1:crash.running.str("running")}=0´

crashplan_1 on siis siin template nimeks ning crash.running on muutujaks

Trigger mis rakendub mitme itemi koosmõjul

({server2:system.cpu.util[].nodata(755)}=1)&({server1inger[cl.verio].last(0)}=1)

Alerdid

Alerdid on sündmused mis genereeritakse triggerite rakendumise peale ja tavaliselt on selleks administraatori postkasti emaili saatmine

Zabbixi vaikimisi teavituste template ei lisa emaili subjekti serveri nime millega oli prolbeem, selle parandamiseks tuleb minnaConfiguration > actions

Ja seadistada Default subject ümber selliseks

{TRIGGER.STATUS}: {HOSTNAME} {TRIGGER.NAME}

Zabbixi teadete (alerts) meiliga saatmiseks tuleb menüüst Administration avada Media types ning seadistada meedium „Email“.

Web screnario

Zabbix lubab koostada ka keerukamaid veebilehtede sisu pihta toimuvaid kontrolle, kus ta jälgib veebilehe vastamiskiirust, veakoode ning üritab ka vajadusel etteantud urlile logida ja seal mingeid kindlaksmääratuid toiminguid sooritada.

Go to Configuration → Hosts, pick a host and click on Web in the row of that host. Then click on Create scenario.

Trigger tuleb ise sellele luua ning seda saab teha järgneva näite alusel

{hostinimi:web.test.fail[Scenario nimi].last()}<>0

Samamoodi saame testida ka seda, et vastuskood on õige, seehulgas tasub tähele panna, et selle checki jaoks oleks hea kui screnario nimes poleks tühikuid

{<HOSTNAME>:web.test.rspcode[<SCENARIO NAME>,<STEP NAME>].last()}<>200

Aga triggeri saab luua ka näiteks selle peale kui veebilehe vastamiskiirus on liiga aeglane

https://sysadminwork.com/monitoring-website-with-zabbix/

https://www.zabbix.com/documentation/3.4/manual/web_monitoring/example

https://www.zabbix.com/documentation/3.4/manual/web_monitoring/items

Passive või Active check

Zabbixil on kliendilt info pärimiseks(checkide) kaks reziimi

  • Passive check : Zabbix server saadab kliendi IP aadressile päringu (nt CPU loadi kohta) ning agent edastab vajaliku info serverile
  • Active check : Agent võtab serveriga ise ühendust, küsib talt nimekirja asjadest mida ta peab tegema ning edastab infot perioodiliselt serverile tagasi

Active check sobib seega hästi olukorras, kus monitooritavad serverid asuvad tulemüüri taga ning zabbix server ei oma neile otsest ligipääsu.

Active checki kasutavas serveris tuleks esiteks /etc/zabbix/zabbix_agentd.conf failis kirjeldada järgnevad asjad

ServerActive=Zabbix serveri IP
Hostname=Kliendi hostname # see peab olema kindlasti sama mis defineeritud zabbixi veebiliideses
StartAgents=0

Selleks, et active checki kasutada on vaja zabbixi mallides (template) vahetada objektide (itemite) juures Zabbix agent ümber Zabbix agent activeks. Näiteks ühe enamlevinud Zabbixiga kaasa tuleva Linuxi põhiparameetrite monitooringuks mõeldud template ümberseadistamiseks tuleb teha järgnevad sammud.

  • Vali Configuration, templates, Template OS Linux ning kliki Full Clone nupule
  • Anna uuele kloonile nimi, nt Template OS Linux Active ning vajuta add
  • Vali sama template mille just lõime uuesti ning kliki Items nupule
  • Vali kõik avanevad objektid ning vajuta Mass Update ning go.
  • Vali Type ning muuda see Zabbix agendi pealt ümber Zabbix agent (active)

Seejärel võib värske template active checkiga monitooritavale masinale külge lisada.