4. Monitor MySQL with Zabbix agent 2
Ievads
Šajā lapā ir aprakstītas darbības, kas nepieciešamas, lai sāktu MySQL servera pamata uzraudzību.
Lai uzraudzītu MySQL serveri, ir pieejamas vairākas pieejas: Zabbix aģents, Zabbix aģents 2 vai Open Database Connectivity (ODBC) standarts. Šīs rokasgrāmatas galvenais uzsvars ir uz MySQL servera uzraudzību ar Zabbix aģentu 2, kas ir ieteicamā pieeja, pateicoties tās vienkāršajai konfigurēšanai dažādās vidēs. Tomēr šajā lapā ir sniegtas arī instrukcijas par citām pieejām, tāpēc droši izvēlieties to, kas vislabāk atbilst jūsu prasībām.
Kam šī rokasgrāmata ir paredzēta
Šī rokasgrāmata ir paredzēta jauniem Zabbix lietotājiem un ietver minimālo darbību kopumu, kas nepieciešams, lai iespējotu MySQL servera pamata uzraudzību. Ja meklējat padziļinātas pielāgošanas iespējas vai jums nepieciešama sarežģītāka konfigurācija, skatiet Zabbix rokasgrāmatas sadaļu Configuration.
Priekšnosacījumi
Pirms turpināt ar šo ceļvedi, jums ir jālejupielādē un jāinstalē Zabbix serveris, Zabbix lietotāja saskarne un Zabbix aģents 2 saskaņā ar jūsu OS paredzētajām instrukcijām.
Atkarībā no jūsu vides daži šajā ceļvedī aprakstītie soļi var nedaudz atšķirties. Šis ceļvedis ir balstīts uz vidi, kurā darbojas Ubuntu.
Izveidojiet MySQL lietotāju
Lai uzraudzītu MySQL serveri, Zabbix ir nepieciešama piekļuve tam un tā procesiem. Jūsu MySQL instalācijā jau ir lietotājs ar nepieciešamo piekļuves līmeni (lietotājs "zabbix", kas tika izveidots Zabbix instalēšanas laikā), tomēr šim lietotājam ir vairāk privilēģiju, nekā nepieciešams vienkāršai uzraudzībai (privilēģijas DROP datubāzēm, DELETE ierakstu dzēšanai no tabulām u.c.). Tāpēc ir jāizveido MySQL lietotājs, kas paredzēts tikai MySQL servera uzraudzībai.
1. Pieslēdzieties MySQL klientam, izveidojiet lietotāju "zbx_monitor" (aizstājiet <password> lietotājam "zbx_monitor" ar pašu izvēlētu paroli) un piešķiriet lietotājam nepieciešamās GRANT privilēģijas:
mysql -u root -p
# Enter password:
mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
mysql> quit;
Kad lietotājs ir izveidots, varat pāriet pie nākamā soļa.
Konfigurējiet Zabbix lietotāja saskarni
1. Piesakieties Zabbix lietotāja saskarnē.
2. Izveidojiet hostu Zabbix tīmekļa saskarnē:
- Laukā Host name ievadiet hosta nosaukumu (piemēram, "MySQL server").
- Laukā Templates ierakstiet vai atlasiet veidni "MySQL by Zabbix aģents 2", kas tiks saistīta ar hostu.
- Laukā Host groups ierakstiet vai atlasiet hostu grupu (piemēram, "Databases").
- Laukā Interfaces pievienojiet "Agent" tipa saskarni un norādiet sava MySQL servera IP adresi. Šajā pamācībā tiek izmantota adrese "127.0.0.1" (localhost), lai uzraudzītu MySQL serveri, kas ir instalēts tajā pašā datorā, kur Zabbix serveris un Zabbix aģents 2.

- Cilnē Macros pārslēdzieties uz Inherited and host macros, atrodiet šādus makrosus un noklikšķiniet uz Change blakus makrosa vērtībai, lai to atjauninātu:
- {$MYSQL.DSN} - iestatiet MySQL servera datu avotu (MySQL Zabbix aģenta 2 spraudņa konfigurācijas faila nosauktās sesijas savienojuma virkni). Šajā pamācībā tiek izmantots noklusējuma datu avots "tcp://localhost:3306", lai uzraudzītu MySQL serveri, kas ir instalēts tajā pašā datorā, kur Zabbix serveris un Zabbix aģents 2.
- {$MYSQL.PASSWORD} - iestatiet iepriekš izveidotā MySQL lietotāja "zbx_monitor" paroli.
- {$MYSQL.USER} - iestatiet iepriekš izveidotā MySQL lietotāja nosaukumu "zbx_monitor".

