Module: check_mk
Branch: master
Commit: ffe92bd943a13fdb18af290a841844e0231a6840
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ffe92bd943a13f…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Mar 30 17:37:48 2011 +0200
Agent simulator: also work in simulation mode
---
modules/check_mk_base.py | 38 ++++++++++++++++++--------------------
1 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/modules/check_mk_base.py b/modules/check_mk_base.py
index 9667140..31c0aba 100755
--- a/modules/check_mk_base.py
+++ b/modules/check_mk_base.py
@@ -358,9 +358,6 @@ def get_realhost_info(hostname, ipaddress, checkname, max_cache_age):
elif len(output) < 16:
raise MKAgentError("Too short output from agent: '%s'" % output)
- if agent_simulator:
- output = agent_simulator_process(output)
-
lines = [ l.strip() for l in output.split('\n') ]
info = parse_info(lines)
store_cached_hostinfo(hostname, info)
@@ -414,25 +411,26 @@ def write_cache_file(relpath, output):
# In that case it will be looked up if needed. Also caching will
# be handled here
def get_agent_info(hostname, ipaddress, max_cache_age):
- result = read_cache_file(hostname, max_cache_age)
- if result:
- return result
-
- # Try to contact every host only once
- if hostname in g_broken_agent_hosts:
- raise MKAgentError("")
+ output = read_cache_file(hostname, max_cache_age)
+ if not output:
+ # Try to contact every host only once
+ if hostname in g_broken_agent_hosts:
+ raise MKAgentError("")
+
+ # If the host ist listed in datasource_programs the data from
+ # that host is retrieved by calling an external program (such
+ # as ssh or rsy) instead of a TCP connect.
+ commandline = get_datasource_program(hostname, ipaddress)
+ if commandline:
+ output = get_agent_info_program(commandline)
+ else:
+ output = get_agent_info_tcp(hostname, ipaddress)
- # If the host ist listed in datasource_programs the data from
- # that host is retrieved by calling an external program (such
- # as ssh or rsy) instead of a TCP connect.
- commandline = get_datasource_program(hostname, ipaddress)
- if commandline:
- output = get_agent_info_program(commandline)
- else:
- output = get_agent_info_tcp(hostname, ipaddress)
+ # Got new data? Write to cache file
+ write_cache_file(hostname, output)
- # Got new data? Write to cache file
- write_cache_file(hostname, output)
+ if agent_simulator:
+ output = agent_simulator_process(output)
return output
Module: check_mk
Branch: master
Commit: ec08b644bc4dbe5b04c7e5e19f9400581c51c016
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ec08b644bc4dbe…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Fri Mar 25 11:15:13 2011 +0100
FIX: mk_logwatch: dont use readlines(), save RAM
---
ChangeLog | 1 +
agents/plugins/mk_logwatch | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ed30b95..c4a1994 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -33,6 +33,7 @@
* FIX: cmctc: add scan function
* FIX: ucd_cpu_load and ucd_cpu_util: make scan function find Rittal
* FIX: ucd_cpu_util: fix check in case of missing hi, si and st
+ * FIX: mk_logwatch: improve implementation in order to save RAM
* printer_supply: Changed order of tests. When a printer reports -3 this
is used before the check if maxlevel is -2.
* printer_supply: Skipping inventory of supplies which have current value
diff --git a/agents/plugins/mk_logwatch b/agents/plugins/mk_logwatch
index 567aae7..462054c 100755
--- a/agents/plugins/mk_logwatch
+++ b/agents/plugins/mk_logwatch
@@ -102,7 +102,7 @@ def read_config():
# /var/test/x12134.log|12345|32444355
def read_status():
status = {}
- for line in file(status_filename).readlines():
+ for line in file(status_filename):
# TODO: Remove variants with spaces. rsplit is
# not portale. split fails if logfilename contains
# spaces
@@ -179,7 +179,7 @@ def process_logfile(logfile, patterns):
f = os.fdopen(fl)
worst = 0
outputtxt = ""
- for line in f.readlines():
+ for line in f:
level = "."
for lev, pattern in patterns:
if pattern.search(line[:-1]):
Module: check_mk
Branch: master
Commit: d2675e506d767846441a1be2319f3fba6506932d
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=d2675e506d7678…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Mar 25 09:42:59 2011 +0100
Updated bug entries
---
.bugs/184 | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/.bugs/184 b/.bugs/184
new file mode 100644
index 0000000..8336635
--- /dev/null
+++ b/.bugs/184
@@ -0,0 +1,18 @@
+Title: if/if64 problem when using description as item when having duplicate descr
+Component: checks
+Benefit: 6
+State: open
+Cost: 3
+Date: 2011-03-25 09:39:07
+Class: bug
+
+Der if/if64 Check unterschlägt doppelte Interfaces, wenn ein Host mehrere Interfaces
+mit dem gleichen Namen hat, sobald man die Description als Item benutzt.
+
+Man kann die Description kurzzeitig für diesen Host deaktivieren und die Inventur starten,
+dann werden alle Interfaces gefunden. Allerdings gehen die Dienste wieder verloren, wenn man
+später eine re-Inventur macht mit aktivierten Descriptions.
+
+Eventuell muss man das in der Inventur erkennen und dann die Interfaces selbs durchnummerieren.
+
+LM: Ich habe einen Dump von einem Beispiel-System.
Module: check_mk
Branch: master
Commit: 55dce37b26fd73877c8eacac19875dd6f72a2479
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=55dce37b26fd73…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Fri Mar 25 08:22:20 2011 +0100
Call snmp(bulk)walk always with the option -Cc
---
ChangeLog | 2 ++
modules/check_mk.py | 2 +-
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b5ee877..ed30b95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,8 @@
CPU ressources)
* Agent simulation mode (for internal use and check development)
* Call snmpgetnext with the option -Cf (fixes some client errors)
+ * Call snmp(bulk)walk always with the option -Cc (fixes problems in some
+ cases where OIDs are missing)
Multisite:
* FIX: custom_style_sheet now also honored by sidebar
diff --git a/modules/check_mk.py b/modules/check_mk.py
index d80b9c9..ad6aaa0 100755
--- a/modules/check_mk.py
+++ b/modules/check_mk.py
@@ -519,7 +519,7 @@ def aggregated_service_name(hostname, servicedesc):
# options for authentication. This handles communities and
# authentication for SNMP V3. Also bulkwalk hosts
def snmp_walk_command(hostname):
- return snmp_base_command('walk', hostname)
+ return snmp_base_command('walk', hostname) + " -Cc"
# Constructs the basic snmp commands for a host with all important information
# like the commandname, SNMP version and credentials.
Module: check_mk
Branch: master
Commit: ca8b5074a2745c7aad6c9d57769f41cc8b1e9b94
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ca8b5074a2745c…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Fri Mar 25 08:10:43 2011 +0100
Cleaned up directories
---
BI.fehlt | 14 +++++++++++---
figheader => doc/helpers/figheader | 0
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/BI.fehlt b/BI.fehlt
index 092d448..96efbe2 100644
--- a/BI.fehlt
+++ b/BI.fehlt
@@ -20,9 +20,6 @@ Modi, untern denen eine Aggr berechnet werden kann:
* mit 'force worst'
* Downtimeanalyse (Downtime wie crit behandeln)
-Pending muss korrekt behandelt werden. Am einfachsten wäre ein
-eigener BI-Status dafür.
-
Berechtigungen für:
Aggregationen ansehen generell??
Assume state ausführen
@@ -45,9 +42,20 @@ FEATURE: Icon zum Assumen soll auch bei den normalen Icons erscheinen, wenn:
* Ãœberhaupt Aggregationen definiert sind (len(config.aggregations) > 0)
* Man das Recht dazu hat, was zu assumen
* Die (neue) display option dafür eingeschaltet ist.
+ * Man könnte auch anstelle der jetzt vorhandenen Legobausteine das Assume-Icon
+ malen?
FEATURE: Downtimes: sollte man hierfür nicht auch einen BI-Status machen?
Oder muss diese Information separat noch oben driften?
+Wenn ja, dann muss aber klar sein, ob der Status - wenn man die Downtimes
+ausklammern - grün wäre? Besser ist es so:
+Wenn das Aggregat rot ist gilt es dann als "in downtime", wenn alle Zustände,
+die zum rot beitragen, selbst in Downtime sind. Solange die Downtimes nur
+Komponenten betreffen, die nicht den kritischen Status hervorrufen,
+gilt es nicht als in Downtime?
+
+Das Aggregat gilt als "in downtime", wenn
+
FEATURE: Acknowledgements: Sollen wir diese auch nach oben leiten?
diff --git a/figheader b/doc/helpers/figheader
similarity index 100%
rename from figheader
rename to doc/helpers/figheader