Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I think I know the answer (not possible) - but want to see if anyone has a clever idea or perhaps I'm just wrong about the issue.

Goal

We want our shift managers to be notified of service outages if:

  • The service is down for a defined period.
  • Notification should be sent even if the issue has been acknowledged.

From the Nagios docs:

For notifications:

Notifications are escalated if and only if one or more escalation definitions matches the current notification that is being sent out.

For acknowledgements:

Allows you to acknowledge the current problem for the specified service. By acknowledging the current problem, future notifications (for the same servicestate) are disabled. If the "sticky" option is set to one (1), the acknowledgement will remain until the service returns to an OK state. Otherwise the acknowledgement will automatically be removed when the service changes state. If the "notify" option is set to one (1), a notification will be sent out to contacts indicating that the current service problem has been acknowledged. If the "persistent" option is set to one (1), the comment associated with the acknowledgement will survive across restarts of the Nagios process. If not, the comment will be deleted the next time Nagios restarts.

My understanding is that if the issue is acknowledged then there are no further notifications - I assume this applies to escalation notifications as well?

I don't see a way around this.

Our work flow requires the L1 team to acknowledge the issue if they can handle it and escalate as needed. However, we would like to put in place an automatic process to assure these escalations happen.

Nagios is where I would like to do this but if not possible, we may have to handle this on the ticketing side.

Thanks!

share|improve this question
1  
There is an option that people often overlook: You can change the source and build a custom version. I did this for years to change the "if you're a contact for a host, you can see every service associated with that host" behavior. –  Keith Mar 28 '13 at 16:36

1 Answer 1

I have a Perl script that does this. You simply need to scan the 'status.dat' file for:

host checks > last_time_up = <value>
service checks > last_time_ok = <value>

Both store an epoch value, which, if greater than a certain number of seconds from current epoch, will cause the check_description and/or host_name to be added to the email sent out. My script also checks the 'problem_has_been_acknowledged' entry and lets me know if it has been Ack'ed. Said script fires off from a crontab entry every 30 minutes sending out a listing of all host/service checks that matched.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.