Додаци пружају опцију за проширење могућности праћења 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 прикупљају додаци.
Следећи додаци за Zabbix агента 2 су доступни одмах по инсталацији. Кликните на име додатка да бисте отишли у спремиште додатака са додатним информацијама.
Plugin name | Description | Подржани кључеви ставки | Коментари |
---|---|---|---|
Агент | Метрике коришћеног Zabbix агента. | agent.hostname, agent.ping, agent.version | Подржани кључеви имају исте параметре као и Zabbix агент кључеви. |
|Ceph|Праћење Ceph-а.|ceph.df.details, ceph.osd.stats, ceph.osd.discovery, ceph.osd.dump,
ceph.ping, ceph.pool.discovery, ceph.status| | |CPU|Праћење системског CPU-а (број CPU-а/језгара CPU-а, откривени CPU-и, проценат искоришћења).|system.cpu.discovery, system.cpu.num, system.cpu.util|Подржани кључеви имају исте параметре као Zabbix агент кључеви.| |Докер|Праћење Докер контејнера.|docker.container_info, docker.container_stats, docker.containers, docker.containers.discovery,
docker.data_usage, docker.images, docker.images.discovery, docker.info, docker.ping|Погледајте такође:
Параметри конфигурације| |Датотека|Колекција метрика датотека.|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.maxfiles, kernel.maxproc|Подржани кључеви имају исте параметре као Zabbix агент кључеви.|
|Лог|Праћење лог датотеке.|log, log.count, logrt, logrt.count|Подржани кључеви имају исте параметре као Zabbix агент кључеви.
Погледајте такође:
Параметри конфигурације додатка (Unix/Windows)| |Memcached|Праћење Memcached сервера.|memcached.ping, memcached.stats| | |Modbus|Чита Modbus податке.|modbus.get|Подржани кључеви имају исте параметре као Zabbix агент keys.| |MQTT|Прима објављене вредности MQTT тема.|mqtt.get|Да бисте конфигурисали шифровану везу са MQTT брокером, наведите TLS параметре у конфигурационој датотеци агента као параметре named session или default. Тренутно, 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 параметре у конфигурационој датотеци агента као параметре named session или default. Тренутно, TLS параметри не могу бити прослеђени као параметри кључа ставке.| |NetIf|Праћење мрежних интерфејса.|net.if.collisions, net.if.discovery, net.if.in, net.if.out, net.if.total|Подржани кључеви имају исте параметре као Zabbix агент keys.| |Oracle|Праћење Oracle базе података.|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|Проценат искоришћења процесора процеса.|proc.cpu.util|Подржани кључ има исте параметре као Zabbix агент кључеви.| |Редис|Праћење Редис сервера.|redis.config, redis.info, redis.ping, redis.slowlog.count| | |Smart|S.M.A.R.T. праћење.|smart.attribute.discovery, smart.disk.discovery, smart.disk.get|Кориснику који покреће Zabbix агент 2 потребна су Sudo/root права приступа за smartctl. Минимална потребна верзија smartctl је 7.1.
Подржани кључеви могу се користити само са Zabbix агентом 2 на Linux/Windows-у, и као пасивна и као активна провера.
Погледајте такође:
Параметри конфигурације| |SW|Списак инсталираних пакета.|system.sw.packages, system.sw.packages.get|Подржани кључеви имају исте параметре као Zabbix агент key.| |Swap|Величина простора за размену у бајтовима/проценту.|system.swap.size|Подржани кључ има исте параметре као Zabbix агент key.| |SystemRun|Покреће наведену команду.|system.run|Подржани кључ има исте параметре као Zabbix агент key.
Погледајте такође:
Параметри конфигурације додатка (Unix/Windows)| |Systemd|Праћење systemd сервиса.|systemd.unit.discovery, systemd.unit.get, systemd.unit.info| | |TCP|Провера доступности TCP везе.|net.tcp.port|Подржани кључ има исте параметре као Zabbix агент key.| |UDP|Праћење доступности и перформанси UDP сервиса.|net.udp.service, net.udp.service.perf|Подржани кључеви имају исте параметре као Zabbix агент keys.| |Uname|Преузимање информација о систему.|system.hostname, system.sw.arch, system.uname|Подржани кључеви имају исте параметре као Zabbix агент keys.| |Време рада|Колекција метрика времена рада система.|system.uptime|Подржани кључ има исте параметре као Zabbix агент key.| |VFSDev|Колекција VFS метрика.|vfs.dev.discovery, vfs.dev.read, vfs.dev.write|Подржани кључеви имају исте параметре као Zabbix агент keys.| |WebCertificate|Праћење TLS/SSL сертификата веб сајта.|web.certificate.get| | |ВебСтраница|Праћење веб странице.|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 агент keys.| |ZabbixStats|Интерне метрике Zabbix сервера/проксија или број одложених ставки у реду.|zabbix.stats|Подржани кључеви имају исте параметре као Zabbix агент keys.| |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 нису доступни одмах по инсталацији и потребно их је инсталирати засебно:
За Linux, можете користити пакете или буилд плугинс.
За Windows, можете инсталирати са MSI или буилд плугинс.
Кликните на име додатка да бисте отишли у спремиште додатака са додатним информацијама.
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 параметре у конфигурационој датотеци агента као назван 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 или подразумевано. Тренутно, 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.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 - испис информација о помоћи.