2 Spraudņi
Pārskats
Spraudņi paplašina Zabbix aģents 2 uzraudzības iespējas. Tie ir rakstīti Go programmēšanas valodā un nodrošina alternatīvu ielādējamiem moduļiem (rakstītiem C valodā) un citām metodēm Zabbix funkcionalitātes paplašināšanai.
Šīs funkcijas ir specifiskas aģents 2 un tā spraudņiem:
- Plānoti un elastīgi intervāli gan pasīvajām, gan aktīvajām pārbaudēm
- Uzdevumu rindas pārvaldība, ņemot vērā grafiku un uzdevumu vienlaicīgumu
- Spraudņa līmeņa taimauti
- Zabbix aģents 2 un tā spraudņu saderības pārbaude startēšanas laikā
Visi Zabbix aģents 2 atbalstītie metriskie dati tiek savākti ar spraudņu palīdzību. Šajā lapā ir aprakstīti spraudņu konfigurācijas principi no lietotāja skatpunkta, kā arī uzskaitīti gan iebūvētie, gan ielādējamie spraudņi, ko nodrošina Zabbix.
Kopš Zabbix 6.0 spraudņus vairs nav nepieciešams iebūvēt aģents 2. Jūs varat tos pievienot kā ielādējamus spraudņus, tādējādi vienkāršojot spraudņu izveidi jauniem metriskajiem datiem. Norādījumus par savu spraudņu izveidi skatiet Izstrādātāju centrā un Zabbix aģents 2 piemēra spraudnī.
Spraudņu konfigurēšana
Šī sadaļa sniedz vispārīgus spraudņu konfigurēšanas principus un labāko praksi.
Visi spraudņi tiek konfigurēti, izmantojot Plugins.* parametru, kas var būt vai nu Zabbix aģents 2 konfigurācijas faila daļa, vai arī paša spraudņa konfigurācijas fails. Ja spraudnis izmanto atsevišķu konfigurācijas failu, šī faila ceļš jānorāda Zabbix aģents 2 konfigurācijas faila parametrā Include.
Tipiskam spraudņa parametram ir šāda struktūra:
Plugins.<PluginName>.<Parameter>=<Value>
Papildus tam ir divas specifiskas parametru grupas:
-
Plugins.<PluginName>.Default.<Parameter>=<Value> tiek izmantots noklusējuma parametru vērtību definēšanai.
-
Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> tiek izmantots atsevišķu parametru kopu definēšanai dažādiem uzraudzības mērķiem, izmantojot nosauktās sesijas.
Visiem parametru nosaukumiem jāatbilst šādām prasībām:
- ieteicams spraudņu nosaukumus rakstīt ar lielo sākumburtu
- parametram jābūt rakstītam ar lielo sākumburtu
- speciālās rakstzīmes nav atļautas
- ligzdošanas dziļumam nav noteikts maksimālais līmenis
- parametru skaits nav ierobežots
Piemēram, lai tikai Uptime spraudnim veiktu aktīvās pārbaudes, kurām uzreiz pēc aģents restartēšanas nav Scheduling atjaunināšanas intervāla, konfigurācijas failā [/manual/appendix/config/zabbix_agent2) iestatiet Plugins.Uptime.System.ForceActiveChecksOnStart=1.
Līdzīgi, lai CPU spraudnim iestatītu pielāgotu vienlaicīgo pārbaužu limitu, konfigurācijas failā [/manual/appendix/config/zabbix_agent2) iestatiet Plugins.CPU.System.Capacity=N.
Noklusējuma vērtības
Savienojuma parametriem (URI, lietotājvārds, parole utt.) varat iestatīt noklusējuma vērtības konfigurācijas failā šādā formātā:
Plugins.<PluginName>.Default.<Parameter>=<Value>
Piemēram, Plugins.Mysql.Default.Username=zabbix, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017 utt.
Ja šādam parametram vērtība nav norādīta vienuma atslēgā vai nosauktās sesijas parametros, spraudnis izmantos noklusējuma vērtību. Ja arī noklusējuma parametrs nav definēts, tiks izmantotas kodā iebūvētās noklusējuma vērtības.
Ja vienuma atslēgai nav neviena parametra, Zabbix aģents 2 mēģinās savākt metriku, izmantojot vērtības, kas definētas noklusējuma parametru sadaļā.
Nosauktās sesijas
Nosauktās sesijas ir papildu spraudņa parametru līmenis, un tās var izmantot, lai norādītu atsevišķus autentifikācijas parametru kopumus katram no uzraudzītajiem instancēm. Katram nosauktās sesijas parametram jābūt šādai struktūrai:
Plugins.<PluginName>.Sessions.<SessionName>.<Parameter>=<Value>
Sesijas nosaukumu var izmantot kā connString vienuma atslēgas parametru, nevis norādīt URI, lietotājvārdu un/vai paroli atsevišķi.
Vienuma atslēgās pirmais parametrs var būt vai nu connString, vai URI. Ja pirmais atslēgas parametrs neatbilst nevienam sesijas nosaukumam, tas tiks uzskatīts par URI. Ņemiet vērā, ka iegultu URI akreditācijas datu nodošana vienuma atslēgā netiek atbalstīta; tā vietā izmantojiet nosauktās sesijas parametrus.
Pieejamo nosaukto sesijas parametru saraksts ir atkarīgs no spraudņa.
Sesijas parametrus ir iespējams pārrakstīt, vienuma atslēgas parametros norādot jaunas vērtības (skatiet piemēru).
Ja parametrs nosauktajai sesijai nav definēts, Zabbix aģents 2 izmantos vērtību, kas definēta noklusējuma spraudņa parametrā.
Parametra prioritāte
Zabbix aģents 2 spraudņi savienojuma parametru vērtības meklē šādā secībā:

