Module: check_mk
Branch: master
Commit: 0bbff761d27d14ec01fb49899b153e82f8e80c18
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0bbff761d27d14…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Sat Nov 6 12:32:52 2010 +0100
--snmpwalk: do not translate, directly use numeric values
All checks are now only using numeric values. No mibs are
loaded in any case anyway.
---
ChangeLog | 2 ++
LIESMICH.zutun | 13 -------------
modules/check_mk.py | 7 +++----
modules/snmp.py | 12 ------------
4 files changed, 5 insertions(+), 29 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index cd99896..8be561a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -31,6 +31,8 @@
* Make sure, host has no duplicate service - this is possible e.g. by
monitoring via agent and snmp in parallel. duplicate services will
make Nagios reject the configuration.
+ * --snmpwalk: do not translate anymore, use numbers. All checks work
+ with numbers now anyway.
Checks & Agents:
* megaraid_pdisks: Using the real enclosure number as check item now
diff --git a/LIESMICH.zutun b/LIESMICH.zutun
index a4f1d1b..48f8913 100644
--- a/LIESMICH.zutun
+++ b/LIESMICH.zutun
@@ -63,10 +63,6 @@ springt dann immer nach ganz oben.
LARS: Im Opera wird sich die aktuelle Scroll-Position der Sidebar nicht korrekt gemerkt.
-SNMP-Checks: Es wurde berichtet, dass - wenn die Community falsch ist -
-der Check_MK gruen war, aber die Checks unknown. Sollte es dann nicht
-genau umgekehrt sein? Wird der Exit-code von snmpwalk ausgewertet?
-
LARS: Wenn man gerade die Kommandobox auf hat (oder den Filter?) dann sollte
kein Refresh stattfinden. Sonst wird man mitten im Tippen abgewürgt. Kann man
das mit Javascript hinbekommen? (kann Lars sich hier was überlegen? Man
@@ -84,10 +80,6 @@ getrennte Checks für Memory and Pagefile.
-------------------------------------------------------------------------------
ab 1.1.9i1:
--------------------------------------------------------------------------------
---snmpwalk: Braucht man das translaten noch? Ich arbeite doch jetzt eh
-nur noch ohne MIB-Dateien. Das würde das ganze deutlich vereinfachen!
-Direct rrd updates ganz entfernen.
-
IDEE: Scan-Modus: Wenn man einen Host per SNMP scannt und *keine*
Antwort kommt, dann probiert man einfach alle SNMP-Checks aus.
@@ -128,11 +120,6 @@ Multisite: Zeitanzeige der Downtimes (ende) zu ungenau. "in 6
hrs" ist
blöd. Auch bei Start "19 sec" ist dumm, hier wäre besser (vor 19 sec). Oder
bei Downtimes immer absolute Zeiten angeben? Evtl. Zusatzspalte der Duration.
-bulkwalk_hosts: Hier ist der Default None und nicht []. Problem dabei
-ist, dass dann ein += nicht funktioniert. Kann man nicht non_bulkwalk_hosts
-ganz rausschmeissen und bulkwalk_hosts auf [] setzen? Ausserdem gibt
-es ja fuer binaere Hostlisten das NEGATE (=> Doku). In 1.2 einbauen.
-
--------------------------------------------------------------------------------
IDEEN & VERBESSERUNGEN
--------------------------------------------------------------------------------
diff --git a/modules/check_mk.py b/modules/check_mk.py
index 1558007..b77d01f 100755
--- a/modules/check_mk.py
+++ b/modules/check_mk.py
@@ -2637,7 +2637,7 @@ def do_snmpwalk_on(hostname, filename):
if opt_verbose:
sys.stdout.write("%s:\n" % hostname)
ip = lookup_ipaddress(hostname)
- cmd = snmp_walk_command(hostname) + " -Ob -OQ %s " % ip
+ cmd = snmp_walk_command(hostname) + " -On -Ob -OQ %s " % ip
if opt_debug:
print 'Executing: %s' % cmd
out = file(filename, "w")
@@ -2665,9 +2665,8 @@ def do_snmpwalk_on(hostname, filename):
oid = oid[1:]
oids.append(oid)
values.append(value)
- numoids = snmptranslate(oids)
- for numoid, value in zip(numoids, values):
- out.write("%s %s\n" % (numoid, value.strip()))
+ for oid, value in zip(oids, values):
+ out.write("%s %s\n" % (oid, value.strip()))
count += 1
if opt_verbose:
sys.stdout.write("%d variables.\n" % count)
diff --git a/modules/snmp.py b/modules/snmp.py
index ea45083..47d9904 100644
--- a/modules/snmp.py
+++ b/modules/snmp.py
@@ -337,18 +337,6 @@ def check_snmp_fixed(item, targetvalue, info):
return (0, "OK - %s" % (value,))
return (3, "Missing item %s in SNMP data" % item)
-def snmptranslate(oids):
- numoids = []
- while len(oids) > 0:
- m = min(len(oids), 100)
- cmd = "snmptranslate -On %s 2>/dev/null" % "
".join(["'%s'" % o.strip() for o in oids[:m]])
- n = os.popen(cmd).read().split()
- if len(n) != m:
- raise MKGeneralException("snmptranslated lost %d out of %d oids" %
(m - len(n), m))
- oids = oids[m:]
- numoids += n
- return numoids
-
def get_stored_snmpwalk(hostname, oid):
if oid.startswith("."):
oid = oid[1:]