3. Noklikšķiniet uz Add, lai pievienotu hostu. Šis hosts attēlos jūsu MySQL serveri.
Skatīt savāktos metriku datus
Apsveicam! Šajā brīdī Zabbix jau uzrauga jūsu MySQL serveri.
Lai skatītu savāktos metriku datus, dodieties uz izvēlnes sadaļu Uzraudzība → Hosti un noklikšķiniet uz Paneļi blakus hostam.

Šī darbība jūs novirzīs uz hosta paneli (konfigurētu veidnes līmenī), kurā redzami svarīgākie no MySQL servera savāktie metriku dati.

Alternatīvi, izvēlnes sadaļā Uzraudzība → Hosti varat noklikšķināt uz Jaunākie dati, lai sarakstā skatītu visus jaunākos savāktos metriku datus. Ņemiet vērā, ka vienumam MySQL: Calculated value of innodb_log_file_size nav paredzami dati, jo vērtība tiks aprēķināta no pēdējās stundas datiem.

Problēmu brīdinājumu iestatīšana
Zabbix var jūs informēt par problēmu jūsu infrastruktūrā, izmantojot dažādas metodes. Šajā ceļvedī ir sniegti pamata konfigurācijas soļi e-pasta brīdinājumu nosūtīšanai.
1. Dodieties uz Lietotāja iestatījumi → Profils, pārslēdzieties uz cilni Mediji un pievienojiet savu e-pasta adresi.

2. Izpildiet ceļvedi Problēmas paziņojuma saņemšana.
Nākamreiz, kad Zabbix konstatēs problēmu, jums vajadzētu saņemt brīdinājumu pa e-pastu.
Pārbaudiet savu konfigurāciju
Lai pārbaudītu savu konfigurāciju, mēs varam simulēt reālu problēmu, atjauninot hosta konfigurāciju Zabbix lietotāja saskarnē.
1. Atveriet sava MySQL servera hosta konfigurāciju Zabbix.
2. Pārslēdzieties uz cilni Macros un atlasiet Inherited and host macros.
3. Noklikšķiniet uz Change blakus, piemēram, iepriekš konfigurētajai} makro vērtībai un iestatiet citu MySQL lietotājvārdu.
4. Noklikšķiniet uz Update, lai atjauninātu hosta konfigurāciju.
5. Pēc dažiem mirkļiem Zabbix noteiks problēmu "MySQL: Service is down", jo tas nevarēs izveidot savienojumu ar MySQL serveri. Problēma parādīsies sadaļā Monitoring → Problems.

