Log Files

check_in_logfiles.py

Description:

Searches log files for a patterns loaded from a pattern file.
Usage check_in_logfiles.py :

Current Version

1.0

Last Release Date

2015-05-10

Compatible With

  • Nagios 2.x
  • Nagios 3.x
  • Nagios XI

Owner

License

GPL


Nagios CSP

Meet The New Nagios Core Services Platform

Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.

Monitoring Made Magically Better

  • Nagios Core on Overdrive
  • Powerful Monitoring Dashboards
  • Time-Saving Configuration Wizards
  • Open Source Powered Monitoring On Steroids
  • And So Much More!
Project Files
Project Notes
Nagios plugin that searches log files for a patterns loaded from a pattern file. Usage check_in_logfiles.py : First argument PATTERNFILE is a text file containing lines of the form: SEVERITY:PATTERN Where *SEVERITY* is one of `IGNORE`, `WARNING`, `CRITICAL` and *PATTERN* is a regular expression. Second (and later) argument LOGFILE is the path to one (or more) log files. If a line is found that matches a *PATTERN* with *SEVERITY* `CRITICAL`, exit with CRITICAL status If a line is found that matches a *PATTERN* with *SEVERITY* `WARNING`, exit with WARNING status
Reviews (1) Add a Review
Slight mod
by prestonc, July 31, 2017
Hi, Hope you don't mind. I modified the code a bit.
Seemed that when everything was OK, Nagios failed display data.

#!/usr/bin/env python
# Check_log_files.py
# Author: Imran Ahmed
# Description: Nagios plugin that searches log files for a patterns loaded from a pattern file.
# Usage check_in_logfiles.py :
# First argument PATTERNFILE is a text file containing lines of the form:
# SEVERITY:PATTERN
# where *SEVERITY* is one of `IGNORE`, `WARNING`, `CRITICAL` and *PATTERN* is a
# regular expression.
# Second (and later) argument LOGFILE is the path to one (or more) log files.
# if a line is found that matches a *PATTERN* with *SEVERITY* `CRITICAL`,
# exit with CRITICAL status
# if a line is found that matches a *PATTERN* with *SEVERITY* `WARNING`,
# exit with WARNING status


import sys, re

def popLists(file):
with open(file, 'r') as myPatFile:
lines = myPatFile.readlines()
critical = []
warning = []
ok = []
for line in lines:
line = line.strip()
words = line.split(":")
if (words[0] =='CRITICAL'):
critical.append(words[1])
elif (words[0] =='WARNING'):
warning.append(words[1])
elif (words[0] =='OK'):
ok.append(words[1])
else:
print "Everything is cool!"
return critical, warning, ok



def main():
argc = len(sys.argv)
if argc main()
1 of 1 found this review helpful.
Helpful? Yes 1 No 0
Add a Review

You must be logged in to submit a review.

Thank you for your review!

Your review has been submitted and is pending approval.

Recommend

To:


From:


Thank you for your recommendation!

Your recommendation has been sent.

Project Stats
Rating
4.5 (2)
Favorites
0
Views
9,627