Module: check_mk
Branch: master
Commit: f8a14874e1822ede87a5a8d75d041b980c879bea
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f8a14874e1822e…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Aug 9 10:32:54 2011 +0200
Updated bug entries
---
.bugs/321 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/.bugs/321 b/.bugs/321
new file mode 100644
index 0000000..1643be1
--- /dev/null
+++ b/.bugs/321
@@ -0,0 +1,54 @@
+Title: Cache selected SNMP trees containing static data
+Component: core
+Benefit: 4
+State: open
+Cost: 4
+Date: 2011-08-09 10:19:02
+Class: feature
+
+The data we fetch via SNMP is sometimes very dynamic (such as
+network traffic counters) and sometimes very static (such as interface
+names, ifAdminState, descriptions of hardware sensors and others).
+We could introduce a special caching for those static trees.
+
+[1] The checks registers static trees:
+
+register_snmp_static_oid(".1.3.6.1.5.6.7.88.99")
+
+Or, alternatively:
+
+register_snmp_static_oid(".1.3.6.1.5.6.7.88.99", [ 1, 2, "4.55" ] )
+
+
+[2] This function simply puts those OIDs into a set([]).
+
+[3] The snmp walk function (and also get) first always check
+if the OID they should fetch is listed in the static oids.
+If that is the case, the caching mechanism is activated.
+First we check, if the cache file for that OID (on that
+host) is present. This is tmp/check_mk/cache/myhoist.1.3.6.1.5.6.7.88.99.
+If that file is present and its age is < snmp_cache_age, then
+we eval() that file, return it and are finished.
+The variable snmp_cache_age is meant in minutes and is preset to 10.
+It can be overridden in main.mk.
+
+If the cache file is not present, we proceed as usual, but create
+the file at the end by writing repr(...) of the result list into it.
+
+[4] In inventory mode, when only a single host is given, we do
+*not* use the cache. This is consistent with the way the current
+caches are used for inventory. If it is hard to transport that information
+to the lower level function, we could simply delete the cache files
+before doing the inventory.
+
+[5] Make sure, that cmk --flush also deletes those cache files.
+
+[6] Review *all* existing checks and register static OIDs where
+appropriate.
+
+[7] Update the documentation about writing checks. Add a section
+into the check guidelines. Declaration of static OIDs will be
+enforced by the guide from the next stable version after 1.1.11.
+
+[8] Try to measure the overal benefit on sime real live system
+with a lot of SNMP devices.