Zabbix kasutamine Debian operatsioonisüsteemiga

Allikas: Imre kasutab arvutit
Redaktsioon seisuga 13. mai 2026, kell 09:40 kasutajalt Imre (arutelu | kaastöö) (Uus lehekülg: '===Sissejuhatus=== Zabbix http://www.zabbix.com/ on vaba tarkvaraline monitooringu lahendus. Zabbix agendi tarkvara võib reeglina olla vanem kui Zabbix server, nt agent v. 1.8 või uuemad sobivad kasutamiseks koos server v. 2.2 kusjuures mitte vastupidi. Reeglina peavad Zabbix serveri ja Zabbix proxy versioonid olema täpselt ühesugused. Võimalikud andmete kogumise viisid * Zabbix agent * Zabbix agent (active) * Simple check * SNMP agents (v. 1, 2, 3) * Zabbix trappe...')
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

Zabbix http://www.zabbix.com/ on vaba tarkvaraline monitooringu lahendus.

Zabbix agendi tarkvara võib reeglina olla vanem kui Zabbix server, nt agent v. 1.8 või uuemad sobivad kasutamiseks koos server v. 2.2 kusjuures mitte vastupidi. Reeglina peavad Zabbix serveri ja Zabbix proxy versioonid olema täpselt ühesugused.

Võimalikud andmete kogumise viisid

  • Zabbix agent
  • Zabbix agent (active)
  • Simple check
  • SNMP agents (v. 1, 2, 3)
  • Zabbix trapper
  • Zabbix internal
  • Zabbix aggregate
  • External check
  • Database monitor
  • IPMI agent
  • SSH agent
  • TELNET agent
  • Calculated

Hosti kirjeldamine

  • Host
  • Description
  • Type
  • Key
  • Type of information
  • Data type
  • Units
  • Use multiplier
  • Update interval
  • Flexible intervals
  • Keep history
  • Keep trends
  • Status
  • Store value
  • Applications

Itemi kirjeldamine

  • Passiivne item - Zabbix server pöördub välja andmete saamiseks
  • Aktiivne item - Andmete saatimiseks pöördub agent väljast Zabbix serveri poole

Tööpõhimõte

  • Active check - agent pöördub Zabbix serveri poole
  • Passive (normal) check - Zabbixi serveri pöördub agendi poole ja agent kogub talle andmed

Ettevalmistused

Zabbix rakenduse create database andmebaas tekitatakse rakenduse paigaldamise käigus paketihalduse poolt.

Tarkvara paigaldamine paketihaldusest

Debian Squeeze paketihaldus sisaldab Zabbix v. 1.8.2 serveri, agendi ja proxy tarkvara nii PostgreSQL kui MySQL andmebaasi toega

  • SNMP
  • IPMI
  • Jabber notifications
  • IPv6

2013 aasta sügisel jagatakse mitmetele operatsioonisüsteemidele pakette aadressil https://www.zabbix.com/documentation/2.2/manual/installation/install_from_packages.

Ettevalmistamiseks

# wget http://repo.zabbix.com/zabbix/2.2/debian/pool/main/z/zabbix-release/zabbix-release_2.2-1+wheezy_all.deb
# dpkg -i zabbix-release_2.2-1+wheezy_all.deb 
# apt-get update

Zabbix serveri paigaldamine

Zabbix serveri paigaldamiseks sobib öelda

# apt-get install zabbix-server-pgsql

mille järel küsitakse, kas seadistada baasi dbconfig-common abil, vastata jaatavalt. Seejärel küsitakse PostgreSQL application password for zabbix-server-pgsql, kirjutada, mis parooliks saab.

Andmebaasi ligipääs salvestatakse faili

/etc/dbconfig-common/zabbix-server-pgsql.conf

Tulemusena tekitatakse kasutades ident autentimist kasutajaga postgres andmebaasi

  • kasutaja zabbix
  • andmebaas zabbix

Kui automaatset andmebaasi ettevalmistamist on vaja uuesti teha, sobib öelda

# dpkg-reconfigure zabbix-server-pgsql

Seejärel tuleb tõenäoliselt partitsioneerida mõned tabelid, nt pg_partman abil

  • history_uint

Zabbix veebipõhise haldusliidese paigaldamine

Veebipõhise haldusliidese paigaldamiseks sobib öelda, küsitakse zabbix serveri baasi ligipääsu

# apt-get install php5-pgsql zabbix-frontend-php

mille järel küsitaks, kas seadistada baasi dbconfig-common abil, vastata jaatavalt. Andmebaasi ligipääs salvestatakse failidesse, viimast kasutab php rakendus

/etc/dbconfig-common/zabbix-frontend-php.conf
/etc/zabbix/dbconfig.php

Edasine seadistamine toimub brauseris

Tarkvara paigaldamine lähtetekstist

Tõenäoliselt mõttekas paigaldada esmalt tarkvara (server ja php frontend) paketihaldusest

# apt-get install postgresql-8.4
# apt-get install zabbix-server-pgsql php5-pgsql zabbix-frontend-php

selleks, et süsteemis oleks olemas võimalikult standardselt kujul

  • kasutaja:grupp zabbix:zabbix
  • käivitusskript /etc/init.d/zabbix-sever
  • muud Zabbix tööks vajalikud programmid, nt php teegid, fping

Lähtetekstist paigaldamiseks peavad süsteemis olema tarkvara kompileerimiseks vajalikud vahendid, nt sobib nende paigaldamiseks öelda

# apt-get build-dep zabbix-server-pgsql

Zabbix server

Moodustada kataloogi, kus hakkab asuma Zabbix tarkvara, nt /opt/zabbix

# mkdir /opt/zabbix

Seejärel tuleb zabbix.com pealt kopeerida lähtetekst ja pakkida lahti, kusjuures kompileerida saab samaaegselt vaid ühe andmebaasi tuge

$ tar zxf ...
$ ./configure --enable-server --with-pgsql --with-net-snmp --with-jabber --with-libcurl --with-openipmi --prefix=/opt/zabbix
$ make
$ make install

Kui eelnevalt on paigaldatud paketihalduse Zabbix, siis sobib /etc/init.d/zabbix-server failis teha asendus

# DAEMON=/usr/sbin/$NAME
DAEMON=/opt/zabbix/sbin/$NAME

Käivitamine, seadistuste, logi jt failide asukohad on samad (eeldusel, et kasutatakse suhteliselt lähedast versiooni, nt paketihaldusest oli paigaldatud v. 1.8.2 ja lähtetekstist v. 1.8.6).

SNMP töötamiseks tuleb lisaks öelda

# apt-get install snmp
# apt-get install snmp-mibs-downloader

Zabbix serveri andmebaas

Tekitada baasi kasutaja

postgres=# create role zabbix login password 'parool';

Tekitada andmebaas sobiva omanikuga

postgres=# create database zabbix owner zabbix;

Sõltuvalt sellest, millist andmebaasi kasutatakse, tuleb laadida andmebaasi sisu

# ls -ld create/schema/*
-rw-r--r-- 1 dwalin dwalin 42186 Dec 28 11:39 create/schema/ibm_db2.sql
-rw-r--r-- 1 dwalin dwalin 44516 Dec 28 11:39 create/schema/mysql.sql
-rw-r--r-- 1 dwalin dwalin 43307 Dec 28 11:39 create/schema/oracle.sql
-rw-r--r-- 1 dwalin dwalin 42511 Dec 28 11:39 create/schema/postgresql.sql
-rw-r--r-- 1 dwalin dwalin 41663 Dec 28 11:39 create/schema/sqlite.sql

nt PostgreSQL andmebaasi puhul selliselt

$ psql -1 -h 127.0.0.1 -U postgres -f create/schema/postgresql.sql zabbix

ning lisaks nt andmeid sh templateid

create/data/data.sql

Zabbix agent

$ ./configure --enable-agent --prefix=/opt/zabbix
$ make
$ make install

Tulemusena tekib muu hulgas failisüsteemi

/opt/zabbix/sbin/zabbix_agent
/opt/zabbix/sbin/zabbix_agentd
/opt/zabbix/bin/zabbix_get
/opt/zabbix/bin/zabbix_sender

Kui eelnevalt on paigaldatud paketihalduse Zabbix, siis sobib /etc/init.d/zabbix-agent failis teha asendus

# DAEMON=/usr/sbin/$NAME
DAEMON=/opt/zabbix/sbin/$NAME

Zabbix proxy

TODO

Veebipõhine haldusliides

Veebiliidese skriptid asuvad lähteteksti arhiivi kataloogis

frontends/php

Need tuleb paigutada veebijuurika alla või teha kättesaadavaks Aliase abil ning seejärel pöörduda brauseriga aadressile http://haldus.loomaaed/zabbix/ ning järgida dialoogi, paigaldus toimub veebipõhiselt

Fail:Zabbix-2.gif

Paigaldamise käigus moodustatakse fail

conf/zabbix.conf.php

Seadistamine

  • PHP /etc/php5/apache2/php.ini
date.timezone = "Europe/Tallinn"
max_execution_time = 600
max_input_time = 600
post_max_size = 32M
memory_limit = 256M
upload_max_filesize = 32M

Haldusliidese kasutamine

Haldusliides asub aadressil http://192.168.10.206/zabbix/ kasutaja Admin, parool zabbix. Kui parool läheb meelest, saab selle otse baasis seada

# su - postgres
$ psql zabbix
zabbix=# update users set passwd=md5('uusparool') where alias = 'Admin';

Zabbix server

Serveri logi asub failis

/var/log/zabbix-server/zabbix_server.log

Zabbix agent

Agendi paigaldamine

Agendi paigaldamiseks tuleb öelda

# apt-get install zabbix-agent

Agendi seadistamine

Agendi seadistamiseks tuleb muuta seadistusfailis /etc/zabbix/zabbix_agentd.conf read nt sellisteks

..
Server=192.168.10.206
...
Hostname=mon.auul

kus

  • Server - Zabbix serveri aadress
  • Hostname - Zabbix agendi hostname, vajalik aktiivseteks kontrollideks (server kasutab seda väärtust agendi identifitseerimiseks)

Agent kirjutab oma logisse

# tail -f /var/log/zabbix-agent/zabbix_agentd.log
...
12834:20110227:003502.473 Zabbix Agent started. Zabbix 1.8.2 (revision 11211).
12836:20110227:003502.479 zabbix_agentd collector started
12837:20110227:003502.480 zabbix_agentd listener started
12841:20110227:003502.490 zabbix_agentd listener started
12840:20110227:003502.491 zabbix_agentd listener started
12842:20110227:003502.492 zabbix_agentd listener started
12839:20110227:003502.493 zabbix_agentd listener started
12843:20110227:003502.496 zabbix_agentd active check started [192.168.10.206:10051]

Vaikimisi serveris tuleb agendi käivitamisel kasutada väärtusi

Server=127.0.0.1
Hostname=Zabbix Server

Aadressil http://www.zabbix.com/documentation/1.8/manual/processes/zabbix_agentd on kirjeldatud seadistusfailis kasutatavaid parameetreid.

Agendi kostümiseerimine

Agendilt saab küsida nii väärtusi, sh kostümiseeritud väärtusi

$  zabbix_get -s 10.0.6.172 -p 10050 -k "pg2ndq.free_connections"
49
$ zabbix_get -s 192.168.10.207 -p 10050 -k "system.uptime"
13819

Zabbix proxy

Zabbix proxy jaoks peab olema arvutis kasutada andmebaas ja paigaldatud selle baasi toega Zabbix proksi tarkvara. Tundub, et üldiselt on kõige sobivam kasutada SQLite baasi. Kogu vajaliku tarkvara paigaldamiseks sobib öelda

# apt-get install zabbix-proxy-sqlite3

Seejärel järgida juhist failist /usr/share/doc/zabbix-proxy-sqlite3/README.Debian

# mkdir /var/lib/zabbix
# zcat /usr/share/doc/zabbix-proxy-sqlite3/schema.sql.gz | \
  sqlite3 /var/lib/zabbix/zabbix.db
# chown -R zabbix:zabbix /var/lib/zabbix

Kusjuures paistab, et vähemalt v. 3.0 puhul tekitatakse see sqlite baas ka puudumisel automaatselt

..
29361:20160918:094945.291 using configuration file: /etc/zabbix/zabbix_proxy.conf
29361:20160918:094945.291 cannot open database file "/var/lib/zabbix/zabbix_proxy.db": [2] No such file or directory
29361:20160918:094945.291 creating database ...
29361:20160918:094947.349 current database version (mandatory/optional): 03000000/03000000
...
# egrep -v "^$|^#" /etc/zabbix/zabbix_proxy.conf 
Server=192.168.10.123
Hostname=zabbix-proxy.auul
LogFile=/var/log/zabbix-proxy/zabbix_proxy.log
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=/var/lib/zabbix/zabbix.db
DBUser=zabbix
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6

kus

  • ServerName - zabbix serveri ip aadress
  • Hostname - zabbix proxy enda nimi

Zabbix proxy kasutamiseks tuleb Zabbix serveris proxy kirjeldada valides

Administration -> DM -> Proxies -> Create Proxy

ning

  • Proxy name - piisab näidata ainult proxy hostname (vajadusel kirjeldada Zabbix serveri /etc/hosts failis)
  • Proxy mode - Active (st proxy pöördub Zabbix serveri poole)

Zabbix proxy kasutava hosti kirjeldamiseks tuleb Zabbix serveris valida

Configuration -> Hosts

ning

  • Host
  • DNS name
  • IP address
  • Monitored by proxy - proxy.ims

Läbi proxy monitooritavate arvutite Zabbix agentide juures tuleb näidata Zabbix Serveri ip aadressiks proxy ip aadress.

Zabbix agendi kasutamine operatsioonisüsteemiga OpenBSD

Zabbix agendi paigaldamiseks sobib öelda

# pkg_add zabbix-agent
zabbix-agent-1.8.2p3:cyrus-sasl-2.1.23p0:   ok
zabbix-agent-1.8.2p3:openldap-client-2.3.43p1: ok
zabbix-agent-1.8.2p3: ok
--- +zabbix-agent-1.8.2p3 -------------------
See /usr/local/share/doc/zabbix/README.OpenBSD for information
about configuring and running ZABBIX on OpenBSD.

Zabbix agendi automaatseks käivitamiseks tuleb lisada /etc/rc.local faili

if [ -x /usr/local/sbin/zabbix_agentd ]; then
  install -d -o _zabbix /var/run/zabbix
  echo -n ' zabbix_agentd'; /usr/local/sbin/zabbix_agentd
fi

Zabbix agendi kasutamine operatsioonisüsteemiga FreeBSD

Zabbix agendi paigaldamiseks sobib öelda

# pkg install zabbix22-agent

Seadistused sobib kopeerida .sample failist

# cd /usr/local/etc/zabbix22
# cp zabbix_agentd.conf.sample zabbix_agentd.conf

Zabbix agendi automaatseks käivitamiseks tuleb lisada /etc/rc.conf faili

zabbix_agentd_enable="YES"

Käsitsi käivitamiseks

# service zabbix_agentd start

Zabbix agendi kasutamine operatsioonisüsteemiga Windows 7

Kasulikud lisamaterjalid

Lähtetekstist kompileerimine

$ ./configure --enable-server --with-openipmi --with-pgsql --with-net-snmp --with-jabber --with-libcurl 1>/tmp/zabbix-1.log 2>/tmp/zabbix-2.log

Template kasutamine

http://www.zabbix.com/forum/blog.php?b=28

IPMI kasutamine

Reeglina sisaldavad server tüüpi arvutid BMC (baseboard management controller) kontrollerit, millega saab suhelda

  • lokaalselt samal arvutil töötava operatsioonisüsteemi seest
  • eemalt, üle IPMI protokolli

Üldiselt kirjeldatakse IPMI kasutamist aadressil http://kuutorvaja.eenet.ee/wiki/IPMI.

Zabbix ja IPMI koos kasutamine võiks pakkuda selliseid võimalusi

  • juba monitooringus olevad arvutid inventariseeritakse riistvara mõttes (on registreeritud kaughaldusliideste IP aadressid)
  • monitooritakse kaughaldusliideste kasutusvalmidust (kuna reeglina kasutatakse arvuti kaughaldusliidest harva, aga kui on vaja, siis on väga vaja ja on tarvis olla kindel, et kaughaldusliides on kasutatav)
  • Zabbix kogub arvutite füüsilist olekut iseloomustavaid andmeid (energiatarve, erinevate komponentide temperatuurid, ventilaatorite pöörlemiskiirused jms; isegi juhul kui pole täpselt teada ühe või teise parameetri täpne füüsikaline tähendus või kas absoluutne suurus vastab tegelikule, on kasu väärtuste ajalistest trenditest; nt mingi temperatuur on suurenenud hüppeliselt 40%)

Zabbix ja IPMI kasutamise eelduseks on, et

  • monitooritav arvuti on ettevalmistatud väljastama IPMI kaudu andmeid soovitavalt USER privileegiga kasutajana pöördudes
# ipmitool -U USER -I lanplus -H 10.0.5.102 -U monitoring -P parool sdr
..
Current 1        | 0.20 Amps         | ok
Current 2        | 0.20 Amps         | ok
Voltage 1        | 240 Volts         | ok
Voltage 2        | 230 Volts         | ok
PS Redundancy    | Not Readable      | ns
Status           | 0x00              | ok
Status           | 0x00              | ok
Pwr Consumption  | 112 Watts         | ok
...

kusjuures kasutada saab vaid 'ok' märkega parameetreid (ns - no sensor data, cr - sensor critical jne)

  • Zabbix server (või proxy) on kompileeritud IPMI toega ning seadistusfailis kasutatakse rida
StartIPMIPollers=3

libopenipmi0 paketile openssl toe lisamine

Zabbix serveris on libopenipmi0 pakett kompileeritud ssl toega, tavaliselt pole

$ ldd /usr/sbin/zabbix_server | grep -i ipmi
       libOpenIPMI.so.0 => /usr/lib/libOpenIPMI.so.0 (0x00007f588392d000)
       libOpenIPMIposix.so.0 => /usr/lib/libOpenIPMIposix.so.0 (0x00007f5883728000)
       libOpenIPMIutils.so.0 => /usr/lib/libOpenIPMIutils.so.0 (0x00007f5880bf7000)
$ ldd /usr/lib/libOpenIPMI.so.0 | grep -i crypt
$ 

Probeemist annab tunnistust IPMI ikoonile vajutades viga

cannot connect to IPMI host: [33554436] Unknown error 33554436

Lisada vahendid kompileerimiseks

