Додаци пружају опцију за проширење могућности праћења Zabbix-а. Додаци су написани у Go програмском језику и подржава их само Zabbix агент 2. Додаци пружају алтернативу за модуле који се могу учитати (написано у C), и друге методе за проширење Zabbix функционалности.
Следеће карактеристике су специфичне за агента 2 и његове додатке:
Од Zabbix-а 6.0, додаци не морају бити интегрисани директно у агента 2 и могу се додати као додаци који се могу учитати, чиме се олакшава процес креирања додатних додатака за прикупљање нових метрика праћења.
Ова страница наводи Zabbix-ове изворне и учитљиве додатке и описује принципе њихове конфигурације из угла корисника.
За упутства о писању сопствених додатака погледајте Центар за програмере и Пример додатка за Zabbix агента 2.
За детаље о процесу комуникације између Zabbix агента 2 и додатка који се може учитати, као и о процесу прикупљања метрика, погледајте Диаграм повезивања.
Овај одељак пружа уобичајене принципе конфигурације додатака и најбоље праксе.
Сви додаци су конфигурисани помоћу параметра Plugins.*, који може бити део Zabbix агента 2 конфигурациона датотека или сопствени додатак конфигурациона датотека. Ако додатак користи засебну конфигурациону датотеку, путању до ове датотеке треба навести у параметру Укључи конфигурационе датотеке Zabbix агента 2.
Типичан параметар додатка има следећу структуру:
Plugins.<PluginName>.<Parameter>=<Value>
Поред тога, постоје две специфичне групе параметара:
Plugins.<PluginName>.Default.<Parameter>=<Value> који се користи за дефинисање подразумеваних вредности параметара.
Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> који се користи за дефинисање одвојених скупова параметара за различите циљеве надгледања преко именоване сесије.
Сва имена параметара треба да буду у складу са следећим захтевима:
На пример, да извршите активне провере које немају Заказивање интервал ажурирања одмах након поновног покретања агента само за додатак Uptime plugin, подесите Plugins.Uptime.System.ForceActiveChecksOnStart=1
у конфигурационој датотеци. Слично томе, да бисте подесили прилагођено ограничење за истовремене провере за CPU додатак, подесите Plugins.CPU.System.Capacity=N
у конфигурационој датотеци.
Можете поставити подразумеване вредности за параметре који се односе на везу (URI, корисничко име, лозинку, итд.) у конфигурационој датотеци у формату:
На пример, Plugins.Mysql.Default.Username=zabbix
, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017
, итд.
Ако вредност за такав параметар није наведена у кључу ставке или у параметрима именована сесија, додатак ће користити подразумевану вредност. Ако је подразумевани параметар такође недефинисан, користиће се уграђене подразумеване вредности.
Ако кључ ставке нема никакве параметре, Zabbix агент 2 ће покушати да прикупи метрику користећи вредности дефинисане у одељку подразумеваних параметара.
Именоване сесије представљају додатни ниво параметара додатка и могу се користити за одређивање засебних скупова параметара аутентификације за сваку инстанцу која се надгледа. Сваки именовани параметар сесије треба да има следећу структуру:
Име сесије може да се користи као параметар кључа ставке connString уместо да се засебно наведе URI, корисничко име и/или лозинка.
У кључевима ставки, први параметар може бити или connString или URI. Ако се први параметар кључа не подудара ни са једним именом сесије, биће третиран као URI. Имајте на уму да прослеђивање уграђених URI креденцијала у кључу ставке није подржано, уместо тога користите именоване параметре сесије.
Листа доступних именованих параметара сесије зависи од додатка.
Могуће је заменити параметре сесије навођењем нових вредности у кључним параметрима ставке (погледајте пример).
Ако параметар није дефинисан за именовану сесију, 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-ом користећи следеће параметре:
192.0.2.234:5432
new_username
session_password
postgres
Прикупљање метрике помоћу подразумеваних конфигурационих параметара.
Конфигурациони параметри:
Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Default.User=zabbix
Plugins.PostgreSQL.Default.Password=password
Кључ ставке: pgsql.ping[,,,postgres]
Као резултат ове конфигурације, агент ће се повезати са PostgreSQL-ом користећи параметре:
192.0.2.234:5432
zabbix
password
postgres
Неки додаци подржавају прикупљање метрике са више инстанци истовремено. Могу бити праћене и локалне и удаљене инстанце. TCP и Unix-socket везе су подржане.
Препоручљиво је да конфигуришете додатке за одржавање веза са инстанцама у отвореном стању. Бенефити су смањено загушење мреже, латенција и коришћење CPU-а и меморије због мањег броја веза. Клијентска библиотека се брине о овоме.
Временски период током којег неискоришћене везе треба да остану отворене може се одредити параметром Plugins.<PluginName>.KeepAlive. Пример: Plugins.Memcached.KeepAlive
Све метрике које подржава Zabbix агент 2 прикупљају додаци.
Следећи додаци за Zabbix агента 2 су доступни одмах. Кликните на име додатка да бисте отишли у спремиште додатака са додатним информацијама.
Plugin name | Description | Supported item keys | Comments |
---|---|---|---|
Agent | Метрика Zabbix агента која се користи. | agent.hostname, agent.ping, agent.version | Подржани кључеви имају исте параметре као и Zabbix агент кључеви. |
|Ceph|Ceph monitoring.|ceph.df.details, ceph.osd.stats, ceph.osd.discovery, ceph.osd.dump,
ceph.ping, ceph.pool.discovery, ceph.status| | |CPU|Систем CPU надгледања (број CPUs/CPU језгара, откривени CPUs, проценат искоришћености).|system.cpu.discovery, system.cpu.num, system.cpu.util|Подржани кључеви имају исте параметре као Zabbix агент кључеви.| |Docker|Надгледање Docker контејнера.|docker.container_info, docker.container_stats, docker.containers, docker.containers.discovery,
docker.data_usage, docker.images, docker.images.discovery, docker.info, docker.ping|Погледати такође:
Конфигурационе параметре| |File|Колекција метрике датотека.|vfs.file.cksum, vfs.file.contents, vfs.file.exists, vfs.file.md5sum,
vfs.file.regexp, vfs.file.regmatch, vfs.file.size, vfs.file.time|Подржани кључеви имају исте параметре као Zabbix агент кључеви.| |Kernel|Kernel мониторинг.|kernel.maxfiles, kernel.maxproc|Подржани кључеви имају исте параметре као Zabbix агент кључеви.|
|Log|Надгледање датотеке дневника.|log, log.count, logrt, logrt.count|Подржани кључеви имају исте параметре као Zabbix агент кључеви.
Погледајте такође:
Параметри конфигурације додатка (Unix/Windows)| |Memcached|Memcached сервер мониторинг.|memcached.ping, memcached.stats| | |Modbus|Чита Modbus податке.|modbus.get|Подржани кључеви имају исте параметре као Zabbix агент кључеви.| |MQTT|Прима објављене вредности од MQTT теме.|mqtt.get|Да бисте конфигурисали шифровану везу са MQTT брокером, наведите TLS параметре у конфигурационој датотеци агента као именовану сесију или подразумевано параметара. Тренутно TLS параметри не могу да се прослеђују као кључни параметри ставке. | |MySQL|Надгледање MySQL-а и његових форкова.|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|Да бисте конфигурисали шифровану везу са базом података, наведите TLS параметре у конфигурационој датотеци агента као именовану сесију или подразумевано параметара. Тренутно, TLS параметри не могу да се прослеђују као кључни параметри ставке.| |NetIf|Надгледање мрежних интерфејса.|net.if.collisions, net.if.discovery, net.if.in, net.if.out, net.if.total|Подржани кључеви имају исте параметре као и Zabbix агент кључеви.| |Oracle|Oracle Database мониторинг.|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|Инсталирајте Oracle Instant Client пре употребе додатка.| |Proc|Проценат искоришћености CPU процеса.|proc.cpu.util|Подржани кључ има исте параметре као Zabbix агент кључ.| |Redis|Redis server надгледање.|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|Минимална потребна smartctl верзија је 7.1.
Sudo/root права приступа smartctl су потребна за корисника који извршава Zabbix агента 2. Додатак користи само следеће команде:
/usr/sbin/smartctl -a *
/usr/sbin/smartctl --scan *
/usr/sbin/smartctl -j -V
Подржани кључеви могу се користити само са укљученим Zabbix агентом 2 на Linux/Windows, и као пасивна и активна провера.
Погледајте још:
Конфигурационе параметре| |SW|Списак инсталираних пакета.|system.sw.packages, system.sw.packages.get|Подржани кључеви имају исте параметре као Zabbix агент кључ.| |Swap|Замените величину простора у бајтовима/процентима.|system.swap.size|Подржани кључ има исте параметре као Zabbix агент кључ.| |SystemRun|Покреће одређену команду.|system.run|Подржани кључ има исте параметре као Zabbix агент кључ.
Погледајте и:
Параметре конфигурације додатка (Unix/Windows)| |Systemd|Надгледање системских услуга.|systemd.unit.discovery, systemd.unit.get, systemd.unit.info| | |TCP|TCP провера доступности везе.|net.tcp.port|Подржани кључ има исте параметре као Zabbix агент кључ.| |UDP|Праћење доступности и перформанси UDP сервиса.|net.udp.service, net.udp.service.perf|Подржани кључеви имају исте параметре као Zabbix агент кључеви.| |Uname|Преузимање информација о систему.|system.hostname, system.sw.arch, system.uname|Подржани кључеви имају исте параметре као Zabbix агент кључеви.| |Uptime|Прикупљање метрика времена непрекидног рада система.|system.uptime|Подржани кључ има исте параметре као Zabbix агент кључ.| |VFSDev|VFS колекција метрика.|vfs.dev.discovery, vfs.dev.read, vfs.dev.write|Подржани кључеви имају исте параметре као Zabbix агент кључеви.| |WebCertificate|Надгледање од TLS/SSL сертификата веб странице.|web.certificate.get| |
|WebPage|Надгледање веб страница.|web.page.get, web.page.perf, web.page.regexp|Подржани кључеви имају исте параметре као Zabbix агент кључеви.| |ZabbixAsync|Асинхрона збирка метрика.|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|Подржани кључеви имају исте параметре као Zabbix агент кључеви.| |ZabbixStats|Zabbix сервер/прокси интерне метрике или број одложених ставки у реду.|zabbix.stats|Подржани кључеви имају исте параметре као Zabbix агент кључеви.| |ZabbixSync|Синхрона збирка метрика.|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.|Подржани кључеви имају исте параметре као Zabbix агент кључеви.|
Учитавање додатака за 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 параметре у конфигурационој датотеци агента као параметре именоване сесије. Тренутно се 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 параметре у конфигурационој датотеци агента као параметре именоване сесије или подразумевано. Тренутно, TLS параметри не могу бити прослеђени као параметри кључа ставке. Погледајте такође Параметре конфигурације MSSQL додатака. |
PostgreSQL | Праћење PostgreSQL-а и његових форкова. | 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 |
Да бисте конфигурисали шифроване везе са базом података, наведите TLS параметре у конфигурационој датотеци агента као параметре именовану сесију или подразумевано. Тренутно, TLS параметри не могу бити прослеђени као параметри кључа ставке. Погледајте такође Параметре конфигурације PostgreSQL додатка. |
Додаци који се могу учитати, када се покрену са:
- -V --version - испис верзије додатка и информација о лиценци;
- -h --help - испис информација о помоћи.