mikrotik_version per check_mk
Plugin per check_mk che verifica via SNMP la versione di routerOS e evidenzia se non è aggiornata.
Restituisce:
- Critical se esiste una versione disponibile (major e medium) versione installata
- Warning se differisce nella versione minor
- Ok se la versione installata è l’ultima disponibile sul sito Mikrotik
Download mikrotik_version-1.1.1.mkp
#!/usr/bin/python
# -*- encoding: utf-8; py-indent-offset: 4 -*-
#
# Vittore Zen - vittore [ @ ] zen.pn.it
# 2018.09.25
import requests
mikrotik_version_default = "6.0.0"
def inventory_mikrotik_version(info):
if len(info) > 0:
return [ ( None, "mikrotik_version_default") for x in info ]
def check_mikrotik_version(item, params, info):
r = requests.get('https://mikrotikdownload.s3.amazonaws.com/routeros/LATEST.6')
latest_with_build=r.text
current=info[0][0]
latest,build=latest_with_build.split(" ")
current_major,current_medium,current_minor=current.split(".")
if (latest.count('.')==1):
latest_major,latest_medium=latest.split(".")
latest_minor=0
else:
latest_major,latest_medium,latest_minor=latest.split(".")
critical=latest_major+"."+latest_medium+".0"
infotext = " - current: "+current+" avaible: "+latest
if current_major<latest_major:
return (2, "CRIT" + infotext)
if current_medium<latest_medium:
return (2, "CRIT" + infotext)
if current_medium == latest_medium and current_minor<latest_minor :
return (1, "WARN" + infotext)
return (0, "OK" + infotext)
check_info['mikrotik_version'] = {
"inventory_function" : inventory_mikrotik_version,
"check_function" : check_mikrotik_version,
"service_description" : "RouterOS version",
"has_perfdata" : False,
"group" : "mikrotik_version",
"snmp_info" : ( ".1.3.6.1.4.1.14988.1.1.4.4","0" )
}
ARTICOLI
web