Zabbix kasutamine Debian operatsioonisüsteemiga
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
- Paigaldada PostgreSQL andmebaas, vastasel juhul sattub zabbix-server-pgsql paketi paigaldamine segadusse, nt PGDG repositooriumist kõige uuem stabiilne PostgreSQL, 2013 sügisel v. 9.3, http://www.auul.pri.ee/wiki/Paketihaldusest_paigaldatud_PostgreSQL_kasutamine_operatsioonis%C3%BCsteemiga_Debian_Squeeze#PGDG_repositoorium
- tekitada et_EE.UTF-8 kodeeringus PostgreSQL andmeklaster
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
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
- http://www.suiviperf.com/zabbix/
- https://www.zabbix.com/documentation/2.2/manual/appendix/install/windows_agent
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
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
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
kus
- TODO
Seejärel logida iLO kaughaldusliidesesse sisse ning tekitada USER privileegiga kasutaja
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
- http://lab4.org/wiki/Zabbix_Dell_idrac_per_SNMP_ueberwachen
- Google - Gathering Information from iDRAC7 1.30.30 Using SNMPv3
- Windows alla hea Java põhine MIB browser, https://www.manageengine.com/products/mibbrowser-free-tool/
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
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
kus
- lühema perioodi puhul on esitatud andmed ühte värvi joonena
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:
- http://www.zabbix.com/documentation/1.8/api
- http://tracepeters.com/wordpress/?p=1
- http://www.zabbix.com/forum/showthread.php?t=15218
- http://www.blog.pythonlibrary.org/2010/03/08/a-simple-step-by-step-reportlab-tutorial/
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
- http://blog.zabbix.com/getting-started-with-zabbix-api/1381/
- https://www.zabbix.com/documentation/2.0/manual/appendix/api/webcheck
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
- http://ninjix.blogspot.com/2011/01/highly-available-zabbix-monitoring.html
- http://www.zabbix.com/documentation/1.8/manual/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
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
- https://github.com/bicofino/Pyora
- zabbora
- orabbix
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
2026 kevade märkused
- lähtepunktiks on töötav debian v. 11 ja zabbix v. 5.0, postgresql v. 13 (pgdg), php v. 7.4
- uus versioon on v. 7.0 (lts)
Versioonide vastavused
- debian v. 11 - php v. 7.4
- debian v. 12 - php v. 8.2
- debian v. 13 - php v. 8.4
Zabbix versioonide nõuded
- zabbix v. 5 - postgresql 9.2 - 17, php 7.2 - 7.4 (mitte 8)
- zabbix v. 6 - postgresql 13 - 18, php 7.2.5 or later, 8.0 - 8.3
- zabbix v. 7 - postgresql 13 - 18, php 8.0 - 8.5
Väited
- zabbix andmed asuvad postgresql andmebaasis ja ainult sealt
- zabbix server (mitte zabbix php frontend) kohtudes baasiga saab aru kui baas vastab varasemale zabbix server tarkvara versioonile ja automaatselt teeb baasi sisemise migratsiooni sh nö schema jms muudatuse
- zabbix server võimaldab ühe sammuga suuri muudatusi, nt v. 5.0 -> v. 7.0
Protseduur
- debian v. 11 süsteemist tehakse pbs varundus, kui arvuti on shutdownis
- debian v. 11 süsteemis tehakse cp -a /etc /root/etc-20260513-tootanud koopia
- debian v. 11 süsteemi lisatakse pgdg repost postgresql v. 18
- debian v. 11 süsteemis migreeritakse pg_upgadecluster abil andmed versioonile v. 18 - vt https://www.auul.pri.ee/wiki/PostgreSQL_haldamine#2026_kevade_m%C3%A4rkused
- debian v. 11 süsteemis lülitatakse systemd abil välja postgresql käivitumine
- debian v. 11 süsteemis eemaldatakse /var/lib/postgresql /etc/fstab pealt
- debian v. 11 süsteemist eemaldatakse zabbix v. 5.0 - 'apt-get purge ...' abil zabbix server, zabbix php frontend ja agent jms tarkvara (automaatselt eemaldatakse ka hulka php teeke jms)
- debian v. 11 uuendatakse v. 12 ja seejärel v. 13 (sh pgdg.list muutmise teel tuleb kaasa postgresql)
- debian v. 13 käivitatakse ja lisatakse tagasi /etc/fstab'i /var/lib/postgresql
- postgresql käivitatakse - tehakse reindexdb ja refresh
- paigaldatakse v. 7.0 zabbix server, zabbix php frontend ja zabbix agent2
- kohendatakse seadistusi /etc/zabbix/zabbix-server.conf ja /etc/zabbix/web/zabbix.php failides
- käivitatakse zabbix server - toimub baasi sisemine muutmine
- käivitatakse apache2 ja sellega koos php frontend rakendus - saab webgui peale sisse logida
Zabbix baasi migratsioonid
Zabbix baasi migratsioonid paistavad selliselt logis
# tail -f /var/log/zabbix/zabbix_server.log .. 8467:20260513:123241.602 Starting Zabbix Server. Zabbix 7.0.26 (revision 3832e2a0553). 8467:20260513:123241.602 ****** Enabled features ****** 8467:20260513:123241.602 SNMP monitoring: YES 8467:20260513:123241.602 IPMI monitoring: YES 8467:20260513:123241.602 Web monitoring: YES 8467:20260513:123241.602 VMware monitoring: YES 8467:20260513:123241.602 SMTP authentication: YES 8467:20260513:123241.602 ODBC: YES 8467:20260513:123241.602 SSH support: YES 8467:20260513:123241.602 IPv6 support: YES 8467:20260513:123241.602 TLS support: YES 8467:20260513:123241.602 ****************************** 8467:20260513:123241.602 using configuration file: /etc/zabbix/zabbix_server.conf 8467:20260513:123241.656 current database version (mandatory/optional): 05000000/05000007 8467:20260513:123241.656 required mandatory version: 07000000 8467:20260513:123241.656 mandatory patches were found 8467:20260513:123241.656 starting automatic database upgrade 8467:20260513:123241.671 completed 0% of database upgrade 8467:20260513:123241.692 completed 1% of database upgrade 8467:20260513:123241.712 completed 2% of database upgrade 8467:20260513:123241.744 completed 3% of database upgrade 8467:20260513:123241.763 completed 4% of database upgrade 8467:20260513:123242.202 completed 5% of database upgrade ... 8467:20260513:123249.427 completed 98% of database upgrade 8467:20260513:123249.451 completed 99% of database upgrade 8467:20260513:123249.466 completed 100% of database upgrade 8467:20260513:123249.482 database upgrade fully completed 8467:20260513:123249.486 database could be upgraded to use primary keys in history tables 8473:20260513:123249.490 starting HA manager 8473:20260513:123249.509 HA manager started in active mode 8467:20260513:123249.510 server #0 started [main process] ....
Zabbix webgui
webgui võib nõuda eraldi php jms pakettide paigaldamist, vana php v 7.4 mooduli väljalülitamist vms
# apt-get install php ... # a2enmod php8.4
webgui võib nõuda en_GB lokaati
# dpkg-reconfigure locales # systemctl restart apache2
Kui php rakendus on v 7.0 ja baas on v. 5.0, siis ütleb rakendus brauserisse
Zabbix agendid
Tundub, et zabbix v. 7.0 serveriga töötavad paremini zabbix v. 7.0 agendid
# systemctl stop zabbix-agent2 # apt-get purge zabbix-agent2 zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-postgresql zabbix-release # wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian13_all.deb # apt-get install ./zabbix-release_latest_7.0+debian13_all.deb # apt update # apt-get install zabbix-agent2
Kasulikud lisamaterjalid
- Zabbix 1.8 Network Monitoring, Rihards Olups, Packt Publishing 2010
- http://workaround.org/try-zabbix
- http://www.zabbix.com/documentation/1.8/start - Zabbix v. 1.8 manuaal
- SNMP kasutamine
- Zabbix agendi kasutamine Windows 7 operatsioonisüsteemiga
- #zabbix channel (nt irc.freenode.net serveris)
- Nagiose kasutamine operatsioonisüsteemiga Debian Squeeze