1
0
Files
nagios-plugins/check_osdb.py
2021-05-01 16:27:56 +02:00

50 lines
1.2 KiB
Python
Executable File

#!/usr/bin/python3
#coding=utf-8
import subprocess
import argparse
import sys
recognized = [ "debian", "arch" ]
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--verbose", "-v", action="store_true")
parser.add_argument("--expect")
args = parser.parse_args()
quiet = not args.verbose
try:
with open("/etc/os-release") as f:
lines = f.read().splitlines()
except Exception as e:
print(f"UNKNOWN - {e}")
sys.exit(3)
detected_os = None
like_os = None
for line in lines:
if line.startswith("ID_LIKE="):
for os in recognized:
if os in line:
like_os = os
if line.startswith("ID="):
for os in recognized:
if os in line:
detected_os = os
if not detected_os:
if like_os:
detected_os = like_os
else:
detected_os = "unknown"
if detected_os == args.expect:
print("OK - OS matches")
sys.exit(0)
if args.expect != detected_os:
print(f"CRITICAL - MISSMATCH DETECTED {detected_os} != {args.expect}")
sys.exit(2)