# apt-get install dpkg-dev fakeroot
# apt-get install dpkg-repack
# apt-get build-dep libopenipmi0

Tekitamiseks tuleb libopenipmi0 pakett ümber kompileerida

$ apt-get source libopenipmi0

Muuda debian/rules failis

without-openssl -> with-openssl

ja öelda

$ dpkg-buildpackage -rfakeroot

Tulemusena tekivad failisüsteemi mitmed paketid, muu hulgas libopenipmi0_2.0.18-0ubuntu7.1_amd64.deb vms

Selleks, et olemasolevat paketti saaks tagasi asendada tuleb see esmalt moodustada selle materjali aluselt mis ta parasjagu on

# dpkg-repack libopenipmi0

Tulemusena tekib samasse kataloogi kust dpkg-repack käivitati, deb fail.

Asendamiseks tekkinud paketiga sobib öelda

# dpkg -i libopenipmi0_2.0.16-1.3_amd64.deb

Tulemusena

$ ldd /usr/lib/libOpenIPMI.so.0 | grep -i crypt
       libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fe0ba93b000)

ning peaks töötama Zabbix RMCP+ kontrollid.

Selleks, et operatsioonisüsteemi pakettide üldiste uuendustega ei asendata libopenipmi0 pakette vanilla variandi uuema versiooniga saab panna paketi hold'i

# apt-mark hold libopenipmi0

Tagasi asendamiseks tuleb öelda dpkg -i selle failiga, mille dpkg-repack tekitas.

Zabbix serveri IPMI kontrolli seadistamine

Zabbix serveris IPMI kontrolli tekitamiseks tuleb teha kaks tegevust

  • IPMI ligipääsu kirjedamine - kõnealuse Host juures kirjeldada arvuti IPMI ip aadress ja kasutaja ligipääs
  • IPMI Item kirjeldamised - kõnealuse Host juures kirjeldada meelepärased Item'id mida kontrollitakse

Eeldusel, et kõnealune arvuti on oma operatsioonisüsteemi kaudu st tavalisel viisil monitooringus toimub IPMI ligipääsu kirjeldamine liikudes

Configuration -> Hosts -> hostinimi -> Host sakk -> IPMI interfaces

ning täita ip aadressi lahter ja port (vaikimisi 623). Seejärel avada samas IPMI sakk ning täita lahtrid selliselt või asjakohasemalt

Fail:Zabbix-6.gif

kus

  • IPMI authentication algorithm - MD5
  • IPMI privilege level - USER
  • IPMI username
  • IPMI password

IPMI Item kirjeldamiseks tuleb seejärel avada kõnealuse hosti Items ning valida

Create Item

ning täita lahtrid sarnaselt

  • Description - Pwr Consumption
  • Type - IMPI Agent
  • IPMI sensor - Pwr Consumption
  • Key - impi.power (see väärtus valitakse nö vabalt ja loogiliselt, Zabbix seisukohast ainuke nõue on, et ta oleks unikaalne kõnealuse hosti piires)
  • Type of information - Numeric (unsigned)
  • Data type - Decimal
  • Units - W
  • Updata interval - 300 (alustuseks ehk 30 sekundit, saab kiiremini näha, mis tulemused on)
  • Store value - As is
  • Show valus - As is

IMPI kontrolli töötamisest annab tunnistust Configuration -> Hosts väljundi vastava hosti rea roheline IPMI ikoon ning et Zabbix serveri logis pole vigu.

Võib olla, et parameetri nimes on kuidagi ebasobivalt tühikuid ja see segab kontrollimise töötamist (nt parameetri nime lõpus on tühikuid, aga Zabbix eemaldab automaatselt need tühikud kui selline väärtus lahtrisse sisestada). Kontrolliks saab konkreetset sdr parameetrit küsida nii

# ipmitool -L USER -I lanplus -U monitoring -P xxx -H 10.0.5.102 sensor get "Pwr Consumption"
Locating sensor record...
Sensor ID              : Pwr Consumption (0x77)
 Entity ID             : 7.1 (System Board)
 Sensor Type (Threshold)  : Current (0x03)
 Sensor Reading        : 112 (+/- 0) Watts
 Status                : ok
 Nominal Reading       : 658.000
 Normal Maximum        : 672.000
 Upper critical        : 1204.000
 Upper non-critical    : 1092.000
 Positive Hysteresis   : Unspecified
 Negative Hysteresis   : Unspecified
 Minimum sensor range  : Unspecified
 Maximum sensor range  : 3556.000
 Event Message Control : Per-threshold
 Readable Thresholds   : unc ucr 
 Settable Thresholds   : unc 
 Assertion Events      : 
 Assertions Enabled    : unc+ ucr+ 
 Deassertions Enabled  : unc+ ucr+

Dell iDRAC ettevalmistamine

Logida sisse iDRAC v. 6 või v. 7 haldusliidesesse (vastavalt nt Dell R710 või R420 mudelid)

  • lülitada sisse IPMI over LAN tugi
Network -> IPMI settings -> Enable IPMI Over LAN
  • liikuda kasutajate lisamise sektsiooni ja lisada selliste privileegidega kasutaja 'monitoring' ja valida talle meelepärane parool

Fail:Zabbix-7.gif

kus

  • IPMI User Privileges -> Maximum LAN User Privilege Granted - User
  • iDRAC User Privileges -> Roles - None

Kasutaja sobivust saab testida öeldes nt

 # ipmitool -L USER -I lanplus -H 10.0.5.102 -U monitoring -P parool sdr

Dell arvutil paistab IPMI lan print reeglina selline

# ipmitool lan print
Set in Progress         : Set Complete
Auth Type Support       : NONE MD2 MD5 PASSWORD 
Auth Type Enable        : Callback : MD2 MD5 
                        : User     : MD5 
                        : Operator : MD2 MD5 
                        : Admin    : MD5 
                        : OEM      : 
IP Address Source       : Static Address
IP Address              : 10.0.5.102
Subnet Mask             : 255.255.255.0
MAC Address             : 90:b1:1c:54:57:5b
SNMP Community String   : public
IP Header               : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled
Gratituous ARP Intrvl   : 2.0 seconds
Default Gateway IP      : 10.0.5.1
Default Gateway MAC     : 00:00:00:00:00:00
Backup Gateway IP       : 0.0.0.0
Backup Gateway MAC      : 00:00:00:00:00:00
802.1q VLAN ID          : Disabled
802.1q VLAN Priority    : 0
RMCP+ Cipher Suites     : 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
Cipher Suite Priv Max   : Xaaaaaaaaaaaaaa
                        :     X=Cipher Suite Unused
                        :     c=CALLBACK
                        :     u=USER
                        :     o=OPERATOR
                        :     a=ADMIN
                        :     O=OEM

kus

  • TODO

ning kasutajate nimekiri (ei tea, miks tuleb seejuures kaustada erinevaid kanaleid)

# ipmitool user list 2
ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv Limit
2   admin            true    true       true       ADMINISTRATOR
3   Administrator    true    true       true       ADMINISTRATOR
4   monitoring       true    false      false      NO ACCESS

HP iLO 3 ettevalmistamine

HP iLO 3 ettevalmistamiseks nt arvutil HP ProLiant DL 580 G7 või DL585 G5 tuleb esmalt iLO sisse lülitada, nt arvuti käivitamisel sekkuda F8 vajutamisega

Fail:Zabbix-9.gif

kus

  • TODO

Seejärel logida iLO kaughaldusliidesesse sisse ning tekitada USER privileegiga kasutaja

Fail:Zabbix-8.gif

kus

  • sõltuvalt sellest, millised linnukesed valida tekib automaatselt all user, operator vms privileeg

Kasutaja sobivust saab testida öeldes nt

# ipmitool -L USER -I lanplus 10.0.5.101 -U monitoring -P parool sdr

HP arvutil paistab IPMI lan print reeglina selline

# ipmitool lan print
Set in Progress         : Set Complete
Auth Type Support       : 
IP Address Source       : Static Address
IP Address              : 10.0.5.101
Subnet Mask             : 255.255.255.0
MAC Address             : 10:60:4b:98:b8:ee
BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled
Default Gateway IP      : 10.0.5.1
802.1q VLAN ID          : Disabled
802.1q VLAN Priority    : 0
Cipher Suite Priv Max   : Not Available

ning kasutajate nimekiri

# ipmitool user list 2
ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv Limit
1   Administrator    true    false      true       ADMINISTRATOR
2   monitoring       true    false      true       USER
3   (Empty User)     true    false      false      NO ACCESS
4   (Empty User)     true    false      false      NO ACCESS
5   (Empty User)     true    false      false      NO ACCESS
...
12   (Empty User)     true    false      false      NO ACCESS

Probleemid

  • kuigi ipmitool käsuga saab üle võrgu pöörduda, Zabbixiga ei toimi
  • millegipärast on erinevalt Dell arvutist HP puhul ipmitool lan print väljundis puudu mitmed sektsioonid
  • 2015 aasta suvel on praktiliselt paratamatu, et tuleb kasutada administrator privileegi, https://support.zabbix.com/browse/ZBX-6077

IBM IMM ettevalmistamine

TODO

SunFire x2200 ettevalmistamine