Ja brīdinājumi ir konfigurēti, jūs saņemsiet arī problēmas paziņojumu.
6. Mainiet makro vērtību atpakaļ uz iepriekšējo vērtību, lai novērstu problēmu un turpinātu MySQL servera uzraudzību.
Citas pieejas MySQL uzraudzībai
Tā vietā, lai uzraudzītu MySQL serveri ar Zabbix aģents 2, varat izmantot arī Zabbix aģents vai Open Database Connectivity (ODBC) standartu. Lai gan ir ieteicams izmantot Zabbix aģents 2, var būt konfigurācijas, kas neatbalsta Zabbix aģents 2 vai kurām nepieciešama pielāgota pieeja.
Galvenā atšķirība starp Zabbix aģents un ODBC ir datu ievākšanas metodē — Zabbix aģents tiek instalēts tieši MySQL serverī un ievāc datus, izmantojot tā iebūvēto funkcionalitāti, savukārt ODBC izmanto ODBC draiveri, lai izveidotu savienojumu ar MySQL serveri un iegūtu datus, izmantojot SQL vaicājumus.
Lai gan daudzi konfigurācijas soļi ir līdzīgi MySQL servera uzraudzībai ar Zabbix aģents 2, pastāv dažas būtiskas atšķirības — jums jākonfigurē Zabbix aģents vai ODBC, lai varētu uzraudzīt MySQL serveri. Tālāk sniegtās instrukcijas izskaidro šīs atšķirības.
MySQL uzraudzība ar Zabbix aģentu
Lai uzraudzītu MySQL serveri ar Zabbix aģentu, jums ir jālejupielādē un jāinstalē Zabbix serveris, Zabbix lietotāja saskarne un Zabbix aģents saskaņā ar jūsu OS paredzētajām instrukcijām.
Kad esat veiksmīgi instalējis nepieciešamos Zabbix komponentus, jums ir jāizveido MySQL lietotājs, kā aprakstīts sadaļā MySQL lietotāja izveide.
Pēc MySQL lietotāja izveides jums ir jākonfigurē Zabbix aģents, lai tas varētu izveidot savienojumu ar MySQL serveri un to uzraudzīt. Tas ietver vairāku lietotāja parametru konfigurēšanu pielāgotu aģenta pārbaužu izpildei, kā arī nepieciešamo akreditācijas datu nodrošināšanu Zabbix aģentam, lai tas varētu izveidot savienojumu ar MySQL serveri, izmantojot iepriekš izveidoto lietotāju "zbx_monitor".
Konfigurējiet Zabbix aģentu
1. Pārejiet uz Zabbix aģenta papildu konfigurāciju direktoriju.
cd /usr/local/etc/zabbix/zabbix_agentd.d
Zabbix aģenta papildu konfigurāciju direktorijam jāatrodas tajā pašā direktorijā, kur atrodas jūsu Zabbix aģenta konfigurācijas fails (zabbix_agentd.conf).
Atkarībā no jūsu OS un Zabbix instalācijas šai direktorijai var būt cita atrašanās vieta, nekā norādīts šajā rokasgrāmatā.
Noklusējuma atrašanās vietas skatiet parametrā Include Zabbix aģenta konfigurācijas failā.
Tā vietā, lai visus MySQL servera uzraudzībai nepieciešamos lietotāja parametrus definētu Zabbix aģenta konfigurācijas failā, šie parametri tiks definēti atsevišķā failā papildu konfigurāciju direktorijā.
2. Izveidojiet failu template_db_mysql.conf Zabbix aģenta papildu konfigurāciju direktorijā.
vi template_db_mysql.conf
3. Nokopējiet saturu no faila template_db_mysql.conf (kas atrodas Zabbix repozitorijā) uz jūsu izveidoto failu template_db_mysql.conf un saglabājiet to.
4. Restartējiet Zabbix aģentu, lai atjauninātu tā konfigurāciju.
systemctl restart zabbix-agent
Kad esat konfigurējis Zabbix aģenta lietotāja parametrus, varat turpināt ar akreditācijas datu konfigurēšanu, kas ļaus Zabbix aģentam piekļūt MySQL serverim.
5. Pārejiet uz Zabbix aģents mājas direktoriju (ja tā jūsu sistēmā nepastāv, tā ir jāizveido; noklusējums: /var/lib/zabbix).
cd /var/lib/zabbix
6. Izveidojiet .my.cnf failu Zabbix aģents mājas direktorijā.
vi .my.cnf
7. Iekopējiet tālāk norādīto saturu failā .my.cnf (aizstājiet <password> ar lietotāja "zbx_monitor" paroli).
[client]
user='zbx_monitor'
password='<password>'
Konfigurējiet Zabbix lietotāja saskarni un pārbaudiet savu konfigurāciju
Lai konfigurētu Zabbix lietotāja saskarni, izpildiet norādījumus sadaļā Configure Zabbix frontend, veicot šādas izmaiņas:
- Laukā Templates ierakstiet vai atlasiet veidni "MySQL by Zabbix agent", kas tiks saistīta ar hostu.
- Macros konfigurēšana nav nepieciešama.
Kad esat konfigurējis Zabbix lietotāja saskarni, varat skatīt savāktos metriku datus un iestatīt problēmu brīdinājumus.
Lai pārbaudītu savu konfigurāciju, izpildiet norādījumus sadaļā Test your configuration, veicot šādas izmaiņas:
- MySQL servera hosta konfigurācijas sadaļā Inherited and host macros noklikšķiniet uz Change blakus makrosa {$MYSQL.PORT} vērtībai un iestatiet citu portu (piemēram, "6033").

