Module: check_mk
Branch: master
Commit: 385d5eeb5f3c5a8cf73bc12ca2301a6370880678
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=385d5eeb5f3c5a…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Feb 14 12:40:50 2012 +0100
check_bi_local.py: support cookie based login
---
ChangeLog | 1 +
doc/treasures/check_bi_local.py | 32 ++++++++++++++++++++++++++------
2 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 0d28249..75803ad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -38,6 +38,7 @@
* Views: Only show the commands and row selection options for views where
commands are possible
* The login mask honors the default_language definition now
+ * check_bi_local.py: works now with cookie based authentication
1.1.13i3:
Core, Setup, etc.:
diff --git a/doc/treasures/check_bi_local.py b/doc/treasures/check_bi_local.py
index dffb84b..f0a783a 100755
--- a/doc/treasures/check_bi_local.py
+++ b/doc/treasures/check_bi_local.py
@@ -32,22 +32,42 @@
# 3. Add a correct url_prefix (OMD site and slash)
# user and password with read access to Multisite.
-user = "omdadmin"
-password = "omd"
url_prefix = "" # non-OMD installations
# url_prefix = "mysite/" # with OMD site name
+# HTTP Basic Auth
+user = "omdadmin"
+password = "omd"
+# Alternatively: Multisite Cookie authentication:
+# If you are using Cookie base authentication, then
+# login with your browser and get the cookie content
+# of auth_... from your browser settings and put
+# it here:
+# cookie = "omdadmin:1329218457.69:16b1d572fe059e00a89b7f24592733f2"
+
+
# Do not change anything below
import os, sys
-url =
'http://%s:%s@localhost/%scheck_mk/view.py?view_name=aggr_summary&output_format=python'
% \
- (user, password, url_prefix)
+if cookie:
+ logininfo = ""
+ opts = "-b 'auth_=%s'" % cookie
+else:
+ logininfo = "%s:%s@" % (user, password)
+ opts = ""
+
+url =
'http://%slocalhost/%scheck_mk/view.py?view_name=aggr_summary&output_format=python'
% \
+ (logininfo, url_prefix)
try:
- data = eval(os.popen("curl --silent '%s'" % url).read())
+ command = "curl --silent %s '%s'" % (opts, url)
+ output = os.popen(command).read()
+ data = eval(output)
except:
- sys.stderr.write("Invalid output from URL %s\n" % url)
+ sys.stderr.write("Invalid output from URL %s:\n" % url)
+ sys.stderr.write(output)
+ sys.stderr.write("Command was: %s\n" % command)
sys.exit(1)
states = {