jrk ipmi sdr snmp oid
1 CPU 0 Temp iso.3.6.1.4.1.42.2.208.1.2.9.1.1.4.1
2 CPU 1 Temp iso.3.6.1.4.1.42.2.208.1.2.9.1.1.4.2
3 Ambient Temp0 iso.3.6.1.4.1.42.2.208.1.2.9.1.1.4.3
4 Ambient Temp1 iso.3.6.1.4.1.42.2.208.1.2.9.1.1.4.4
5 Blower Fan 0 iso.3.6.1.4.1.42.2.208.1.2.8.1.1.4.1
6 Blower Fan 0 iso.3.6.1.4.1.42.2.208.1.2.8.1.1.4.2
7 Axial Fan 0 iso.3.6.1.4.1.42.2.208.1.2.8.1.1.5.3
8 Axial Fan 0 iso.3.6.1.4.1.42.2.208.1.2.8.1.1.5.4

Intel ettevalmistamine

TODO

SNMP kasutamine

SNMP andmete kasutamist saab seadistada Zabbixis mitmel viisil, tõenäoliselt üks sobivamaid on kasutada dünaamilisi indekseid. Selle juures kasutab Zabbix kahte sorti andmeid

  • saab IF-MIB::ifDescr vastusest teada, millistele nö inimloetavatele väärtustele (fxp0, re0 jt) vastab indeksi numbrid (1, 2 jt)
$ snmpwalk -v 2c -c saladus 192.168.10.211 IF-MIB::ifDescr   
IF-MIB::ifDescr.1 = STRING: fxp0
IF-MIB::ifDescr.2 = STRING: re0
IF-MIB::ifDescr.3 = STRING: re1
IF-MIB::ifDescr.4 = STRING: fxp1
IF-MIB::ifDescr.5 = STRING: enc0
...
  • kasutab indeksi numbrit väärtuse küsimiseks
$ snmpwalk -v 2c -c saladus 192.168.10.211 IF-MIB::ifOutOctets
IF-MIB::ifOutOctets.1 = Counter32: 2386898346
IF-MIB::ifOutOctets.2 = Counter32: 2218347886
IF-MIB::ifOutOctets.3 = Counter32: 2401771549
IF-MIB::ifOutOctets.4 = Counter32: 935895739
IF-MIB::ifOutOctets.5 = Counter32: 133066013

Dünaamilist indeksite kasutamise kasu seisneb selles, et Zabbix seadistamisel saab kasutada inimloetavaid seadmenimesid (fxp0, re0 jt). Item kirjeldamine toimub nt selliselt

  • Description - Outgoing traffc on interface $1 (snmp idx)
  • Type - SNMP v2 agent
  • SNMP OID - IF-MIB::ifOutOctets["index","ifDescr","re0"]
  • SNMP community - saladus
  • SNMP port - 161
  • Key - ifOutOctets[re0]
  • Type of information - Numeric (float)
  • Units - Bps
  • Updata interval - 60
  • Store value - Delta (speed per second)

SNMP kontrolli töötamisest annab tunnistust Configuration -> Hosts väljundi vastava hosti rea roheline SNMP ikoon.

Dell iDRAC

Võimsus

$ snmpwalk -v 2c -c public 10.0.5.102 .1.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.3
iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.3 = INTEGER: 98

Üldine seisukord

$ snmpwalk -v 2c -c public 10.102.2.52 1.3.6.1.4.1.674.10892.2.2.1
SNMPv2-SMI::enterprises.674.10892.2.2.1.0 = INTEGER: 3

Kasulikud lisamaterjalid

SNMP v3 kasutamine

Nt Dell iDRAC puhul päringule

# snmpwalk -v 3 -u monitoring -l authPriv -a MD5 -A parool -x AES -X parool 10.0.5.102 \
  .1.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.3

tagastatakse vastuseks

iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.3 = INTEGER: 98

Vastava Zabbixi item seadistus paistab selline

Fail:Zabbix-10.gif

Dell iDRAC v. 7

Overview -> iDRAC Settings -> User Authentication

kus valida kasutaja ning lülitada tema jaoks SNMP v3 ligipääs sisse, lisaks näidata

  • Authentication type - MD5, SHA või None
  • Privacy type - DES, AES või None

Simple Checks

Simple Check kasutamisel pöördub Zabbix server otse monitooritava teenuse poole, seejuures on võimalik arvestada iseloomulike protokollidega (SMTP, HTTP jt). Simple Check puhul ei tule monitooritavas arvutis käivitada Zabbix agenti. Seadistamiseks

Configure -> Hosts -> hostinimi -> Items -> Create Item

ning täita lahtrid nt selliselt

  • Type - Simple check
  • Key - smtp

ICMP checks

ICMP kontrollide kasutamiseks peab olema paigaldatud fping

# apt-get install fping

ning serveri seadistusfailis fping asukoht kirjeldatud

# cat /etc/zabbix/zabbix_server.conf
...
# Location of fping. Default is /usr/sbin/fping
# Make sure that fping binary has root permissions and SUID flag set
FpingLocation=/usr/bin/fping

ICMP kontrolli kirjedamiseks tuleb valida

Configuration -> Hosts -> hostinimi -> Create Item

ning kirjeldada

  • Description - ICMP ping performance
  • Type - Simple check
  • Key - icmppingsec
  • Type of information - Numeric (float)
  • Units - ms
  • Custom multiplier - 1000
  • Update interval - 60
  • Store value - As is

Veebilehtede monitoorimine

Zabbix Server toetab otseselt veebilehtede monitoorimist, selle kasutamiseks peab olema kirjeldatud Host ja Application.

  • Moodustada eraldi grupp koos esimese hostiga (kui sobivat hosti juba pole kirjeldatud)
Configuration -> Hosts
 Name - 'www - www.loomaaed.tartu.ee'
 New group - 'www - loomaaed'
  • Valides moodustada Hosti juurde Application
Configuration -> Hosts -> hostinimi, Applications
Create Application -> Name - application www loomaaed
  • Kirjeldada stsenaarium valides
Configuration -> Web -> Group ja Host valida sobivad -> Create scenario
  Application - valida nimekirjast 'application www loomaaed'
  Name - loomaaia rakenduse avaleht
  Update interval - 360
  • Näitada Steps täites
Name - Avaleht
URL - http://www.loomaaed.tartu.ee/avaleht
Timeout - 60
Required - Loomaaed
Status codes - 200
  • Tulemusi näeb valides
Monitoring -> Web

Päringus kasutatakse nt selliseid päiseid