MySQL uzraudzība ar ODBC
Lai uzraudzītu MySQL serveri ar ODBC, jums ir jālejupielādē un jāinstalē Zabbix serveris un Zabbix lietotāja saskarne.
Kad esat veiksmīgi instalējis nepieciešamos Zabbix komponentus, jums ir jāizveido MySQL lietotājs, kā aprakstīts sadaļā MySQL lietotāja izveide.
Pēc MySQL lietotāja izveides jums ir jākonfigurē ODBC.
Tas ietver vienas no visbiežāk izmantotajām atvērtā pirmkoda ODBC API implementācijām — unixODBC — un unixODBC draivera instalēšanu, kā arī ODBC draivera konfigurācijas faila rediģēšanu.
ODBC konfigurēšana
1. Instalējiet unixODBC. Ieteicamais unixODBC instalēšanas veids ir izmantot Linux operētājsistēmas noklusējuma pakotņu repozitorijus.
apt install unixodbc
2. Instalējiet MariaDB unixODBC datubāzes draiveri. Lai gan jums ir MySQL datubāze, saderības apsvērumu dēļ tiek izmantots MariaDB unixODBC draiveris.
apt install odbc-mariadb
3. Pārbaudiet ODBC konfigurācijas failu odbcinst.ini un odbc.ini atrašanās vietu.
odbcinst -j
Šīs komandas izpildes rezultātam jābūt līdzīgam šādam.
unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
...
4. Lai konfigurētu ODBC draiveri MySQL datubāzes uzraudzībai, jums ir nepieciešams draivera nosaukums, kas atrodas failā odbcinst.ini. Tālāk redzamajā odbcinst.ini faila piemērā draivera nosaukums ir "MariaDB Unicode".
[MariaDB Unicode]
Driver=libmaodbc.so
Description=MariaDB Connector/ODBC(Unicode)
Threading=0
UsageCount=1
5. Iekopējiet tālāk norādīto saturu failā odbc.ini (aizstājiet <password> ar lietotāja "zbx_monitor" paroli). Šajā rokasgrāmatā tiek izmantota "127.0.0.1" (localhost) kā MySQL servera adrese, lai uzraudzītu MySQL serveri, kas ir instalēts tajā pašā datorā, kur ODBC draiveris. Pievērsiet uzmanību datu avota nosaukumam (DSN) "test", kas būs nepieciešams, kad konfigurēsiet Zabbix lietotāja saskarne.
[test]
Driver=MariaDB Unicode
Server=127.0.0.1
User=zbx_monitor
Password=<password>
Port=3306
Database=zabbix
Konfigurējiet Zabbix lietotāja saskarni un pārbaudiet savu konfigurāciju
Lai konfigurētu Zabbix lietotāja saskarni, izpildiet norādījumus sadaļā Konfigurēt Zabbix lietotāja saskarni, veicot šādas izmaiņas:
- Laukā Templates ierakstiet vai atlasiet veidni "MySQL by ODBC", kas tiks saistīta ar hostu.
- Interfaces konfigurēšana nav nepieciešama.
- MySQL servera hosta konfigurācijas sadaļā Inherited and host macros makro {$MYSQL.DSN} vērtībai jābūt iestatītai uz DSN nosaukumu no odbc.ini faila.
Kad esat konfigurējis Zabbix lietotāja saskarni, varat skatīt savāktos metriku datus, iestatīt problēmu brīdinājumus un pārbaudīt savu konfigurāciju.
Skatiet arī
- Vienuma izveide — kā sākt papildu metriku uzraudzību.
- Problēmu eskalācijas — kā izveidot daudzpakāpju brīdinājumu scenārijus (piemēram, vispirms nosūtīt ziņojumu sistēmas administratoram, pēc tam, ja problēma netiek atrisināta 45 minūšu laikā, nosūtīt ziņojumu datu centra vadītājam).
- ODBC uzraudzība — kā iestatīt ODBC citās Linux distribūcijās un kā sākt ar ODBC uzraudzīt papildu ar datubāzi saistītas metrikas.
- Veidne MySQL by Zabbix agent — papildu informācija par veidni MySQL by Zabbix agent.
- Veidne MySQL by Zabbix agent 2 — papildu informācija par veidni MySQL by Zabbix agent 2.
- Veidne MySQL by ODBC — papildu informācija par veidni MySQL by ODBC.