It is not a really hard job to develop any Nagios plugin. But developing good Nagios plugins which fit the special needs and requirements while being fast and only gathering the needed information requires some more experience and skills. Besides the performance also security is an important topic when monitoring productive systems. There are some aspects which should be accounted. All of those aspects are more or less important depending on the special requirements.
One example: A Nagios plugin which needs to be executed with a high frequency of one time each minute on 30 systems. Such a plugin needs to be tuned a lot. Expect one run of the plugin would take more than 2 seconds. Your Nagios instance would have one running check at the same time. This is no problem. But one day you needed to extend the plugin. With this change to the Nagios plugin one execution takes about 5 seconds. Such a growth in the execution time results in a larger Nagios check latency. Having a growing check latency your Nagios may run in performance problems someday.
In fact you don’t need to care much about the performance when using passive checks or Nagios plugins which are executed on a lower frequency like once a day. But in most cases you are running Nagios to gather the live status of your systems to be warned fast if something is not okay. So you need low check frequencies and well written plugins.
Every plugin to be added to a productive monitoring system should be inspected with a view on this points:
- Average execution time
- Load on monitoring host
- Load on monitored host
- Gathering only needed status information
I’ve written and tuned several Nagios plugins using different techniques and gathering methods. I can offer a wide knowledge about the options and technologies which can be used in particular cases. I may assist you developing Nagios plugins and also design and develop complete Nagios plugins according to your needs.
If you’re interested in an offer please let me know. You can contact me using the Contact form.
Most monitored systems are productive systems which handle sensitive data in different ways. From this point an automated monitoring system which has the permission to access those productive systems for gathering status information is a security risk.
It is important to have one eye on the security aspects when setting up a monitoring with new plugins. For example one basic step is to reduce the permissions for the monitoring system to the lowest level that the system can only get the status information which are needed for doing it’s job. Another important point: Monitoring usually needs read only access to a system.
In some cases the access on the monitored system can not be limited easily. So it may be needed to have another small piece of software which runs on the monitored system and extracts the needed information for the monitoring system.
Those are only some of the aspects which should be accounted when monitoring productive systems. These aspects should be checked and verified for each plugin and check type which is being introduced to a Nagios environment.
I can assist with my knowledge about do’s, don’ts and best practices when checking the security compliance of Nagios plugins. If you’re interested in an offer please let me know.
You’re welcome to contact me using the Contact form.