GET /avaleht HTTP/1.1
User-Agent: zabbix
Host: www.loomaaed.tartu.ee
Accept: */*

Itemite kopeerimine ühelt Hostilt teisele

Kui ühe hosti jaoks on kirjeldatud mingi itemite hulk ning on soov kasutada samu samuti mõne teise hosti juures, siis tuleb

  • tekitada teine host
  • valida esimese hosti huvipakkuda item'id välja tähistades nad linnukesega
Configuration -> Hosts -> hostinimi -> Items
  • valida
Copy selected to ... -> Go
  • valida Target type Hosts ning sobiv grupp ning esitatud Targetite seast huvipakkuvad hostid tähistades nad linnukesega

Calculated Item

Configuration -> Hosts -> Create Item
  • Type Calculated
  • Expression
last("vfs.dev.read[sda,sectors]")-last("vfs.dev.write[sda,sectors]")

Aktiivne kontroll

TODO

Triggeri kasutamine

Triggeri http://www.zabbix.com/documentation/1.8/manual/config/triggers abil saab jälgitava parameetri jaoks näidata, millised on lubatud ja millised lubamatud väärtused. Triggeri kirjeldamiseks sobib valida

Configuration -> Hosts -> hostinimi -> Triggers -> Create Trigger

ning kirjeldada

  • Name - Too many postgres processes on Zabbix Server
  • Expression - {Zabbix Server:proc.num[postgres].last(0)}>5 (mille võib sisestada otse või kasutades Select dialoogi abi)
  • Event generation -
  • Severity - Average

Sõltuvustega triggerite kirjeldamine

Triggerite juures sõltuvuste kasutamine võimaldab korralda nii, et Zabbix saadab ühte teate probleemi kohta ja ei saada teateid nende kontrollidega seoses, mis teatatud probleemist sõltuvad, st on juba seetõttu ilmselt probleemid. Lugegu nt Zabbix server läbi agendi faili /tmp/kontroll ja on kirjeldatud kaks item'it

  • kontrollida faili /tmp/kontroll olemasolu - vfs.file.exists[/tmp/kontroll]
  • kontrollida faili /tmp/kontroll sisu - vfs.file.regmatch[/tmp/kontroll,"^OK - Operational"]

Sellise sõltuvuse kirjeldamiseks tuleb esmalt tekitada kaks triggerit nö tavalisel viisil ning seejärel näidata, et teine trigger sõltub esimesest valides

Configuration -> Hosts -> Trigger -> teise triggeri nimi -> New dependency -> Add

Hüstereesiga triggeri kasutamine

Hüsterees tähendab üldiselt seda, et edasised sündmused sõltuvad eelnenud olukorrast. Nt selleks, et temperatuuri trigger käituks selliselt

  • kui temperatuur on üle 20 kraadi, trigger lülitud sisse
  • kui temperatuur on alla 15 kraadi, trigger lülitub välja

sobib kasutada sellist avaldist

({TRIGGER.VALUE}=0&{server:temp.last(0)}>20)| \
  ({TRIGGER.VALUE}=1&{server:temp.last(0)}>15)

Veebilehe monitooringu triggeri kasutamine

Veebilehe monitooringu puhul tuleb arvestada, et

  • web.test.fail väärus 0 tähistab õnnestumist
  • web.test.fail väärus 1 tähistab ebaõnnestumist

Nt selline hüsteeriline trigger

({TRIGGER.VALUE}=0&{www.loomaaed.tartu.ee:web.test.fail[www.loomaaed.tartu.ee web stsenaarium].min(#3)}>0)| \
({TRIGGER.VALUE}=1&{www.loomaaed.tartu.ee:web.test.fail[www.loomaaed.tartu.ee web stsenaarium].max(#2)}>0)
  • trigger lülitub sisse kui on toimunud kolm järjestikulist ebaõnnestumist
  • trigger püsib sees kuni pole toimunud kahte järjestikulist õnnestumist
  • trigger lülitub välja kuni on toimunud kaks järjestikulist õnnestumist

Host discovery kasutamine

TODO

Eposti teavituskanali ettevalmistamine

Eposti teavituskanali ettevalmistamiseks tuleb seadistada, millist smtp releed kasutab Zabbix teadete väljasaatmiseks

Administration -> Media types -> Email

ning täita lahtrid nt selliselt

  • Type - Email
  • SMTP server - 127.0.0.1
  • SMTP helo - loomaaed.tartu.ee
  • SMTP email - zabbix@loomaaed.tartu.ee

Teavituse saamiseks peab olema kasutajal seadistatud eposti aadress

Administration -> Users -> kasutajanimi -> Media -> Add

Lisaks tuleks täpsustada, millise tasemega sündmuste puhul teateid saadetakse, nt Disaster ja High.

Actionite kirjeldamine

Action kirjeldab, milline tegevus tuleb sooritada millistel tingimustel, nt triggeri lülituse puhul eposti saatmine

Configuration -> Actions -> Create Action (Event source == Triggers)

ning täita avanenud dialoogid nt selliselt, Action

  • Name - PostgreSQL protsesse liiga palju
  • Event source - Triggers
  • Default subject - {TRIGGER.NAME}: {TRIGGER.STATUS}
  • Default message - {EVENT.DATE} - {EVENT.TIME} - {TRIGGER.NAME}: {STATUS}
  • Recovery message - valitud
  • Status - Enabled

Action conditions, valida Add ning

Trigger value = "PROBLEM"
Trigger severity = "High"
Host = "loomaaed.tartu.ee"

Action operations, valida New ning

  • Operation type - Send message
  • Send message to -> Single user -> valida välja user
  • Send only to - all
  • Default message - valitud

Valida lõpus Save. NB! Kasutaja saab sms vms teateid ainult nende kontrollide kohta, millele tal on privileeg nö muidu ligi pääseda.

Graafikud

Zabbix võimaldab kasutada kahte sorti graafikuid

  • simple graphs - arvuliste väärtustega kaasnevad need automaatselt
  • custom graphs - tuleb omal tekitada

Simple graphs

Arvutiliste väärtustega kaasnevad need automaatselt ja paistavad sellised

Fail:Zabbix-4.gif

kus

  • lühema perioodi puhul on esitatud andmed ühte värvi joonena

Fail:Zabbix-5.gif

kus

  • pikema perioodi puhul on esitatud andmed kolme värvi joontega, kahe äärmise vahele jääb kollane ala; seda tuleb käistleda nii, et igal graafikult paistavalt nö ümmargusel ajahetkel on kolm väärtust, seal ümbruses olnud keskmine väärtus on roheline, ning kummalgi pool max ja min väärtus

Custom graphs

Kostümiseeritud graafikuid on otstarbekas teha template juurde. Nt olgu templateis kirjeldatud kõvaketta lugemise ja kirjutamise kiiruse andmete kogumine, selleks, et need andmed paigutada ühele graafikule tuleb valida

Configuration -> Hosts -> dropdownist Graphs -> Create Graph

ning kirjaldada nime (Name), seejärel valida alt

Items -> Add -> Parameter (Select) -> Reading from sda

ning sarnaselt kirjeldada Writing to sda ning valida Save. Tulemusena on näha graafik valides

Monitoring -> Graphs -> sobiv Group, sobiv Host, sobiv Graph

Maps

TODO

Zabbixi konfiguratsiooni ja andmete varundamine

TODO

Kontrollide näited

Kellaaja kontroll

Kellaaja kontrollimiseks sobib kasutada sellist triggerit

{Template_Linux_generic_os:system.localtime.fuzzytime(5)}<1

kus

  • fuzzytime funktsioon võrdleb kõnealuse arvuti kellaaega Zabbixi serveri kellaajaga ning vastus on võrdne ühega, kui kellaajad erievad vähem kui 5 sekundit

Kui kontrollitav arvuti on Zabbix serverist erinevas ajavööndis, nt kell on tund aeg ees, siis sobib kasutada nt sellist triggerit

({rootsi.loomaaed.tartu.ee:system.localtime.fuzzytime(10)}+3600)<1

External scripts

External scriptid asuvad Zabbix serveri failisüsteemis, serveri seadistusfailis /etc/zabbix/zabbix_server.conf kirjeldatud kataloogis, nt

# Location of external scripts
ExternalScripts=/opt/zabbix/es

Skript peab kirjutama standard väljundisse nt

  • 0 - ebaõnnestumisel
  • 1 - õnnestumisel

External Script kasutamiseks tuleb kirjeldada item muus osas tavapärasel viisil, kuid

  • key - skript nimi, nt check_ldap eeldusel, et vastav skript on /opt/zabbix/es/check_ldap
  • skript peab olema käivitatav, st chmod 0755 /opt/zabbix/es/check_ldap
  • Type of information - Numeric (unsigned)
  • Data type - Decimal
  • Units - tühi
  • Zabbix kutsub välja skripti nii, et esimene parameeter on selle hosti ip aadress, mille juurde item kuulub (seda saab nt shell skripti seest kasutada $1 muutujana)

Nt selline external script kasutab Nagiose lisa dns kontrollimiseks ([ ja [ ning ] ja ] vahel tegelikult ei ole tühikut)

# cat /opt/zabbix/es/check_dns
#!/bin/bash

/usr/lib/nagios/plugins/check_dig -l www.loomaaed.tartu.ee -T A -H $1 -a 10.146.67.24 1>/dev/null 2>&1
ec=$?

if [ [ $ec -eq 0 ] ]; then
  echo 1
else
  echo 0
fi

User parameters kasutamine

User parameters abil saab lisada Zabbix agendile juurde kontrolli, mida saab Zabbix serverist nö tavalisel moel kasutada. Nt

UserParameter=test,/tmp/test.sh

kus /tmp/test.sh

# chmod 0755 /tmp/test.sh
# cat /tmp/test.sh
echo 15

ja pöördudes

# zabbix_get -s 127.0.0.1 -p 10050 -k "test"
15

Flexible user parameters kasutamine

Flexible user parameters võimaldab erinevalt nö tavalisest user parametrist pöörduda enda poole zabbixi itemist koor [key] osaga. St praktiliselt saab ühe /etc/zabbix/zabbix_agentd.conf reaga sooritada erinevaid kontrolle.

Kui nt /etc/zabbix/zabbix_agentd.conf sisaldab rida

UserParameter=test[*],echo $1

Siis saab pöörduda

# zabbix_get -s 127.0.0.1 -p 10050 -k "test[15]"
15
# zabbix_get -s 127.0.0.1 -p 10050 -k "test[25]"
25

Zabbix serveri vastava Item seadistamiseks sobib valida

  • Name - midagi meelepärast
  • Type - Zabbix agent
  • Key - test[15] (või nt upsc[ambient.temperature]
  • Host interface - Agent (kui peaks olema mitu liidest kirjeldatud, nt SNMP)
  • Type of information - Numeric (float) kui on tegu reaalarvuliste andmetega (st komaga)

Makrote kasutamine

Makro (ingl. k. macro) võimaldab kirjelda nt hosti jaoks muutujale väärtuse. Selline muutuja ja tema väärtus leiavad kasutamist nt selliselt, et template sisaldab muutuja nime (nt item key kohal) ning kui seda template'i kasutada erinevate hostide juures, siis tegelikult kasutatakse erinevaid item key väärtusi. Host macro kirjeldadatakse

Configuration -> Hosts -> hostinimi -> Macros

ja näidates nt

{$PGBAAS_ZABBIX} -> zabbix

ning taoliselt kirjeldatud makro kautamiseks sobib kirjeldada item'i võti templates nt selliselt

pg2ndq.database.indexes.user_totals.idx_blks_hit[{$PGBAAS_ZABBIX}]

Zabbix trapper ja zabbix_sender kasutamine

Zabbix trapper Item tüüp võtab vastu võrgust tulevad teateid. Teadete saatmiseks sobib kasutada nt programmi zabbix_sender. Trapperi ettevalmistamiseks tuleb

Configure -> Hosts -> hostinimi -> Create Item

ning näidata

  • Name - midagi, mis sobib
  • Item type - Zabbix trapper
  • Key - backup
  • Type of information - Numeric (unsigned)
  • Data type - Boolean

Teate saatmiseks sobib öelda

$ zabbix_sender -z 192.168.10.119 -s "keskus.auul" -k backup -o 1

kus tavaliselt

  • 1 - tähistab, et kontrollitav on korras
  • 0 - tähistab, et kontrollitavaga on probleem

Varundamise skripti kasutamine

Varundamise skripti juures sobib kasutada trapperit ja zabbix_senderit selliselt

  • varundamise skript saadab oma töö lõpus Zabbixile teate õnnestumisest või ebaõnnestumisest
  • vastava triggeri juures kontrollitakse, mida varudamise skript ütles ning kas ta midagi ütles viimase ööpäeva jooksul

Avada Item ning täita

  • Name - varundus - rsnapshot
  • Type - Zabbix trapper
  • Key - varundus_rsnapshot
  • Type - Numeric (unsigned)
  • Data Type - Boolean
  • Show value - Service state
  • Applications - Varundus

Varunduse arvutis sobib kasutada käsku

$ zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -s varundaja.auul -k varundus_rsnapshot -o 1

kus

  • -s järel on kirjas nn Zabbix serveri frontendis kirjeldatud hosti nimi, nt 'Zabbix server'; ip või dns nimi ei pruugi sobida

Kasulikud lisamaterjalid

Nt sobib kasutada sellist triggerit

  • Name - varundus - rsnapshot olek
  • Expression - {Zabbix server:varundus_rsnapshot.last(0)}=0 | {Zabbix server:varundus_rsnapshot.nodata(172800)}=1

Varundamine ja taaste

Kuna Zabbix serveris on kõik seadistused ja andmed andmebaasis, siis Zabbixi serveri varundamiseks piisab varundada vastavat andmebaasi. 1.8.x versioone pidi uuendades sobib põhimõtteliselt kasutada esialgset andmebaasi. Olulisi muudatusi ei ole, aga võib olla nt lisandunud mõni indeks.

Zabbix API kasutamine

API kasutamiseks peab vastava kasutaja jaoks olema API kasutamise õigus sisse lülitatud (versioonis 2.0 seda privileegi enam pole, kõik saavad kasutada)

Administration -> Users -> API access -> Enabled

API suhtleb üle võrgu kasutades JSON http://en.wikipedia.org/wiki/JSON protokolli pöördudes Zabbixi servrei uri /zabbix/api_jsonrpc.php poole.

Python py-zabbix

# python
Python 2.7.12 (default, Dec  4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyzabbix import ZabbixMetric, ZabbixSender, ZabbixAPI
>>> import argparse
>>> import re
>>> import requests
>>> import sys
>>> import threading
>>> import uuid
>>> import six
>>> import time
>>> import calendar
>>> import xml.etree.ElementTree as ElementTree
>>> import six.moves.urllib.parse as urlparse
>>> from six.moves import queue
>>> from six.moves import configparser

>>> zapi=ZabbixAPI(url="http://127.0.0.1/zabbix", user="Admin", password="zabbix")
>>> temp = zapi.template.get(countOutput=1)
>>> print temp
75

>>> temp = zapi.apiinfo.version
>>> print temp()
3.4.8
>>> print temp
<function fn at 0x7f1d3b016f50>

Python legacy

Pythonist API kasutamiseks sobib teek https://github.com/gescheit/scripts/blob/master/zabbix/zabbix_api.py, näiteks viimase ööpäeva jooksul tekkinud problem triggeritega seotud hostide esitamine toimub selliselt

import time
from zabbix_api import ZabbixAPI
z = ZabbixAPI(server="http://192.168.10.207/zabbix", log_level=0)
z.login("kasutajanimi", "parool")

for trigger in z.trigger.get({ 'output' : 'extend', 'withUnacknowledgedEvents' : 0 }): 
  for item in z.item.get({'output' : 'extend', 'triggerids' : [trigger['triggerid']] }):
    for host in z.host.get({'output' : 'extend', 'hostids' : [item['hostid']]}):
      if trigger['value'] != '0':
        print host['host'] + ' ' + trigger['description'] + ' ' + item['lastvalue'] + ' '

Skripti kasutamiseks tuleb öelda

$ python triggers.py
moraal.auul vi protsess tootab 2 
www-1.auul vi protsess tootab 1 
moraal.auul Too many users connected on server {HOSTNAME} 138 
pm-host-lenovo.auul Low free disk space on {HOSTNAME} volume / 85.721478 

Mingite valitud itemite väärtuste esitamiseks sobib nt selline skript

import time
from zabbix_api import ZabbixAPI
z = ZabbixAPI(server="http://192.168.10.207/zabbix", log_level=0)
z.login("kasutajanimi", "parool")

for host in z.host.get({'output' : 'extend' }):
 for item in z.item.get({'output' : 'extend', 'host' : host['host'] }):
   if item['description'] == 'Baseboard Temp':
     print host['host'] + ' ' + item['description'] + ' ' + str(item['lastvalue'])
   elif item['description'] == 'Number of processes':
     print host['host'] + ' ' + item['description'] + ' ' + str(item['lastvalue'])
   elif item['description'] == 'Processor load':
     print host['host'] + ' ' + item['description'] + ' ' + str(item['lastvalue'])

Skripti kasutamiseks tuleb öelda

$ python items.py 
haldus.ims Processor load 0.000000
haldus.ims Number of processes 127
haldus.ims Baseboard Temp 30
pm-host-aix.auul Number of processes 220
pm-host-aix.auul Processor load 1.100000
moraal.auul Processor load 0.080000
moraal.auul Number of processes 572

Ruby

TODO

Lisamaterjalid:

Perl

Massiliseks webcheck lisamiseks võiks sobida midagi sellist, tulemusena lisandub Zabbixisse stsenaarium, vastav Application ja Host peab olema eelnevalt olemas

#!/usr/bin/perl

use 5.010;
use strict;
use warnings;
use JSON::RPC::Client;
use Data::Dumper;

# Authenticate yourself
my $client = new JSON::RPC::Client;
my $url = 'http://zabbix.auul/zabbix/api_jsonrpc.php';
my $authID;
my $response;

my $json = {
jsonrpc => "2.0",
method => "user.login",
params => {
user => "Admin",
password => "zabbix"
},
id => 1
};

$response = $client->call($url, $json);

# Check if response was successful
 die "Authentication failed\n" unless $response->content->{'result'};

$authID = $response->content->{'result'};
print "Authentication successful. Auth ID: " . $authID . "\n";

$json = {
    jsonrpc => "2.0",
    method => "webcheck.create",
    params => {
        name => "loomaaed.tartu.ee",
        applicationid => "377",
        hostid => "10086",
        steps => [
            {
                name => "http://loomaaed.tartu.ee/et/uldinfo",
                url => "http://loomaaed.tartu.ee/et/uldinfo",
                required => "Loomaaed",
                status_codes => 200,
                no => 1
            },
            {
                name => "http://loomaaed.tartu.ee/et/tootajad",
                url => "http://loomaaed.tartu.ee/et/tootajad",
                required => "Loomaaed",
                status_codes => 200,
                no => 2
            }
        ]
    },
    auth => "$authID",
    id => 2
};

$response = $client->call($url, $json);

kus

  • esmalt kasutaja autenditakse ja seejärel kasutatakse saadud $authID väärtust
  • applicationid - see tuleb teha varasemast kindaks, Zabbixis peab olema kirjedatud application, mille alla stsenaariumeid luuakse
  • hostid - see tuleb teha varasemast kindaks, Zabbixis peab olema kirjedatud host, millega looduavad stsenaariumeid seostatakse
  • name - stsenaariumi nimi
  • steps - stsenaariumi sees sisalduvad kontrollid

Kasulikud lisamaterjalid

Hooldustööde kirjeldamine

Hooldustööde kirjeldamine on vajalik selleks, et sel ajal Zabbix ei saadaks vastavate kontrollidega seoses teateid. Lisaks saab täpsustada, kas hooldustöö ajal monitooringuga seotud päringute tegemine ise jätkub või mitte. Tuleb näidata kaks ajavahemikku

  • millisel ajavahemikul üldiselt allpool kirjeldatud maintenance perioodide kasutamist arvesse võetakse (nt ühe aasta jooksul)
  • kunas maintenance periood toimub (kas konkreetsel ühekordsel ajal või regulaarselt, nt iga nädala neljapäeval algusega kell 18 ja kestusega kolm tundi)
Configuration -> Maintenance -> Create maintenace period

ning näidata kolme saki juures

  • Maintenance - üldine ajavahemik
Name, Maintenance type, Active since, Active till, Description
  • Periods
New -> Period Type, Date, Maintenance period length
  • Hosts & Groups - milliseid hoste või gruppe hooldustöö puudutab

Maintenance ajal paistavad haldusliideses vastavad hostid teist värvi, lisaks saab Dashboard seadistuste abil nende näitamise üldse välja lülitada.

Distributed Monitoring

Zabbix serveri migreerimine

Zabbix server talletab kõik monitooringuks vajalikud andmed andmebaasis. Zabbix serveri käivitamiseks teisel arvutil (teise nime ja ip aadressiga) ning võimalik, et ka muu andmebaasi versiooniga tuleb migreerida andmebaas, kohendada seadistusfailid ning teenus hakkab käima.

Zabbix serveri MySQL andmebaasi varundamine

Märkus 2017 kevad: https://github.com/maxhq/zabbix-backup

Kuna kogu andmebaasi varundamine on väga mahukas, on mõistlik varundada olulised osad, nt sellise skriptiga rsnapshot varundustarkvara abil

# cat /root/bin/mysql-backup.sh
#!/bin/bash

rm /var/backups/mysql/mysql-zabbix-schema.gz
rm /var/backups/mysql/mysql-zabbix-data.gz

/usr/bin/mysqldump -u root  -pparool -B zabbix --add-drop-table --add-locks --extended-insert --no-data | gzip -c > /var/backups/mysql/mysql-zabbix-schema.gz
/usr/bin/mysqldump -u root  -pparool -B zabbix --add-drop-table --add-locks --extended-insert --single-transaction --no-create-info --no-create-db \
   --ignore-table="zabbix.acknowledges" \
   --ignore-table="zabbix.alerts" \
   --ignore-table="zabbix.auditlog" \
   --ignore-table="zabbix.auditlog_details" \
   --ignore-table="zabbix.escalations" \
   --ignore-table="zabbix.events" \
   --ignore-table="zabbix.history" \
   --ignore-table="zabbix.history_log" \
   --ignore-table="zabbix.history_str" \
   --ignore-table="zabbix.history_str_sync" \
   --ignore-table="zabbix.history_sync" \
   --ignore-table="zabbix.history_text" \
   --ignore-table="zabbix.history_uint" \
   --ignore-table="zabbix.history_uint_sync" \
   --ignore-table="zabbix.trends" \
   --ignore-table="zabbix.trends_uint" | gzip -c > /var/backups/mysql/mysql-zabbix-data.gz

ning kutsuda see välja piisava intervaliga /etc/rsnapshot.conf abil

# cat /etc/rsnapshot.conf
...
backup_script   /root/bin/mysql-backup.sh       placeholder_dir_name_1
backup  /var/backups/mysql/     localhost/

Universaalsem alternatiiv, st skriptis ei ole otseselt ligipääsu infot esitatud on kasutada selliseid seadistusfaile ning skripti

# cat /etc/mysql/debian.cnf-backup-zabbix-schema 
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = KNNihabYPMzsFnlX
socket   = /var/run/mysqld/mysqld.sock

[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = KNNihabYPMzsFnlX
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

[mysqldump]
add-locks
add-drop-table
extended-insert
no-data
# cat /etc/mysql/debian.cnf-backup-zabbix-data 
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = KNNihabYPMzsFnlX
socket   = /var/run/mysqld/mysqld.sock

[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = KNNihabYPMzsFnlX
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

[mysqldump]
add-locks
add-drop-table
extended-insert
single-transaction
no-create-info
no-create-db
ignore-table="zabbix.acknowledges"
ignore-table="zabbix.alerts"
ignore-table="zabbix.auditlog"
ignore-table="zabbix.auditlog_details"
ignore-table="zabbix.escalations"
ignore-table="zabbix.events"
ignore-table="zabbix.history"
ignore-table="zabbix.history_log"
ignore-table="zabbix.history_str"
ignore-table="zabbix.history_str_sync"
ignore-table="zabbix.history_sync"
ignore-table="zabbix.history_text"
ignore-table="zabbix.history_uint"
ignore-table="zabbix.history_uint_sync"
ignore-table="zabbix.trends"
ignore-table="zabbix.trends_uint"
# cat /opt/omni/lbin/opt/backup/mysql-backup-zabbix.sh 
#!/bin/sh

renice 20 $$ > /dev/null

mysql_baasid=`mysql --defaults-file=/etc/mysql/debian.cnf -e 'show databases' | sed -e '1d'`

for i in $mysql_baasid
do
  if test "$i" = "zabbix"; then
    mysqldump --defaults-file=/etc/mysql/debian.cnf-backup-zabbix-schema $i | gzip -c > /var/backups/mysql/mysql_${i}_schema.sql.gz;
    echo "$? $i" >> /var/backups/mysql/dbec.txt
    mysqldump --defaults-file=/etc/mysql/debian.cnf-backup-zabbix-data $i | gzip -c > /var/backups/mysql/mysql_${i}_data.sql.gz;
    echo "$? $i" >> /var/backups/mysql/dbec.txt
  elif test "$i" != "information_schema" && test "$i" != "performance_schema"; then
    mysqldump --defaults-file=/etc/mysql/debian.cnf $i | gzip -c > /var/backups/mysql/mysql_$i.sql.gz;
    echo "$? $i" >> /var/backups/mysql/dbec.txt
  fi
done

Seejuures on vajalik

# mkdir /var/backups/mysql
# chmod 0700 /var/backups/mysql

Zabbix serveri PostgreSQL andmebaasi varundamine

Kuna kogu andmebaasi varundamine on väga mahukas, on mõistlik varundada olulised osad, nt sellise skriptiga rsnapshot varundustarkvara abil

# cat /root/bin/pgsql-backup.sh
#!/bin/bash

rm /var/backups/postgresql/pgsql-zabbix-schema.dump
rm /var/backups/postgresql/pgsql-zabbix-data.dump

pg_dump -Fc zabbix -s -f zabbix-schema.dump
pg_dump -Fc zabbix \
  -T "public.acknowledges" \
  -T "public.alerts" \
  -T "public.auditlog" \
  -T "public.auditlog_details" \
  -T "public.escalations" \
  -T "public.events" \
  -T "public.history" \
  -T "public.history_log" \
  -T "public.history_str" \
  -T "public.history_str_sync" \
  -T "public.history_sync" \
  -T "public.history_text" \
  -T "public.history_uint" \
  -T "public.history_uint_sync" \
  -T "public.trends" \
  -T "public.trends_uint" \
  -f zabbix-data.dump   

kus

  • zabbix - postgresql create database nimi
  • public - skeemi nimi baasis

ning kutsuda see välja piisava intervaliga /etc/rsnapshot.conf abil

# cat /etc/rsnapshot.conf
...
backup_script   /root/bin/pgsql-backup.sh       placeholder_dir_name_1
backup  /var/backups/postgresql/     localhost/

Märkused

  • Kui Zabbix server paistab agentidele erinevatelt ip aadressidelt, nt põhjusel, et ta suhtleb agentidega üle vpn ühenduse ja Zabbix serveri poolne ip aadress võib muutuda, siis sobib kasutada agendis iptables ja simpleproxy tarkvara, nt käivitades
$ simpleproxy -L 172.17.35.19:10050 -R 127.0.0.1:10050 -d

ning kirjeldades agendi seadistusfailis Zabbix serveri aadressiks 127.0.0.1 ja määrates agendi kuulama oma soketit ainult 127.0.0.1 seadmel. Seejuures võiks iptables abil piirata 172.17.35.19:10050 soketile ligipääsu nii, et sinna saab pöörduda ainult Zabbix server oma võimalikelt ip aadressidelt.

Kui simpleproxy mingil põhjusel ära sureb natukese aja pärast, siis on alternatiiv teda kasutada läbi inetd

# apt-get install openbsd-inetd

ning kasutada seadistusfailis /etc/inetd.conf rida

10050    stream  tcp nowait  nobody  /usr/bin/simpleproxy simpleproxy -i -R 127.0.0.1:10049

Tulemusena kuulab simpleproxy kõigil võrguseadmetel 10050/tcp pordil ning vahendab päringuid 127.0.0.1:11049 pordile, vastav 10049 port tuleb seadistada ka Zabbix agendile.

  • simpleproxy jaoks on alternatiiv kasutada ssh abil pordisuunamist, -R võtme ja välise ip kasutamiseks peab olema sshd seadisusfailis parameeter 'GatewayPorts yes' ning ütlema
$ ssh kasutajanimi@127.0.0.1 -R 172.17.35.19:10050:127.0.0.1:10050
  • Tundub, et 2011 aastal on Zabbix tarkvara operatsioonisüsteemidesse jõudnud versioonid, nt Debian Squeeze v. 1.8.2 suhteliselt ebastabiilsed, Zabbix Server ja Zabbix proxy nt segfaultivad. Aitab lähtetekstist kompileerimine.
  • Läbi agendi web päringu esitamine
$ zabbix_get -s 172.30.2.1 -p 10050 -k "web.page.get[ftp.loomaaed.tartu.ee,/README]"

Monitooringu seadistamine

Generic_computer_template

  • Free disk space on /
  • Free number of inodes on /
  • Free swap space
  • Host uptime - kas host on teinud reboodi
  • Agent ping - kas host on kättesaadav
  • Number of processes
  • Number of running processes
  • Processor load - ühe minuti load

PostgreSQL tabelite partitsioneerimine

TODO

Kasulikud lisamaterjalid

LLD - Low Level Discovery

Low Level Discovery https://www.zabbix.com/documentation/2.2/manual/discovery/low_level_discovery ... Alates v. 2.0 on vfs.fs.discovery tarkvara osa, aga varasemate versioonide puhul sobib failisüsteemide avastamiseks kasutada agenti juures nt sellist skripti

# cat /opt/zabbix/scripts/lld_fssize.pl
#!/usr/bin/perl

$first = 1;

print "{\n";
print "\t\"data\":[\n\n";

for (`cat /proc/mounts`)
{
  ($fsname, $fstype) = m/\S+ (\S+) (\S+)/;
  $fsname =~ s!/!\\/!g;

  print "\t,\n" if not $first;
  $first = 0;

  print "\t{\n";
  print "\t\t\"{#FSNAME}\":\"$fsname\",\n";
  print "\t\t\"{#FSTYPE}\":\"$fstype\"\n";
  print "\t}\n";
}

print "\n\t]\n";
print "}\n";

Lisaks tuleb UserParameters juures kirjeldada vfs.fs.discovery

# cat /etc/zabbix/zabbix_agentd.conf
..
UserParameter=vfs.fs.discovery, /usr/bin/perl /opt/zabbix/scripts/lld_fssize.pl

Sarnaselt sobib net.if.discovery jaoks nt selline skript

# cat /opt/zabbix/scripts/lld_eth.pl
#!/usr/bin/perl

$first = 1;

print "{\n";
print "\t\"data\":[\n\n";

for (`cat /proc/net/dev`)
{
  ($ifname) = m/(\S+)\:/;
    if (($ifname =~ /eth/) or ($ifname =~ /vlan/) or ($ifname =~ /br/) ) {
      print "\t,\n" if not $first;
      $first = 0;
 
      print "\t{\n";
      print "\t\t\"{#IFNAME}\":\"$ifname\"\n";
      print "\t}\n";
    }
}

print "\n\t]\n";
print "}\n";

kus

  • if tingimus piirab väljundi eth, vlan ja br sõne sisaldavate seadmete nimedega

Väljund on nt selline

# zabbix_get -s 192.168.1.4 -p 10050 -k "net.if.discovery"
{
        "data":[

        {
                "{#IFNAME}":"eth0"
        }
        ,
        {
                "{#IFNAME}":"eth1"
        }

        ]
}

Zabbix v. 2.2

  • zabbix_get on eraldi paketis
# apt-get install zabbix-get

Rakenduste monitooring

Autentimine

LDAP

LDAP autentimiseks tuleb php frontend arvutisse paigaldada

# apt-get install ldap-utils php5-ldap

Enne LDAP peale lülitust maksab igaks juhuks tekitada lisaks üks Zabbix Super Admin privileegiga kasutaja ning määrates talle

Administration -> Users -> kasutajanimi -> Permissions -> User Type -> Zabbix Super Admin

ning Frontend access tema jaoks 'Internal'

Administration -> Users -> kasutajanimi real Frontend Access -> Internal

LDAP abil autentimiseks sobib ettevalmistada nt GOsa tarvkara ning eeldusel, et töötab selline pöördumine

$ ldapsearch -LLL -x -H ldap://192.168.1.27 -D "cn=System Administrator-admin,ou=people,dc=auul" -w parool -b "ou=people,dc=auul" "(uid=admin)" uid sn   
dn: cn=System Administrator-admin,ou=people,dc=auul
sn: Administrator
uid: admin

Fail:Zabbix-3.gif

kus

  • TODO

Kasutajate privileegid

Kasutajate privileege seadistatakse gruppide abil kuhu kasutajad kuuluvad, kasutaja saab kuuluda samaaegselt mitmesse erinevasse gruppi. Kasutaja saab sms vms teateid ainult nende kontrollide kohta, millele tal on privileeg nö muidu ligi pääseda. Seadistamine toimub valides

Administration -> Users -> paremalt User groups | Users

Seejärel saab valides

User groups -> konkreetne grupp -> Permissions

alt edasi koostada sobivad ligipääsureeglid kõnealuse kasutajate grupi jaoks.

Kasulikud lisamaterjalid

Oracle anmebaasi monitooring

Zabbix v. 2.4.6 lähtetekstist Debian v. 8 Jessie keskkonnas kasutamine

2015 suvel ei ole zabbix.com peal Zabbix v. 2.4 pakette Debianile, alternatiiv on kompileerida. Tundub, et muus osas sobib ettevalmistada 2.4.6 kasutamine Debian v. 8 Jessie keskkonnas selliselt nagu tekstis on kirjeldatud, aga selliste erinevustega ehk

  • kompileerimine
$ ./configure --enable-server --enable-agent --enable-ipv6 --with-net-snmp --with-libcurl \
  --with-libxml --with-postgresql --with-openipmi --prefix=/opt/zabbix

Käivitada andmebaas

# systemctl start postresql

Tekitada kasutaja ja baas

postgres=# create role zabbix login password 'parool';
CREATE ROLE
postgres=# create database zabbix owner zabbix;
CREATE DATABASE

Laadida baasi sisu sisse

$ psql -h 127.0.0.1 -U zabbix zabbix < schema.sql
$ psql -h 127.0.0.1 -U zabbix zabbix < images.sql
$ psql -h 127.0.0.1 -U zabbix zabbix < data.sql

Rakendusse kasutaja, käivitusskriptide jms seisukohast on mõttekas paigaldada nö Zabbix tavalisest paketihaldusest (v. 2.2.x) ja siis lihtsalt mitte seda iseenesest kasutada

# apt-get install zabbix-server-pgsql zabbix-agent zabbix-frontend-php php5-pgsql
# apt-mark hold zabbix-server-pgsql zabbix-agent zabbix-frontend-php
zabbix-server-pgsql set on hold.
zabbix-agent set on hold.
zabbix-frontend-php set on hold.

Lülitada Zabbix sisse

# cat /etc/default/zabbix-server
..
START=yes

Muuta käivitusskriptis deemoni path

# DAEMON=/usr/sbin/$NAME
DAEMON=/opt/zabbix/sbin/$NAME

Kompileeritud rakendus kasutab /opt/zabbix alt seadistusfaili

# egrep -v "^$|^#" /opt/zabbix/etc/zabbix_server.conf
LogFile=/var/log/zabbix-server/zabbix_server.log
PidFile=/var/run/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=zabbix
BPassword=parool
StartIPMIPollers=3

Käivitada

# systemctl start zabbix-server

Tulemus

# systemctl status zabbix-server
● zabbix-server.service - LSB: Start zabbix-server daemon
   Loaded: loaded (/etc/init.d/zabbix-server)
   Active: active (running) since Fri 2015-08-14 01:20:10 EEST; 7s ago
  Process: 17632 ExecStop=/etc/init.d/zabbix-server stop (code=exited, status=0/SUCCESS)
  Process: 17640 ExecStart=/etc/init.d/zabbix-server start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/zabbix-server.service
           └─17646 /opt/zabbix/sbin/zabbix_server 

Aug 14 01:20:10 keskus zabbix-server[17640]: zabbix_server starting...done.
Aug 14 01:20:10 keskus systemd[1]: Started LSB: Start zabbix-server daemon.

Veebiliidese paigaldamiseks ja minna aadressile http://192.168.10.123/zabbix/setup.php

# cp -a z/zabbix-2.4.6/frontends/php/ /var/www/html/zabbix
# chown -R www-data:www-data /var/www/html/zabbix/conf

Zabbix serveris on ehk mõistlik kasutada samuti 2.4 agenti. Selleks tuleb kasutada nt sellist seadistusfaili

# egrep -v "^$|^#" /opt/zabbix/etc/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix-agent/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/opt/zabbix/etc/zabbix_agentd.conf.d/*.conf

ning käivitusskriptis muuta DAEMON väärus

DAEMON=/opt/zabbix/sbin/$NAME

Käivitamiseks

# systemctl daemon-reload
# systemctl start zabbix-agent

Tulemus paistab selline

# systemctl status zabbix-agent
● zabbix-agent.service - LSB: Start zabbix-agent daemon
   Loaded: loaded (/etc/init.d/zabbix-agent)
   Active: active (running) since Fri 2015-08-14 02:05:23 EEST; 3min 10s ago
  Process: 19374 ExecStart=/etc/init.d/zabbix-agent start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/zabbix-agent.service
           ├─19380 /opt/zabbix/sbin/zabbix_agentd
           ├─19381 /opt/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
           ├─19382 /opt/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ├─19383 /opt/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ├─19384 /opt/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]
           └─19385 /opt/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

Aug 14 02:05:23 keskus systemd[1]: Started LSB: Start zabbix-agent daemon.
Aug 14 02:05:23 keskus zabbix-agent[19374]: zabbix_agentd starting...done.

Value mapping

Teatud väärtusi kogutakse numbriliselt, aga kasutajaliideses on neid loomulikum esitada teksti kujul, nt UPS erinevad olekud (Online, Low Battery jne). Sellisel juhul saab item kirjelduse juures valida tavalise

Show value -> As is

asemel

Show value -> valida nimekirjast value mappingu nimi

Value mappingud kirjeldatakse valides

Administration -> General -> Value mapping (paremast äärest dropdown)

Reboot required

/run/reboot-required.pkgs

Krüptimine

  • Passive proxy - Zabbix server algatab tcp ühenduse Zabbix proxy poole
  • Active proxy - Zabbix proxy algatab tcp ühenduse Zabbix serveri poole

PSK (Pre Shared Key) kasutamisel genereeritakse 32 sümboli pikkune järgnevus ja seda kasutatakse mõlemal poolel nö ühise saladusena.

Passive proxy

Zabbix serveri ja proxy vahelise suhtlemise krüptimiseks sobib öelda proxy peal

proxy# openssl rand -hex 32 > /etc/zabbix/moraal.psk
proxy# egrep -v "^$|^#" /etc/zabbix/zabbix_proxy.conf
..
TLSAccept=psk
TLSPSKIdentity=MORAAL PSK
TLSPSKFile=/etc/zabbix/moraal.psk
proxy# chmod 0600 /etc/zabbix/moraal.psk 
proxy# chown zabbix:zabbix /etc/zabbix/moraal.psk 

ning Zabbix serveris

Administration -> Proxies -> nimi -> Encryption -> PSK

ning näidata

  • PSK identity
  • PSK

Active proxy

Kõik enam-vähem sama, aga

TLSAccept=psk

asemel kasutada

TLSConnect=psk

Agent

TODO

Kasulikud lisamaterjalid

https sertifikaadi kontroll

TODO

Kasulikud lisamaterjalid

Kasulikud lisamaterjalid