- Pirmais vienuma atslēgas parametrs tiek salīdzināts ar sesiju nosaukumiem. Ja atbilstība netiek atrasta, tas tiek uzskatīts par faktisku vērtību; šajā gadījumā 3. solis tiks izlaists. Ja atbilstība tiek atrasta, parametra vērtībai (parasti URI) jābūt definētai nosauktajā sesijā.
- Pārējie parametri tiks ņemti no vienuma atslēgas, ja tie ir definēti.
- Ja vienuma atslēgas parametrs (piemēram, password) ir tukšs, spraudnis meklēs atbilstošo nosauktās sesijas parametru.
- Ja arī sesijas parametrs nav norādīts, tiks izmantota atbilstošajā noklusējuma parametru definētā vērtība.
- Ja nekas cits nepalīdz, spraudnis izmantos cieti kodēto noklusējuma vērtību.
Piemērs 1
Divu instanču "MySQL1" un "MySQL2" uzraudzība.
Konfigurācijas parametri:
Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
Plugins.Mysql.Sessions.MySQL1.User=mysql1_user
Plugins.Mysql.Sessions.MySQL1.Password=unique_password
Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.1:3306
Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
Plugins.Mysql.Sessions.MySQL2.Password=different_password
Šīs konfigurācijas rezultātā katru sesijas nosaukumu var izmantot kā connString vienuma atslēgā, piemēram, mysql.ping[MySQL1] vai mysql.ping[MySQL2].
Piemērs 2
Dažu parametru norādīšana vienuma atslēgā.
Konfigurācijas parametri:
Plugins.PostgreSQL.Sessions.Session1.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Sessions.Session1.User=old_username
Plugins.PostgreSQL.Sessions.Session1.Password=session_password
Vienuma atslēga: pgsql.ping[session1,new_username,,postgres]
Šīs konfigurācijas rezultātā aģents izveidos savienojumu ar PostgreSQL, izmantojot šādus parametrus:
- URI no sesijas parametra:
192.0.2.234:5432 - Lietotājvārds no vienuma atslēgas:
new_username - Parole no sesijas parametra (jo tā vienuma atslēgā ir izlaista):
session_password - Datubāzes nosaukums no vienuma atslēgas:
postgres
Piemērs 3
Metrikas vākšana, izmantojot noklusējuma konfigurācijas parametrus.
Konfigurācijas parametri:
Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Default.User=zabbix
Plugins.PostgreSQL.Default.Password=password
Vienuma atslēga: pgsql.ping[,,,postgres]
Šīs konfigurācijas rezultātā aģents izveidos savienojumu ar PostgreSQL, izmantojot šādus parametrus:
- Noklusējuma URI:
192.0.2.234:5432 - Noklusējuma lietotājvārds:
zabbix - Noklusējuma parole:
password - Datubāzes nosaukums no vienuma atslēgas:
postgres
Savienojumi
Daži spraudņi atbalsta metrikas vākšanu no vairākām instancēm vienlaikus. Var uzraudzīt gan lokālās, gan attālās instances. Tiek atbalstīti TCP un Unix-soketa savienojumi.
Ieteicams konfigurēt spraudņus tā, lai savienojumi ar instancēm tiktu uzturēti atvērtā stāvoklī. Ieguvumi ir mazāka tīkla pārslodze, latentums, kā arī CPU un atmiņas patēriņš, jo ir mazāks savienojumu skaits. Par to rūpējas klienta bibliotēka.
Laika periodu, cik ilgi neizmantotajiem savienojumiem jāpaliek atvērtiem, var noteikt ar Plugins.<PluginName>.KeepAlive parametru. Piemērs: Plugins.Memcached.KeepAlive
Iebūvētie spraudņi
Zabbix agent 2 iebūvētie spraudņi ir pieejami uzreiz pēc instalēšanas. Noklikšķiniet uz spraudņa nosaukuma, lai pārietu uz spraudņa repozitoriju ar papildu informāciju.
| Spraudņa nosaukums | Apraksts | Atbalstītie vienumu atslēgas | Komentāri |
|---|---|---|---|
| Aģents | Izmantotā Zabbix aģenta metrikas. | agent.hostname, agent.ping, agent.version | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| Ceph | Ceph uzraudzība. | ceph.df.details, ceph.osd.stats, ceph.osd.discovery, ceph.osd.dump, ceph.ping, ceph.pool.discovery, ceph.status |
|
| CPU | Sistēmas CPU uzraudzība (CPU skaits/CPU kodolu skaits, atklātie CPU, izmantošanas procentuālā daļa). | system.cpu.discovery, system.cpu.num, system.cpu.util | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| Docker | Docker konteineru uzraudzība. | docker.container_info, docker.container_stats, docker.containers, docker.containers.discovery, docker.data_usage, docker.images, docker.images.discovery, docker.info, docker.ping |
Skatiet arī: Konfigurācijas parametri |
| File | Failu metrikas apkopošana. | vfs.file.cksum, vfs.file.contents, vfs.file.exists, vfs.file.md5sum, vfs.file.regexp, vfs.file.regmatch, vfs.file.size, vfs.file.time |
Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| Kernel | Kodola uzraudzība. | kernel.maxfiles, kernel.maxproc | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| Log | Žurnālfailu uzraudzība. | log, log.count, logrt, logrt.count | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. Skatiet arī: Spraudņa konfigurācijas parametri (Unix/Windows) |
| Memcached | Memcached servera uzraudzība. | memcached.ping, memcached.stats | |
| Modbus | Nolasa Modbus datus. | modbus.get | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| MQTT | Saņem publicētās MQTT tēmu vērtības. | mqtt.get | Lai konfigurētu šifrētu savienojumu ar MQTT brokeri, aģenta konfigurācijas failā norādiet TLS parametrus kā nosauktu sesiju vai noklusējuma parametrus. Pašlaik TLS parametrus nevar nodot kā vienuma atslēgas parametrus. |
| MySQL | MySQL un tā atvasinājumu uzraudzība. | mysql.custom.query, mysql.db.discovery, mysql.db.size, mysql.get_status_variables, mysql.ping, mysql.replication.discovery, mysql.replication.get_slave_status, mysql.version |
Lai konfigurētu šifrētu savienojumu ar datubāzi, aģenta konfigurācijas failā norādiet TLS parametrus kā nosauktu sesiju vai noklusējuma parametrus. Pašlaik TLS parametrus nevar nodot kā vienuma atslēgas parametrus. |
| NetIf | Tīkla interfeisu uzraudzība. | net.if.collisions, net.if.discovery, net.if.in, net.if.out, net.if.total | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| Oracle | Oracle Database uzraudzība. | oracle.diskgroups.stats, oracle.diskgroups.discovery, oracle.archive.info, oracle.archive.discovery, oracle.cdb.info, oracle.custom.query, oracle.datafiles.stats, oracle.db.discovery, oracle.fra.stats, oracle.instance.info, oracle.pdb.info, oracle.pdb.discovery, oracle.pga.stats, oracle.ping, oracle.proc.stats, oracle.redolog.info, oracle.sga.stats, oracle.sessions.stats, oracle.sys.metrics, oracle.sys.params, oracle.ts.stats, oracle.ts.discovery, oracle.user.info, oracle.version |
Pirms spraudņa izmantošanas instalējiet Oracle Instant Client. |
| Proc | Procesa CPU izmantošanas procentuālā daļa. | proc.cpu.util | Atbalstītajai atslēgai ir tādi paši parametri kā Zabbix aģenta atslēgai. |
| Redis | Redis servera uzraudzība. | redis.config, redis.info, redis.ping, redis.slowlog.count | Lai konfigurētu šifrētu savienojumu ar Redis, aģenta konfigurācijas failā norādiet TLS parametrus kā nosauktu sesiju vai noklusējuma parametrus. TLS parametrus nevar nodot kā vienuma atslēgas parametrus. Ņemiet vērā, ka nepareiza vai citādi nederīga TLS konfigurācija var neļaut Zabbix agent 2 startēt, tāpēc pirms TLS iespējošanas pārbaudiet sertifikātu failus, atļaujas un ceļus. |
| Smart | S.M.A.R.T. uzraudzība. | smart.attribute.discovery, smart.disk.discovery, smart.disk.get | Minimālā nepieciešamā smartctl versija ir 7.1. Lietotājam, kas palaiž Zabbix agent 2, ir nepieciešamas sudo/root piekļuves tiesības smartctl. Spraudnis izmanto tikai šādas komandas: /usr/sbin/smartctl -a */usr/sbin/smartctl --scan * /usr/sbin/smartctl -j -V Atbalstītās atslēgas var izmantot ar Zabbix agent 2 tikai Linux/Windows vidē, gan kā pasīvo, gan aktīvo pārbaudi. Skatiet arī: Konfigurācijas parametri |
| SW | Instalēto pakotņu saraksts. | system.sw.packages, system.sw.packages.get | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgai. |
| Swap | Maiņas vietas lielums baitos/procentos. | system.swap.size | Atbalstītajai atslēgai ir tādi paši parametri kā Zabbix aģenta atslēgai. |
| SystemRun | Izpilda norādīto komandu. | system.run | Atbalstītajai atslēgai ir tādi paši parametri kā Zabbix aģenta atslēgai. Skatiet arī: Spraudņa konfigurācijas parametri (Unix/Windows) |
| Systemd | systemd pakalpojumu uzraudzība. | systemd.unit.discovery, systemd.unit.get, systemd.unit.info | |
| TCP | TCP savienojuma pieejamības pārbaude. | net.tcp.port | Atbalstītajai atslēgai ir tādi paši parametri kā Zabbix aģenta atslēgai. |
| UDP | UDP pakalpojumu pieejamības un veiktspējas uzraudzība. | net.udp.service, net.udp.service.perf | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| Uname | Informācijas iegūšana par sistēmu. | system.hostname, system.sw.arch, system.uname | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| Uptime | Sistēmas darbības laika metrikas apkopošana. | system.uptime | Atbalstītajai atslēgai ir tādi paši parametri kā Zabbix aģenta atslēgai. |
| VFSDev | VFS metrikas apkopošana. | vfs.dev.discovery, vfs.dev.read, vfs.dev.write | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| WebCertificate | TLS/SSL vietņu sertifikātu uzraudzība. | web.certificate.get | |
| WebPage | Tīmekļa lapu uzraudzība. | web.page.get, web.page.perf, web.page.regexp | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| ZabbixAsync | Asinhrona metrikas apkopošana. | net.tcp.listen, net.udp.listen, sensor, system.boottime, system.cpu.intr, system.cpu.load, system.cpu.switches, system.hw.cpu, system.hw.macaddr, system.localtime, system.sw.os, system.swap.in, system.swap.out, vfs.fs.discovery |
Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| ZabbixStats | Zabbix servera/starpniekservera iekšējās metrikas vai aizkavēto vienumu skaits rindā. | zabbix.stats | Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
| ZabbixSync | Sinhrona metrikas apkopošana. | net.dns, net.dns.record, net.tcp.service, net.tcp.service.perf, proc.mem, proc.num, system.hw.chassis, system.hw.devices, system.sw.packages, system.users.num, vfs.dir.count, vfs.dir.size, vfs.fs.get, vfs.fs.inode, vfs.fs.size, vm.memory.size. |
Atbalstītajām atslēgām ir tādi paši parametri kā Zabbix aģenta atslēgām. |
Ielādējamie spraudņi
Zabbix aģents 2 ielādējamie spraudņi nav pieejami uzreiz pēc noklusējuma un tie jāinstalē atsevišķi:
- Linux vidē varat izmantot pakotnes (piem., instalējiet Ember+ Ubuntu ar
apt install zabbix-agent2-plugin-ember-plus) vai izveidot spraudņus - Windows vidē varat instalēt no MSI vai izveidot spraudņus
Pirms spraudņa instalēšanas, lūdzu, pārbaudiet tā README failu. Tajā var būt norādītas specifiskas prasības un instalēšanas instrukcijas.
Noklikšķiniet uz spraudņa nosaukuma, lai pārietu uz spraudņa repozitoriju, kurā ir spraudņa README fails ar papildu informāciju.
| Spraudņa nosaukums | Apraksts | Atbalstītie vienuma atslēgas | Komentāri |
|---|---|---|---|
| Ember+ | Ember+ uzraudzība. | ember.get | Skatiet arī Ember+ spraudņa konfigurācijas parametrus. |
| MongoDB | MongoDB serveru un klasteru uzraudzība (dokumentu bāzēta, sadalīta datubāze). | mongodb.collection.stats, mongodb.collections.discovery, mongodb.collections.usage, mongodb.connpool.stats, mongodb.db.stats, mongodb.db.discovery, mongodb.jumbo_chunks.count, mongodb.oplog.stats, mongodb.ping, mongodb.rs.config, mongodb.rs.status, mongodb.server.status, mongodb.sh.discovery, mongodb.version |
Lai konfigurētu šifrētus savienojumus ar datubāzi, norādiet TLS parametrus aģenta konfigurācijas failā kā nosauktas sesijas parametrus. Pašlaik TLS parametrus nevar nodot kā vienuma atslēgas parametrus. Skatiet arī MongoDB spraudņa konfigurācijas parametrus. |
| MSSQL | MSSQL datubāzes uzraudzība. | mssql.availability.group.get, mssql.custom.query, mssql.db.get, mssql.job.status.get, mssql.last.backup.get, mssql.local.db.get, mssql.mirroring.get, mssql.nonlocal.db.get, mssql.perfcounter.get, mssql.ping, mssql.quorum.get, mssql.quorum.member.get, mssql.replica.get, mssql.version | Lai konfigurētu šifrētu savienojumu ar datubāzi, norādiet TLS parametrus aģenta konfigurācijas failā kā nosauktas sesijas vai noklusējuma parametrus. Pašlaik TLS parametrus nevar nodot kā vienuma atslēgas parametrus. Skatiet arī MSSQL spraudņa konfigurācijas parametrus. |
| NVIDIA GPU | NVIDIA GPU uzraudzība. | nvml.device.count, nvml.device.decoder.utilization, nvml.device.ecc.mode, nvml.device.encoder.stats.get, nvml.device.encoder.utilization, nvml.device.energy.consumption, nvml.device.errors.memory, nvml.device.errors.register, nvml.device.fan.speed.avg, nvml.device.get, nvml.device.graphics.frequency, nvml.device.memory.bar1.get, nvml.device.memory.fb.get, nvml.device.memory.frequency, nvml.device.pci.utilization, nvml.device.performance.state, nvml.device.power.limit, nvml.device.power.usage, nvml.device.serial, nvml.device.sm.frequency, nvml.device.temperature, nvml.device.utilization, nvml.device.video.frequency, nvml.system.driver.version, nvml.version | Skatiet arī NVIDIA GPU spraudņa konfigurācijas parametrus. |
| PostgreSQL | PostgreSQL un tā atvasinājumu uzraudzība. | pgsql.autovacuum.count, pgsql.archive, pgsql.bgwriter, pgsql.cache.hit, pgsql.connections, pgsql.custom.query, pgsql.dbstat, pgsql.dbstat.sum, pgsql.db.age, pgsql.db.bloating_tables, pgsql.db.discovery, pgsql.db.size, pgsql.locks, pgsql.oldest.xid, pgsql.ping, pgsql.queries, pgsql.replication.count, pgsql.replication.process, pgsql.replication.process.discovery, pgsql.replication.recovery_role, pgsql.replication.status, pgsql.replication_lag.b, pgsql.replication_lag.sec, pgsql.uptime, pgsql.version, pgsql.wal.stat |
Lai konfigurētu šifrētus savienojumus ar datubāzi, norādiet TLS parametrus aģenta konfigurācijas failā kā nosauktas sesijas vai noklusējuma parametrus. Pašlaik TLS parametrus nevar nodot kā vienuma atslēgas parametrus. Skatiet arī PostgreSQL spraudņa konfigurācijas parametrus. |
Ielādējamie spraudņi, palaižot ar:
-V --version- izvada spraudņa versiju un licences informāciju;-h --help- izvada palīdzības informāciju.