Zabbix aģentu paplašināšana
Šajā sadaļā sniegti detalizēti norādījumi par Zabbix aģenta funkcionalitātes paplašināšanu, izmantojot lietotāja parametru.
Tālāk sniegtajā piemērā tiek iegūts MySQL servera izpildīto priekšrakstu skaits. Šīs darbības attiecas gan uz Zabbix aģentu, gan uz Zabbix agent 2.
Šajā piemērā ir parādīts, kā darbojas lietotāja parametri. MySQL pārraudzībai produkcijas vidē apsveriet iespēju izmantot iepriekš definētās MySQL veidnes, kurām nav nepieciešami lietotāja parametri.
1. darbība: Sagatavojiet piekļuvi MySQL
aģents darbojas ar operētājsistēmas lietotāja zabbix tiesībām.
Neizmantojiet MySQL kontu root, jo tas var izmantot autentifikāciju, kuras pamatā ir ligzda, tādējādi neļaujot aģentam izveidot savienojumu.
Tā vietā izveidojiet īpašu MySQL lietotāju:
CREATE USER 'zbx_monitor'@'localhost' IDENTIFIED BY '<password>';
Saglabājiet akreditācijas datus failā, ko var nolasīt tikai lietotājs zabbix, piemēram, /etc/zabbix/mysql_monitor.cnf (ceļš ir atkarīgs no operētājsistēmas un Zabbix instalēšanas metodes):
[client]
user=zbx_monitor
password=<strong password>
Iestatiet faila īpašnieku un atļaujas:
sudo chown zabbix:zabbix /etc/zabbix/mysql_monitor.cnf
sudo chmod 600 /etc/zabbix/mysql_monitor.cnf
Norādiet šo failu tieši, izmantojot --defaults-extra-file (tam ir jābūt pirmajai MySQL klientam nodotajai opcijai), nevis paļaujieties uz ~/.my.cnf, jo dēmona vides mainīgais HOME var nebūt iestatīts vai arī var atšķirties no paredzētā.
Ja MySQL izmanto ligzdas ceļu, kas nav noklusējuma ceļš, pievienojiet tam pašam failam rindu socket=.
2. darbība: Uzrakstiet komandu
Uzrakstiet pielāgotu skriptu vai komandu, lai izgūtu nepieciešamo parametru, un pārliecinieties, ka tā darbojas tādos pašos apstākļos kā aģenta dēmons.
Tālāk norādītā komanda atgriež MySQL servera izpildīto priekšrakstu skaitu:
/usr/bin/mysql --defaults-extra-file=/etc/zabbix/mysql_monitor.cnf -N -B -e "SHOW GLOBAL STATUS LIKE 'Questions'" | /usr/bin/awk '{print $2}'
Komandu varat pārbaudīt kā lietotājs zabbix; tai jāizvada viens skaitlis:
sudo -u zabbix sh -c "/usr/bin/mysql --defaults-extra-file=/etc/zabbix/mysql_monitor.cnf -N -B -e \"SHOW GLOBAL STATUS LIKE 'Questions'\" | /usr/bin/awk '{print \$2}'"
3. darbība: Pievienojiet komandu Zabbix aģenta konfigurācijai
Tā vietā, lai rediģētu galveno aģenta konfigurācijas failu (zabbix_agentd.conf vai zabbix_agent2.conf), izveidojiet atsevišķu failu direktorijā, kas iekļauta ar parametru Include.
Atsevišķus failus ir vieglāk pārvaldīt, un pakotņu jauninājumi tos, visticamāk, neietekmēs.
Piemēram, izveidojiet /etc/zabbix/zabbix_agentd.d/mysql.conf (Zabbix aģentam 2 — /etc/zabbix/zabbix_agent2.d/mysql.conf) ar šādu saturu:
UserParameter=mysql.questions,/usr/bin/mysql --defaults-extra-file=/etc/zabbix/mysql_monitor.cnf -N -B -e "SHOW GLOBAL STATUS LIKE 'Questions'" | /usr/bin/awk '{print $2}'
mysql.questions ir unikālā vienuma atslēga.
Tai jābūt unikālai aģenta konfigurācijā.
Parametru varat pārbaudīt, palaižot Zabbix aģentu ar karodziņu -t.
Veiciet pārbaudi kā lietotājs zabbix un norādiet konfigurācijas failu, ja tas neatrodas noklusējuma atrašanās vietā:
Zabbix aģentam:
sudo -u zabbix zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -t mysql.questions
Zabbix aģentam 2:
sudo -u zabbix zabbix_agent2 -c /etc/zabbix/zabbix_agent2.conf -t mysql.questions
Sagaidāmajā izvadē ir ietverts skaitlis, piemēram:
mysql.questions [t|4567]
4. darbība: atkārtoti ielādējiet un pārbaudiet lietotāja parametru
Atkārtoti ielādējiet lietotāja parametrus no konfigurācijas faila, izpildot šo komandu:
Zabbix aģentam:
sudo zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -R userparameter_reload
Zabbix aģentam 2:
sudo zabbix_agent2 -c /etc/zabbix/zabbix_agent2.conf -R userparameter_reload
Izpildiet komandu kā root vai kā operētājsistēmas lietotājs, kas palaiž aģentu.
Varat arī restartēt aģentu, lai lietotu konfigurācijas izmaiņas.
Parametru pret darbojošos aģentu varat pārbaudīt, izmantojot zabbix_get utilītu, piemēram, no Zabbix servera:
zabbix_get -s <IP address> -k mysql.questions
Šeit <IP address> ir tā hosta IP adrese, kurā darbojas aģents, ar kuru izveido savienojumu zabbix_get.
Hosa, kurā darbojas zabbix_get, IP adresei jābūt norādītai aģenta Server parametrā.
Lai šī pārbaude darbotos, aģentam jāpieņem pasīvās pārbaudes (Zabbix aģentam StartAgents nedrīkst būt iestatīts uz 0).
Ja aģents ir konfigurēts tikai aktīvajām pārbaudēm, izlaidiet šo pārbaudi un pēc pēdējās darbības pabeigšanas pārbaudiet vienumu sadaļā Monitoring > Latest data.
5. darbība: Izveidojiet vienumu
Uzraudzītajā hostā izveidojiet jaunu vienumu ar vienuma atslēgu mysql.questions.
Atlasiet vienuma tipu: Zabbix Agent vai Zabbix Agent (active).
Zabbix aģentam (pasīvajam) Zabbix servera vai starpniekservera adresei jābūt norādītai aģenta Server parametrā.
Zabbix aģentam (aktīvajam) parametrā ServerActive jānorāda Zabbix serveris vai starpniekserveris, bet aģenta parametram Hostname precīzi jāatbilst lietotāja saskarnē konfigurētajam hosta nosaukumam.
Atlasiet vienuma Type of information. Aģents vienmēr atgriež vērtību kā tekstu; Type of information nosaka, kā Zabbix interpretē un saglabā vērtību pēc visu priekšapstrādes darbību veikšanas.
Neapstrādātam kumulatīvajam skaitītājam atlasiet Numeric (unsigned). Lai izmērītu priekšrakstu skaitu sekundē, atlasiet Numeric (float) un pievienojiet priekšapstrādes darbību Change per second.