Skip to main content

Parsing HTML Output of the Nagios Service Availability Report

Nagios has a Service Availability Report feature which is usable from Reports section of its web interface. But this feature is not designed as a web service architecture like a RESTful system. So in order to get these reports from an application interface we must make an Http request and parse the results. I just want to give an example of a python script does this kind of automation.

Nagios version used in this example is 3.5.0. Since Nagios serves with https and requires basic authentication, we have to use a ssl context and an authentication header. Python version is 2.7. Beautifulsoup4 library is used for parsing Http output.

Script output:

Yesterday: 2016-01-13
Today: 2016-01-14

Host: SomeHost
Service: SomeService

state OK - Unscheduled: 0d 22h 3m 8s
state OK - Scheduled: 0d 0h 0m 0s

state WARNING - Unscheduled: 0d 0h 47m 22s
state WARNING - Scheduled: 0d 0h 0m 0s

state UNKNOWN - Unscheduled: 0d 0h 0m 0s
state UNKNOWN - Scheduled: 0d 0h 0m 0s

state CRITICAL - Unscheduled: 0d 1h 9m 30s
state CRITICAL - Scheduled: 0d 0h 0m 0s

state Undetermined - Nagios Not Running: 0d 0h 0m 0s
state Undetermined - Insufficient Data: 0d 0h 0m 0s


Popular posts from this blog

Find and replace with sed command in Linux

Find and replace feature is always handy. It can turn into a torture when it comes to change or delete a simple constant string in a text file. There is a handy tool in linux for doing these kind of tihngs. Actually sed is not a text editor but it is used outside of the text file to make changes.