Skip to content

Commit ca7e961

Browse files
author
A. Täffner
committed
began implementing nagios connectors (Part 1: Viewing Nagios Info in ISPC)
1 parent ec1ea49 commit ca7e961

File tree

3 files changed

+99
-0
lines changed

3 files changed

+99
-0
lines changed

interface/web/monitor/lib/module.conf.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,11 @@
121121
'target' => 'content',
122122
'link' => 'monitor/show_data.php?type=services',
123123
'html_id' => 'services');
124+
125+
$items[] = array( 'title' => "Show Nagios/Check_MK",
126+
'target' => 'content',
127+
'link' => 'monitor/show_nagios.php',
128+
'html_id' => 'nagios');
124129

125130
$items[] = array( 'title' => "Show Monit",
126131
'target' => 'content',
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
<?php
2+
3+
/*
4+
Copyright (c) 2007-2008, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com
5+
All rights reserved.
6+
7+
Redistribution and use in source and binary forms, with or without modification,
8+
are permitted provided that the following conditions are met:
9+
10+
* Redistributions of source code must retain the above copyright notice,
11+
this list of conditions and the following disclaimer.
12+
* Redistributions in binary form must reproduce the above copyright notice,
13+
this list of conditions and the following disclaimer in the documentation
14+
and/or other materials provided with the distribution.
15+
* Neither the name of ISPConfig nor the names of its contributors
16+
may be used to endorse or promote products derived from this software without
17+
specific prior written permission.
18+
19+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22+
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26+
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
*/
30+
31+
require_once '../../lib/config.inc.php';
32+
require_once '../../lib/app.inc.php';
33+
34+
//* Check permissions for module
35+
$app->auth->check_module_permissions('monitor');
36+
37+
$app->uses('tools_monitor');
38+
39+
// Loading the template
40+
$app->uses('tpl');
41+
$app->tpl->newTemplate("form.tpl.htm");
42+
$app->tpl->setInclude('content_tpl', 'templates/show_nagios.htm');
43+
44+
$monTransSrv = $app->lng("monitor_settings_server_txt");
45+
$title = 'Nagios ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')';
46+
47+
$app->tpl->setVar("list_head_txt", $title);
48+
49+
if($_SESSION["s"]["user"]["typ"] == 'admin'){
50+
51+
$app->uses('getconf');
52+
$server_config = $app->getconf->get_server_config($_SESSION['monitor']['server_id'], 'server');
53+
54+
$nagios_url = trim($server_config['nagios_url']);
55+
if($nagios_url != ''){
56+
$nagios_url = str_replace('[SERVERNAME]', $_SESSION['monitor']['server_name'], $nagios_url);
57+
$nagios_user = trim($server_config['nagios_user']);
58+
$nagios_password = trim($server_config['nagios_password']);
59+
$auth_string = '';
60+
if($nagios_user != ''){
61+
$auth_string = rawurlencode($nagios_user);
62+
}
63+
if($nagios_user != '' && $nagios_password != ''){
64+
$auth_string .= ':'.rawurlencode($nagios_password);
65+
}
66+
if($auth_string != '') $auth_string .= '@';
67+
68+
$nagios_url_parts = parse_url($nagios_url);
69+
70+
$nagios_url = $nagios_url_parts['scheme'].'://'.$auth_string.$nagios_url_parts['host'].(isset($nagios_url_parts['port']) ? ':' . $nagios_url_parts['port'] : '').(isset($nagios_url_parts['path']) ? $nagios_url_parts['path'] : '').(isset($nagios_url_parts['query']) ? '?' . $nagios_url_parts['query'] : '').(isset($nagios_url_parts['fragment']) ? '#' . $nagios_url_parts['fragment'] : '');
71+
72+
$app->tpl->setVar("nagios_url", $nagios_url);
73+
} else {
74+
$app->tpl->setVar("no_nagios_url_defined_txt", $app->lng("no_nagios_url_defined_txt"));
75+
}
76+
} else {
77+
$app->tpl->setVar("no_permissions_to_view_nagios_txt", $app->lng("no_permissions_to_view_nagios_txt"));
78+
}
79+
80+
$app->tpl_defaults();
81+
$app->tpl->pparse();
82+
?>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<div class='page-header'>
2+
<h1><tmpl_var name="list_head_txt"></h1>
3+
</div>
4+
<p><tmpl_var name="list_desc_txt"></p>
5+
6+
<div class="panel panel_system">
7+
<tmpl_if name='nagios_url'>
8+
<iframe src="{tmpl_var name='nagios_url'}" width="100%" height="1000" frameborder="0" style="overflow:visible;"></iframe>
9+
<tmpl_else>
10+
<div id="errorMsg"><h3>ERROR</h3><ol><li>{tmpl_var name="no_nagios_url_defined_txt"} {tmpl_var name="no_permissions_to_view_nagios_txt"}<br></li></ol></div>
11+
</tmpl_if>
12+
</div>

0 commit comments

Comments
 (0)