Додаци пружају опцију за проширење могућности праћења Zabbix-а. Додаци су написани у програмском језику Go и подржава их само Zabbix агент 2. Додаци пружају алтернативу модулима за учитавање (написаним у C-у), и другим методама за проширење функционалности Zabbix-а.
Следеће функције су специфичне за агента 2 и његове додатке:
Од Zabbix-а 6.0, додаци не морају бити директно интегрисани у агента 2 и могу се додати као додаци за учитавање, чиме се процес креирања додатних додатака за прикупљање нових метрика праћења олакшава.
Ова страница наводи Zabbix нативне и учитавајуће додатке и описује принципе конфигурације додатака из перспективе корисника.
За упутства о писању сопствених додатака, погледајте Центар за програмере и Пример додатка за Zabbix агент 2.
За детаље о процесу комуникације између Zabbix агента 2 и учитавајућег додатка, као и о процесу прикупљања метрика, погледајте Дијаграм везе.
Овај одељак пружа уобичајене принципе конфигурације додатака и најбоље праксе.
Сви додаци се конфигуришу помоћу параметра Plugins.*, који може бити део [конфигурационе датотеке] Zabbix агента 2 (/manual/appendix/config/zabbix_agent2) или сопствене [конфигурационе датотеке] додатка (/manual/appendix/config/zabbix_agent2_plugins). Ако додатак користи посебну конфигурациону датотеку, путања до ове датотеке треба да буде наведена у параметру Include конфигурационе датотеке Zabbix агента 2.
Типичан параметар додатка има следећу структуру:
Plugins.<PluginName>.<Parameter>=<Value>
Поред тога, постоје две специфичне групе параметара:
Plugins.<PluginName>.Default.<Parameter>=<Value> који се користе за дефинисање подразумеваних вредности параметара.
Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> користи се за дефинисање одвојених скупова параметара за различите циљеве праћења путем именоване сесије.
Сва имена параметара треба да се придржавају следећих захтева:
На пример, да бисте извршили активне провере које немају Scheduling интервал ажурирања одмах након поновног покретања агента само за додатак Uptime, поставите Plugins.Uptime.System.ForceActiveChecksOnStart=1
у конфигурационој датотеци. Слично, да бисте поставили прилагођено ограничење за истовремене провере за додатак CPU, поставите Plugins.CPU.System.Capacity=N
у конфигурационој датотеци.
Можете поставити подразумеване вредности за параметре који се односе на везу (URI, корисничко име, лозинку, итд.) у конфигурационој датотеци у формату:
Plugins.<PluginName>.Default.<Parameter>=<Value>
На пример, Plugins.Mysql.Default.Username=zabbix, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017, итд.
Ако вредност за такав параметар није наведена у кључу ставке или у параметрима намед сессион, додатак ће користити подразумевану вредност. Ако је подразумевани параметар такође недефинисан, користиће се тврдо кодиране подразумеване вредности.
Ако кључ ставке нема никакве параметре, Zabbix агент 2 ће покушати да прикупи метрику користећи вредности дефинисане у одељку подразумеваних параметара.
Именоване сесије представљају додатни ниво параметара додатка и могу се користити за одређивање одвојених скупова параметара за аутентификацију за сваку од инстанци које се прате. Сваки именовани параметар сесије треба да има следећу структуру:
Plugins.<PluginName>.Sessions.<SessionName>.<Parameter>=<Value>
Име сесије може се користити као параметар кључа ставке connString уместо да се посебно наводи URI, корисничко име и/или лозинка.
У кључевима ставки, први параметар може бити connString или URI. Ако се први параметар кључа не подудара ни са једним именом сесије, биће третиран као URI. Имајте на уму да прослеђивање уграђених URI акредитива у кључу ставке није подржано, уместо тога користите именоване параметре сесије.
Листа доступних именованих параметара сесије зависи од додатка.
Могуће је заменити параметре сесије навођењем нових вредности у параметрима кључа ставке (видети example).
Ако параметар није дефинисан за именовану сесију, Zabbix агент 2 ће користити вредност дефинисану у подразумевани параметар додатка.
Zabbix агент 2 додаци траже вредности параметара у вези са везом следећим редоследом:
Надгледање две инстанце “MySQL1” и “MySQL2”.
Параметри конфигурације:
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.0:3306
Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
Plugins.Mysql.Sessions.MySQL2.Password=different_password
Као резултат ове конфигурације, свако име сесије може да се користи као connString у кључу ставке, нпр. mysql.ping[MySQL1]
или mysql.ping[MySQL2]
.
Навођење неких параметара у кључу ставке.
Параметри конфигурације:
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
Кључ ставке: pgsql.ping[session1,new_username,,postgres]
Као резултат ове конфигурације, агент ће се повезати са PostgreSQL користећи следеће параметре:
Прикупљање метрике помоћу подразумеваних конфигурационих параметара.
Параметри конфигурације:
Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Default.User=zabbix
Plugins.PostgreSQL.Default.Password=password
Кључ ставке: pgsql.ping[,,,postgres]
Као резултат ове конфигурације, агент ће се повезати са PostgreSQL користећи параметре:
Неки додаци подржавају прикупљање метрике са више инстанци истовремено. Могу бити и локалне и удаљене инстанце праћени. TCP и Unix-socket везе су подржане.
Препоручљиво је да конфигуришете додатке за одржавање веза са инстанцама у отвореном стању. Користи су смањене загушење мреже, кашњење и коришћење CPU-а и меморије због мањег броја веза. Клијентска библиотека узима брига за ово.
Plugins.<PluginName>.KeepAlive може одредити временски период током којег неискоришћене везе треба да остану отворене. параметар. Пример: Plugins.Memcached.KeepAlive
Све метрике које подржава Zabbix агент 2 прикупљају додаци.
The following plugins for Zabbix agent 2 are available out-of-the-box. Click on the plugin name to go to the plugin repository with additional information.
Plugin name | Description | Supported item keys | Comments |
---|---|---|---|
Agent | Metrics of the Zabbix agent being used. | agent.hostname, agent.ping, agent.version | Supported keys have the same parameters as Zabbix agent keys. |
Ceph | Ceph monitoring. | ceph.df.details, ceph.osd.stats, ceph.osd.discovery, ceph.osd.dump, ceph.ping, ceph.pool.discovery, ceph.status |
|
CPU | System CPU monitoring (number of CPUs/CPU cores, discovered CPUs, utilization percentage). | system.cpu.discovery, system.cpu.num, system.cpu.util | Supported keys have the same parameters as Zabbix agent keys. |
Docker | Monitoring of Docker containers. | docker.container_info, docker.container_stats, docker.containers, docker.containers.discovery, docker.data_usage, docker.images, docker.images.discovery, docker.info, docker.ping |
See also: Configuration parameters |
File | File metrics collection. | vfs.file.cksum, vfs.file.contents, vfs.file.exists, vfs.file.md5sum, vfs.file.regexp, vfs.file.regmatch, vfs.file.size, vfs.file.time |
Supported keys have the same parameters as Zabbix agent keys. |
Kernel | Kernel monitoring. | kernel.maxfiles, kernel.maxproc | Supported keys have the same parameters as Zabbix agent keys. |
Log | Log file monitoring. | log, log.count, logrt, logrt.count | Supported keys have the same parameters as Zabbix agent keys. See also: Plugin configuration parameters (Unix/Windows) |
Memcached | Memcached server monitoring. | memcached.ping, memcached.stats | |
Modbus | Reads Modbus data. | modbus.get | Supported keys have the same parameters as Zabbix agent keys. |
MQTT | Receives published values of MQTT topics. | mqtt.get | To configure encrypted connection to the MQTT broker, specify the TLS parameters in the agent configuration file as named session or default parameters. Currently, TLS parameters cannot be passed as item key parameters. |
MySQL | Monitoring of MySQL and its forks. | 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 |
To configure encrypted connection to the database, specify the TLS parameters in the agent configuration file as named session or default parameters. Currently, TLS parameters cannot be passed as item key parameters. |
NetIf | Monitoring of network interfaces. | net.if.collisions, net.if.discovery, net.if.in, net.if.out, net.if.total | Supported keys have the same parameters as Zabbix agent keys. |
Oracle | Oracle Database monitoring. | 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 |
Install the Oracle Instant Client before using the plugin. |
Proc | Process CPU utilization percentage. | proc.cpu.util | Supported key has the same parameters as Zabbix agent key. |
Redis | Redis server monitoring. | redis.config, redis.info, redis.ping, redis.slowlog.count | |
Smart | S.M.A.R.T. monitoring. | smart.attribute.discovery, smart.disk.discovery, smart.disk.get | Sudo/root access rights to smartctl are required for the user executing Zabbix agent 2. The minimum required smartctl version is 7.1. Supported keys can be used with Zabbix agent 2 only on Linux/Windows, both as a passive and active check. See also: Configuration parameters |
SW | Listing of installed packages. | system.sw.packages, system.sw.packages.get | The supported keys have the same parameters as Zabbix agent key. |
Swap | Swap space size in bytes/percentage. | system.swap.size | Supported key has the same parameters as Zabbix agent key. |
SystemRun | Runs specified command. | system.run | Supported key has the same parameters as Zabbix agent key. See also: Plugin configuration parameters (Unix/Windows) |
Systemd | Monitoring of systemd services. | systemd.unit.discovery, systemd.unit.get, systemd.unit.info | |
TCP | TCP connection availability check. | net.tcp.port | Supported key has the same parameters as Zabbix agent key. |
UDP | Monitoring of the UDP services availability and performance. | net.udp.service, net.udp.service.perf | Supported keys have the same parameters as Zabbix agent keys. |
Uname | Retrieval of information about the system. | system.hostname, system.sw.arch, system.uname | Supported keys have the same parameters as Zabbix agent keys. |
Uptime | System uptime metrics collection. | system.uptime | Supported key has the same parameters as Zabbix agent key. |
VFSDev | VFS metrics collection. | vfs.dev.discovery, vfs.dev.read, vfs.dev.write | Supported keys have the same parameters as Zabbix agent keys. |
WebCertificate | Monitoring of TLS/SSL website certificates. | web.certificate.get | |
WebPage | Web page monitoring. | web.page.get, web.page.perf, web.page.regexp | Supported keys have the same parameters as Zabbix agent keys. |
ZabbixAsync | Asynchronous metrics collection. | 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 |
Supported keys have the same parameters as Zabbix agent keys. |
ZabbixStats | Zabbix server/proxy internal metrics or number of delayed items in a queue. | zabbix.stats | Supported keys have the same parameters as Zabbix agent keys. |
ZabbixSync | Synchronous metrics collection. | 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. |
Supported keys have the same parameters as Zabbix agent keys. |
Учитавање додатака за Zabbix агент 2 није одмах доступно и потребно их је инсталирати засебно:
Кликните на име додатка да бисте отишли у спремиште додатака са додатним информацијама.
Plugin name | Description | Supported item keys | Comments |
---|---|---|---|
Ember+ | Праћење Ember+. | ember.get | Тренутно доступно само за изградњу из изворног кода (и за Unix и за Windows). Погледајте такође Параметри конфигурације Ember+ додатка. |
MongoDB | Праћење MongoDB сервера и кластера (документално заснована, дистрибуирана база података). | 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 |
Да бисте конфигурисали шифроване везе са базом података, наведите TLS параметре у конфигурационој датотеци агента као параметре named session. Тренутно се TLS параметри не могу прослеђивати као кључни параметри ставке. Погледајте такође Параметри конфигурације MongoDB додатка. |
MSSQL | Праћење MSSQL базе података. | 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 | Да бисте конфигурисали шифровану везу са базом података, наведите TLS параметре у конфигурационој датотеци агента као параметре named session или default. Тренутно, TLS параметри не могу бити прослеђени као параметри кључа ставке. Погледајте такође Параметри конфигурације MSSQL додатка. |
NVIDIA GPU | Праћење NVIDIA GPU-а. | 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, 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 | Погледајте такође Параметри конфигурације NVIDIA GPU додатка. |
Додаци који се могу учитати, када се покрену са:
- -V --version - испис верзије додатка и информација о лиценци;
- -h --help - испис информација о помоћи.