diff --git a/roles/nagios_server/files/nagios/plugins/check_datanommer_timesince.py b/roles/nagios_server/files/nagios/plugins/check_datanommer_timesince.py deleted file mode 100755 index dc7bacba4b..0000000000 --- a/roles/nagios_server/files/nagios/plugins/check_datanommer_timesince.py +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/python -""" NRPE check for datanommer/fedmsg health. -Given a category like 'bodhi', 'buildsys', or 'git', return an error if -datanommer hasn't seen a message of that type in such and such time. -You can alternatively provide a 'topic' which might look like -org.fedoraproject.prod.bodhi.update.comment. - -Requires: python-dateutil - -Usage: - - $ check_datanommer_timesince CATEGORY WARNING_THRESH CRITICAL_THRESH - -:Author: Ralph Bean - -""" -from __future__ import print_function - -from builtins import str -import dateutil.relativedelta -import subprocess -import sys -import json - - -def query_timesince(identifier): - # If it has a '.', then assume it is a topic. - if '.' in identifier: - cmd = 'datanommer-latest --topic %s --timesince' % identifier - else: - cmd = 'datanommer-latest --category %s --timesince' % identifier - sys.stderr.write("Running %r\n" % cmd) - process = subprocess.Popen(cmd.split(), shell=False, - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - stdout, stderr = process.communicate() - prefix, stdout = stdout.split("INFO] ", 1) - data = json.loads(stdout) - return float(data[0]) - - -def main(): - identifier, warning_threshold, critical_threshold = sys.argv[-3:] - timesince = query_timesince(identifier) - warning_threshold = int(warning_threshold) - critical_threshold = int(critical_threshold) - - time_strings = [] - rd = dateutil.relativedelta.relativedelta(seconds=timesince) - for denomination in ['years', 'months', 'days', 'hours', 'minutes', 'seconds']: - value = getattr(rd, denomination, 0) - if value: - time_strings.append("%d %s" % (value, denomination)) - - string = ", ".join(time_strings) - reason = "datanommer has not seen a %r message in %s" % (identifier, string) - - if timesince > critical_threshold: - print("CRIT: ", reason) - sys.exit(2) - - if timesince > warning_threshold: - print("WARN: ", reason) - sys.exit(1) - - print("OK: ", reason) - sys.exit(0) - - -if __name__ == '__main__': - try: - main() - except Exception as e: - print("UNKNOWN: ", str(e)) - sys.exit(3)