Додаци пружају опцију за проширење могућности праћења 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> који се користи за дефинисање одвојених скупова параметара за различите циљеве надгледања преко именоване сесије.
Сва имена параметара треба да буду у складу са следећим захтевима:
На пример, да извршите активне провере које немају Scheduling интервал ажурирања одмах након поновног покретања агента само за додатак Време рада, подесите 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 акредитива у кључу ставке није подржано, уместо тога користите именоване параметре сесије.
Листа доступних именованих параметара сесије зависи од додатка.
Могуће је заменити параметре сесије навођењем нових вредности у кључним параметрима ставке (погледајте пример).
Ако параметар није дефинисан за именовану сесију, 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 прикупљају додаци.
Следећи додаци за Zabbix агент 2 су доступни одмах. Кликните на име додатка да бисте отишли у спремиште додатака са додатним информацијама.
Plugin name | Description | Supported item keys | Comments |
---|---|---|---|
Agent | Метрика Zabbix агента који се користи. | agent.hostname, agent.ping, agent.version | Подржани кључеви имају исте параметре као и Zabbix агент keys. |
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 агент keys. |
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 | Reads 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 параметре у конфигурационој датотеци агента као именована сесија or подразумевано параметара. Тренутно, 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 | Listing of installed packages. | system.sw.packages, system.sw.packages.get | Подржани кључеви имају исте параметре као Zabbix агент кључ. |
Swap | Замените величину простора у bytes/percentage. | system.swap.size | Подржани кључ има исте параметре као Zabbix agent кључ. |
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 агент кључеви. |
Додаци који се могу учитати, када се покрену са:
- -V --version - штампање верзије додатка и информација о лиценци;
- -h --help - штампа информације помоћи.
Кликните на име додатка да бисте отишли у спремиште додатака са додатним информацијама.
Plugin name | Description | Supported item keys | Comments |
---|---|---|---|
Ember+ | Надгледање Ember+. | ember.get | Тренутно доступно само за прављење из извора (за оба Unix и Windows). Погледајте и Конфигурација додатка Ember+ параметри. |
MongoDB | Надгледање MongoDB сервера и кластера (document-based, distributed database). | 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 конфигурациони параметри додатка. |
Погледајте такође: