Dear all,
Being very new to Zabbix I missed a previous sensor that would provide me jitter calculations for certain targets (thanks company X for suddenly going crazy on your new pricing model).
This was especially handy when we had to contractually prove that the VoIP/VPN/Remote-Access telecommunications items may not be in fact a problem from within our environment, but, as part of a larger telecommunications bottleneck/performance issue.
I may have looked in the wrong locations, but could not yet find a jitter solution. As I saw the possibility for writing your own templates/items/triggers/graphs etc. I decided to jump ... so ... this is the basic result of this exercise (attached).
I wanted the following from the "template":
- Custom target IP;
- Custom amount of pings;
- Custom amount of initial pings to ignore;
- Ping interval delay;
- Script startup delay; and
- Custom trigger values.
- Remote execution of scripts do not honor the "timeout" values set (I may have done this wrong as I am a noob, but I couldn't get past the 3s limit, irrespective if it is server side set or old examples of agent side (somewhere I saw an older post which said it was hardcoded, however, I am not certain if that is still the case, as I saw several 3s server side settings which I changed, especially a script one, which did not help));
- Querying the script and expecting 5 results (I wanted min latency, average latency, max latency, jitter, and jitter percentage as it relates to average latency) needs to be thought through as the script actually gets called five (5) times, hence you will actually have a set of five (5) different "windows"/"results", which is kind of "wrong";
- The script executes the command and if it is called within a certain period of time, then it will grab the "cache" results and give you that information (to ensure that the entire set is derived from the same data, or at least ... most of the time
corner case on new file being written and query from agent overlapping the old and new file); - There is a "server" mode which is called by linux cron to get/compute the results (as I could not get past the 3s timeout ... any help would be appreciated);
- There is a "client" mode that is called from Zabbix, this only reads the information from the file (write delay from server considered); and
- The "standalone" mode, which is what I actually wanted initially, without using the cron concept (I kept this in place just so that I could amend when I have figured out the script delay thing ... ). This will solve my corner case also, as I only have to set the duration for the validity of the cache to lower than the query form the agent.
What I would like to improve upon:
- Obviously "standalone" mode ... that is my target ... (3s thing, I must be doing something stupid, there should be a host of other items that takes longer than 3s?);
- Having a single "agent" being able to handle multiple targets, instead of currently different agents/hosts each targeting a different server/ip (thus ensuring the cache handling is done for multi targets);
- Making the item value query dependent upon the "first" query that created the cache, else multiple calls will be done via the "standalone" mode causing race conditions ...
Best regards,
Dawie
Comment