Module: check_mk
Branch: master
Commit: 4219e778b6f17a1eac51b5866ad8f97b539bc183
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=4219e778b6f17a…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Mon Oct 14 20:02:37 2013 +0200
inventory check of SNMP devices now does scan per default
Previously the inventory check for SNMP devices just detected
new items for already configured checks. Now it does the usual
SNMP scan that is also done during cmk -I. This can be switched
off the the old beviour with inventory_check_do_scan = False
and also via WATO
---
ChangeLog | 1 +
modules/check_mk.py | 16 ++++++++++++++--
web/plugins/wato/check_mk_configuration.py | 11 +++++++++++
3 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 332de69..46ba14f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@
* FIX: continue inventory, if one check does not support it
* FIX: fix configuration of explicit SNMP community, allow unicode
* FIX: avoid invalid cache of 2nd and up hosts in bulk inventory
+ * inventory check of SNMP devices now does scan per default (configurable)
Multisite:
* Speed-O-Meter: now measure only service checks. Host checks
diff --git a/modules/check_mk.py b/modules/check_mk.py
index ff09864..8211c1c 100755
--- a/modules/check_mk.py
+++ b/modules/check_mk.py
@@ -243,6 +243,7 @@ explicit_snmp_communities = {} # override the rule based configuration
# Inventory and inventory checks
inventory_check_interval = None # Nagios intervals (4h = 240)
inventory_check_severity = 1 # warning
+inventory_check_do_scan = True # include SNMP scan for SNMP devices
inventory_max_cachefile_age = 120 # secs.
always_cleanup_autochecks = True
@@ -2713,13 +2714,24 @@ def check_inventory(hostname):
is_snmp = is_snmp_host(hostname)
is_tcp = is_tcp_host(hostname)
check_table = get_check_table(hostname)
+ if is_snmp and inventory_check_do_scan:
+ try:
+ ipaddress = lookup_ipaddress(hostname)
+ snmp_checktypes = snmp_scan(hostname, ipaddress)
+ except:
+ if opt_debug:
+ raise
+ pass
+ else:
+ snmp_checktypes = []
+
hosts_checktypes = set([ ct for (ct, item), params in check_table.items() ])
try:
for ct in inventorable_checktypes("all"):
if check_uses_snmp(ct) and not is_snmp:
continue # Skip SNMP checks on non-SNMP hosts
- elif check_uses_snmp(ct) and ct not in hosts_checktypes:
- continue # Do not look for new SNMP services (maybe change in future)
+ elif check_uses_snmp(ct) and ct not in hosts_checktypes and ct not in snmp_checktypes:
+ continue # Only try positive scans and existing types
elif not check_uses_snmp(ct) and not is_tcp:
continue # Skip TCP checks on non-TCP hosts
diff --git a/web/plugins/wato/check_mk_configuration.py b/web/plugins/wato/check_mk_configuration.py
index 88b360a..057f89e 100644
--- a/web/plugins/wato/check_mk_configuration.py
+++ b/web/plugins/wato/check_mk_configuration.py
@@ -1013,6 +1013,17 @@ register_configvar(group,
(3, _("Unknown") ),
]))
+register_configvar(group,
+ "inventory_check_do_scan",
+ DropdownChoice(
+ title = _("Inventory check for SNMP devices"),
+ choices = [
+ ( True, _("Perform full SNMP scan always, detect new check types") ),
+ ( False, _("Just rely on existing check files, detect new items only") )
+ ]
+ ))
+
+
_if_portstate_choices = [
( '1', 'up(1)'),
( '2', 'down(2)'),
Module: check_mk
Branch: master
Commit: fb37535aeaf0ad7fa063b47d1db902e6f174183f
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=fb37535aeaf0ad…
Author: Götz Golla <gg(a)mathias-kettner.de>
Date: Mon Oct 14 17:19:21 2013 +0200
a few grammar fixes in help texts
---
web/htdocs/wato.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index e7fad09..b341690 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -12822,7 +12822,7 @@ def declare_bi_valuespecs(aggregation_rules):
CascadingDropdown(
title = _("Nodes to create:"),
help = _("When calling a rule you can use the place holder <tt>$1$</tt> "
- "in the rule arguments. This will be replaced by the actual host "
+ "in the rule arguments. It will be replaced by the actual host "
"names found by the search - one host name for each rule call."),
choices = subnode_choices,
),
@@ -12852,7 +12852,7 @@ def declare_bi_valuespecs(aggregation_rules):
CascadingDropdown(
title = _("Nodes to create:"),
help = _("When calling a rule you can use the place holder <tt>$1$</tt> "
- "in the rule arguments. This will be replaced by the actual host "
+ "in the rule arguments. It will be replaced by the actual host "
"names found by the search - one host name for each rule call. If you "
"have regular expression subgroups in the service pattern, then "
"the place holders <tt>$2$</tt> will represent the first group match, "
@@ -12986,7 +12986,7 @@ def mode_bi_edit_rule(phase):
( "title",
TextUnicode(
title = _("Rule Title"),
- help = _("The title of the BI nodes that are created from that rule. This will be "
+ help = _("The title of the BI nodes which are created from this rule. This will be "
"displayed as the name of the node in the BI view. For "
"top level nodes this title must be unique. You can insert "
"rule parameters like <tt>$FOO$</tt> or <tt>$BAR$</tt> here."),
@@ -13009,8 +13009,8 @@ def mode_bi_edit_rule(phase):
"be named like variables in programming languages. For example you can "
"make your rule have the two parameters <tt>HOST</tt> and <tt>INST</tt>. "
"When calling the rule - from an aggergation or a higher level rule - "
- "you will then specify two arbitrary values for that parameters. In the "
- "title of the rule, the host and service names you can then insert the "
+ "you can then specify two arbitrary values for these parameters. In the "
+ "title of the rule as well as the host and service names, you can insert the "
"actual value of the parameters by <tt>$HOST$</tt> and <tt>$INST$</tt> "
"(enclosed in dollar signs)."),
orientation = "horizontal",
Module: check_mk
Branch: master
Commit: 74e5dee03cb3606bc57714819c658c38d2dd55fe
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=74e5dee03cb360…
Author: Götz Golla <gg(a)mathias-kettner.de>
Date: Tue Oct 1 18:29:19 2013 +0200
man page for new active http check testing forms submission
---
checkman/check_form_submit | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/checkman/check_form_submit b/checkman/check_form_submit
new file mode 100644
index 0000000..84ed9a0
--- /dev/null
+++ b/checkman/check_form_submit
@@ -0,0 +1,36 @@
+title: HTTP Form Check
+agents: active
+catalog: agentless
+license: GPL
+distribution: check_mk
+description:
+ This check performs HTTP requests with some advanced features like
+ a) Detecting, populating and submitting HTML forms
+ b) Accepts and uses cookies
+ c) Follos HTTP redirects
+ d) Extends HTTP headers
+
+ Several hosts may be specified at once. For this case warning an critical levels may
+ be given and are applied to the number of successful responses.
+
+ This check can be configured by WATO.
+
+ See the {usage} page of the check for details about the invocation on the command line.
+
+Examples:
+ Call the page test.php, find the single form on that page and
+ submit it with default values:
+
+ ./check_form_submit -I localhost -u /test.php
+
+ Same as above, but expect the string "Hello" in the response
+ of the form:
+
+ ./check_form_submit -I localhost -u /test.php -e "Hello"
+
+ Login as omdadmin with password omd, in the OMD site named /event,
+ let the login redirect to the wato.py and expect the string WATO
+ in this response:
+
+ ./check_form_submit -I localhost -u /event -q '_origtarget=wato.py&_username=omdadmin&_password=omd' -e 'WATO'
+
Module: check_mk
Branch: master
Commit: 4c00c754845c2d46003ca016c8cdccad655fb543
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=4c00c754845c2d…
Author: Götz Golla <gg(a)mathias-kettner.de>
Date: Tue Oct 1 18:29:01 2013 +0200
man page for new active sql check
---
checkman/check_sql | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/checkman/check_sql b/checkman/check_sql
index a84def1..e157607 100644
--- a/checkman/check_sql
+++ b/checkman/check_sql
@@ -7,12 +7,12 @@ description:
This is an active check that connects to a database server, sends an SQL
statement to that server, and checks for the following result:
- The query must return three columns, a number, a text, and
+ The query must return three columns, a number, a text, and optional
performance data in the third column.
If upper and lower levels are given, the number is being checked
against these levels and the according state is being computed.
Otherwise the number ist treated as a Nagios state (0,1,2,3).
- State, text and the performance data are being returned
+ State, text and the performance data are being returned.
The check works with MySQL, Postgresql and Oracle databases using the
python drivers MySQLdb, psycopg2 and cx_Oracle. For cx_Oracle the
@@ -20,5 +20,9 @@ description:
LD_LIBRARY_PATH needs to be modified to point to the libclntsh.so of
that package.
+ This check can be configured by WATO.
+
+ See the {usage} page of the check for details about the invocation on the command line.
+
perfdata:
- One value: the third field of the database response.
+ Optionally, one value: the third field of the database response.