How to send extra info in nagios email
Asked Answered
M

1

8

I have setup a nagios monitoring and configured check_http plugin to check for a specific URL in my application. That url returns either 'ok' or an error message.

My nagios sends me an email when it detects something not 'ok'. However what I am getting is only "HTTP CRITICAL - string not found". What I would like to get in email is the actual error message that is returned from my URL. I've tried using the verbose (-v) option. In command line it returns me a complete request including my error message, however nagios email would only send me the first line of the verbose response.

What I would like to get in nagios notification is instead of string not found to get the actual error message. Is there any way to do it using check_http (or may be some other) plugin or do I have to write my own?

Edit: So far I've been using $SERVICEOUTPUT$ in my email notification.

Mylan answered 26/5, 2009 at 2:44 Comment(0)
T
9

There seems to be two service output macros you can use (from http://nagios.sourceforge.net/docs/3_0/macrolist.html ) in your service notification command definition:

  • $SERVICEOUTPUT$: The first line of text output from the last service check (i.e. "Ping OK").
  • $LONGSERVICEOUTPUT$: The full text output (aside from the first line) from the last service check.

If you aren't successful with those, I guess the easiest path is to write a wrapper for check_http that puts your error message on the first output line.

Theoretician answered 27/5, 2009 at 15:22 Comment(2)
You will want to add this to your notify-service-by-email command definition, as described hereConterminous
Be aware Nagios fills these variables after removing some sensitive characters, for example HTML tags are not preserved. For workaround, see serverfault.com/a/648781/256869 .Mitchiner

© 2022 - 2024 — McMap. All rights reserved.