My Zabbix Server monitors an HP MSA 1040 SAN with this template (https://share.zabbix.com/storage-devices/hp/hp-msa). So the template uses external check with hp-msa.pl script as a way to obtain values (SNMP is not a considered method in this case as it doesn't return all needed parameters). It works well but it causes too high CPU usage (almost 100%) and there are too many processes (hp-msa.pl) on the server when it gets new values. I already tried configuring Timeout=30 and StartPollers parameters in zabbix_server.conf but it didn't help. Zabbix log file with DebugLevel=5 doesn't show any other errors exept for execution timeouts for some items in this template from time to time and sometimes these errors dissappear so they are volitile. What else can I do about it? Are there any other solution to decrease CPU usage and the amount of hp-msa.pl processes when running this script?
Ad Widget
Collapse
Zabbix external check item runs too many processes causing high CPU usage on server
Collapse
X
-
Tags: None
-
You could try increasing frequency of check to be more than Timeout, for example Timeout 15 but frequency 30, how long does it take to execute script ?-
It varies a lot, but it's something between 5 and 20 secs.
I've got one another question: does Zabbix run each external check script as a separate process for each item?
And if so is there anything I can do about it to optimize it somehow? -
Yes, it forks each external check and waits for it to complete for the given timeout. I don't know if script can output data in json format so that you can execute it one time and use preprocessing to get the rest values if that's what you are asking, sorry. Need to examine script and understand what is causing high cpu usage, probably it can be SSL connection.Last edited by vso; 26-11-2018, 11:55.
-
Comment