I've been experimenting with more external checks, and am curious whether there is better information on performance, notably...
Has anyone looked at language choice and impact, for example perl vs bash vs. php (or other)...? Does it seem to matter?
Related: it looked like, from what little I can tell in linux, that a check is nested about 5-6 layers in forks deep when it runs. Is that related to language? Is there a way to reduce that aspect?
One reason I have been using them is to do calculations. For example, I can calculate the snmp polling of CPUs on windows to an average and store one item, rather than 4 or 8, 12, 24 items which I average in a calculation. (This is a site that won't allow zabbix agent). But in a brief experiment converting to a perl external check, it looked like CPU overall went up polling that way, despite dramatically fewer items being managed (and maybe polled as it was one getbulk, whereas I've had to turn bulk off on windows in zabbix to keep it more reliable).
I see loadable modules as a possibility, but have not started down that road yet (I am building from source so it looks viable). But external checks are so easy... before I look to loadable modules, are there any good guidelines to make external check have less overhead?
Has anyone looked at language choice and impact, for example perl vs bash vs. php (or other)...? Does it seem to matter?
Related: it looked like, from what little I can tell in linux, that a check is nested about 5-6 layers in forks deep when it runs. Is that related to language? Is there a way to reduce that aspect?
One reason I have been using them is to do calculations. For example, I can calculate the snmp polling of CPUs on windows to an average and store one item, rather than 4 or 8, 12, 24 items which I average in a calculation. (This is a site that won't allow zabbix agent). But in a brief experiment converting to a perl external check, it looked like CPU overall went up polling that way, despite dramatically fewer items being managed (and maybe polled as it was one getbulk, whereas I've had to turn bulk off on windows in zabbix to keep it more reliable).
I see loadable modules as a possibility, but have not started down that road yet (I am building from source so it looks viable). But external checks are so easy... before I look to loadable modules, are there any good guidelines to make external check have less overhead?
Comment