Home Directory Utilities Capture command output

Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com


Remember Me

Capture command output

2 votes
Current Version
Last Release Date
Compatible With
  • Nagios 1.x
  • Nagios 2.x
  • Nagios 3.x
  • Nagios 4.x

Help Support Ethan Galstad's New Project:

Help Support Ethan

A Message From The Founder...

As the founder of Nagios, I'm asking for your help in a cause that's dear to my heart.

I'm launching a new project to help better the world by providing the information, ideas, and inspiration that I believe can improve the lives of people everywhere.

I know you're busy managing networks, but I would appreciate it if you would consider liking my Facebook page and showing your support for the content and messages I produce by sharing them with your friends and family.

You can learn more about my project by visiting ethangalstad.me/nagios. Thank you for your time. I wish you all the best in your endeavors, whatever they may be.

- Ethan

Captures the stdout and stderr output of a command to a file and returns the original results to Nagios.
This is useful for debugging failing Nagios monitors.

A log entry sample:

2015-8-27 13:22:54 ------ debugging
cmd=[/usr/lib/nagios/plugins/check_disk '-w' '20%' '-c' '10%' '-e']
output=[DISK CRITICAL - /run/user/1001/gvfs is not accessible: Permission denied
This plugin was originally written 2007-03-24 by Wolfgang Wagner (http://www.waggy.at/nagios/capture_plugin.htm)
Copyright 2007 by Wolfgang Wagner. All rights reserved.

The plugin does not require any additional utilities, it simply wraps the original command, logs the output to a file and then returns the results and RC back to Nagios for handling.


Consider this command:
define command{
command_name check_ssl_cert
command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -C10

In order to use the plugin, simple add /path/to/capture_output.pl in the beginning of the command, like so:

define command{
command_name check_ssl_cert
command_line /usr/lib/nagios/plugins/capture_output.pl /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -C10

Revised by Jess Portnoy on 2015-09-28, Changes:
- Exit with 3 [UNKNOWN] if cannot open() or close() file
- chmod file to 600 since it might contain sensitive info
- some cleanup

Reviews (1)
byikarpov, September 3, 2017
I spent few hour trying to figure it out why plugin that works just fine from the command line, does not work under centreon. And this script told me that sudo wants tty...