Type: New Feature Request
Affects Version/s: None
Fix Version/s: None
Sprint:Sprint 14, Sprint 15, Sprint 16, Sprint 17, Sprint 18, Sprint 19, Sprint 20, Sprint 21, Sprint 22, Sprint 23
I really welcome the possibility to create loadable modules for zabbix - this might make solutions like https://github.com/digitalmediacenter/mysql_extend obsolete
(which reduces the overhead of fetching hundreds of measurement items by using shared memory segments).
Typically sysadmins are good in writing code with script languages - therefore it would be great to integrate new monitoring functionality by using script languages.
So why not supporting loadable modules which are written in script languages?
MySQL_Extend is a good example - a external check which invokes the mysql commandline hundred times needs a lot of resources at the database server and
provides some other difficulties. The implementation of mysql_extend was a bit too complex for the needed purpose, future enhancements of this tool like parsing the output of "SHOW ENGINE INNODB STATUS" is a real pain if your write this in c. If there is a possibility to write this in python is dramatically more easy
It might be great if zabbix would embed a python, ruby, perl or php interpreter to for implementation of custom modules.
But a old feature request (
ZBXNEXT-701), which is closed by this request, requests the implementation of a "subagent protocol" which utilizes a forked process and communication by STDIN/STDOUT to allow a simple implementation of new monitoring mechanisms.
From my point of view this is smarter, because:
- Agent, Proxy and Server do not have to be linked with a scripting language interpreter
- There is no no need to care about which language is used by the module (Sheebang is enough)
- The forked process does not influence the stability of proxy-, server- or agent-processes