Dark mode.
This commit is contained in:
parent
03bd251c27
commit
367a5a676b
|
@ -244,6 +244,8 @@ RUN pip install speedtest-cli
|
||||||
|
|
||||||
#COPY overlay/etc ${NAGIOS_HOME}/etc
|
#COPY overlay/etc ${NAGIOS_HOME}/etc
|
||||||
COPY overlay/opt/nagios/libexec/* ${NAGIOS_HOME}/libexec/
|
COPY overlay/opt/nagios/libexec/* ${NAGIOS_HOME}/libexec/
|
||||||
|
COPY overlay/opt/nagios/share/stylesheets/* ${NAGIOS_HOME}/share/stylesheets/
|
||||||
|
COPY overlay/opt/nagios/share/index.php ${NAGIOS_HOME}/share/
|
||||||
#COPY overlay/usr ${NAGIOS_HOME}/usr
|
#COPY overlay/usr ${NAGIOS_HOME}/usr
|
||||||
|
|
||||||
RUN cd /opt/nagios/etc/objects && \
|
RUN cd /opt/nagios/etc/objects && \
|
||||||
|
|
|
@ -12,7 +12,7 @@ services:
|
||||||
build:
|
build:
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: nagios
|
container_name: nagios
|
||||||
image: docker-registry1.in.thelinuxpro.net:5000/tlp/nagios:241230.0.10
|
image: docker-registry1.in.thelinuxpro.net:5000/tlp/nagios:241230.0.11
|
||||||
networks:
|
networks:
|
||||||
infra_dev_net:
|
infra_dev_net:
|
||||||
ipv4_address: 10.99.23.36
|
ipv4_address: 10.99.23.36
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
<?php
|
||||||
|
// Allow specifying main window URL for permalinks, etc.
|
||||||
|
$url = 'main.php';
|
||||||
|
|
||||||
|
if ("no" == "yes" && isset($_GET['corewindow'])) {
|
||||||
|
|
||||||
|
// The default window url may have been overridden with a permalink...
|
||||||
|
// Parse the URL and remove permalink option from base.
|
||||||
|
$a = parse_url($_GET['corewindow']);
|
||||||
|
|
||||||
|
// Build the base url.
|
||||||
|
$url = htmlentities($a['path']).'?';
|
||||||
|
$url = (isset($a['host'])) ? $a['scheme'].'://'.$a['host'].$url : '/'.$url;
|
||||||
|
|
||||||
|
$query = isset($a['query']) ? $a['query'] : '';
|
||||||
|
$pairs = explode('&', $query);
|
||||||
|
foreach ($pairs as $pair) {
|
||||||
|
$v = explode('=', $pair);
|
||||||
|
if (is_array($v)) {
|
||||||
|
$key = urlencode($v[0]);
|
||||||
|
$val = urlencode(isset($v[1]) ? $v[1] : '');
|
||||||
|
$url .= "&$key=$val";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (preg_match("/^http:\/\/|^https:\/\/|^\//", $url) != 1)
|
||||||
|
$url = "main.php";
|
||||||
|
}
|
||||||
|
|
||||||
|
$this_year = date("Y");
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
|
||||||
|
<title>Nagios: <?php echo $_SERVER['SERVER_NAME']; ?></title>
|
||||||
|
<link rel="shortcut icon" href="images/favicon.ico" type="image/ico">
|
||||||
|
<link rel='stylesheet' type='text/css' href='/nagios/stylesheets/common.css'>
|
||||||
|
|
||||||
|
<script LANGUAGE="javascript">
|
||||||
|
var n = Math.round(Math.random() * 10000000000);
|
||||||
|
document.cookie = "NagFormId=" + n.toString(16);
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
|
||||||
|
::-webkit-scrollbar { display: none; }
|
||||||
|
html {
|
||||||
|
scrollbar-width: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#container {
|
||||||
|
position: absolute;
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
div.column {
|
||||||
|
display: flex;
|
||||||
|
height: 100%;
|
||||||
|
min-height: -webkit-fill-available;
|
||||||
|
min-height: -moz-available;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
div.left {
|
||||||
|
float: left;
|
||||||
|
min-width: 200px;
|
||||||
|
overflow: hidden;
|
||||||
|
border-right: 1px solid var(--color-background-darker);
|
||||||
|
}
|
||||||
|
div.right {
|
||||||
|
width: 100%
|
||||||
|
max-width: -webkit-fill-available;
|
||||||
|
max-width: -moz-available;
|
||||||
|
}
|
||||||
|
|
||||||
|
iframe {
|
||||||
|
border: none;
|
||||||
|
min-height: 100%;
|
||||||
|
height: -webkit-fill-available;
|
||||||
|
height: -moz-available;
|
||||||
|
}
|
||||||
|
div.right iframe {
|
||||||
|
width: -webkit-fill-available;
|
||||||
|
width: -moz-available;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="container" class="">
|
||||||
|
<div class="column left" >
|
||||||
|
<iframe src="side.php" name="side"></iframe>
|
||||||
|
</div>
|
||||||
|
<div class="column right" >
|
||||||
|
<iframe src="<?php echo $url; ?>" name="main"></iframe>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.avail { }
|
||||||
|
|
||||||
|
.data { font-size: 9pt; }
|
||||||
|
|
||||||
|
.hostUP { background-color: var(--color-ok); padding: 0 4 0 4; }
|
||||||
|
.hostDOWN { background-color: var(--color-problem); padding: 0 4 0 4; }
|
||||||
|
.hostUNREACHABLE { background-color: var(--color-unknown); padding: 0 4 0 4; }
|
||||||
|
|
||||||
|
.serviceOK { background-color: var(--color-ok); padding: 0 4 0 4; }
|
||||||
|
.serviceWARNING { background-color: var(--color-warning); padding: 0 4 0 4; }
|
||||||
|
.serviceUNKNOWN { background-color: var(--color-unknown); padding: 0 4 0 4; }
|
||||||
|
.serviceCRITICAL { background-color: var(--color-problem); padding: 0 4 0 4; }
|
||||||
|
|
||||||
|
table.logEntries { font-size: 9pt; padding: 5 0 0 0; }
|
||||||
|
th.logEntries { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; }
|
||||||
|
.logEntriesOdd { background-color: #e7e7e7; padding: 0 4 0 4; }
|
||||||
|
.logEntriesEven { background-color: #f4f2f2; padding: 0 4 0 4; }
|
||||||
|
|
||||||
|
.logEntriesOK { background-color: var(--color-ok); padding: 0 4 0 4; }
|
||||||
|
.logEntriesUNKNOWN { background-color: var(--color-unknown); padding: 0 4 0 4; }
|
||||||
|
.logEntriesWARNING { background-color: var(--color-warning); padding: 0 4 0 4; }
|
||||||
|
.logEntriesCRITICAL { background-color: var(--color-problem); padding: 0 4 0 4; }
|
||||||
|
.logEntriesUP { background-color: var(--color-ok); padding: 0 4 0 4; }
|
||||||
|
.logEntriesDOWN { background-color: var(--color-problem); padding: 0 4 0 4; }
|
||||||
|
.logEntriesUNREACHABLE { background-color: var(--color-unknown); padding: 0 4 0 4; }
|
||||||
|
.logEntriesINDETERMINATE { background-color: var(--color-unimportant); padding: 0 4 0 4; }
|
||||||
|
|
||||||
|
.infoMessage { font-size: 9pt; }
|
|
@ -0,0 +1,27 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.extinfo { }
|
||||||
|
|
||||||
|
.Title { font-size: 12pt; text-align: center; font-weight: bold; }
|
||||||
|
.SectionTitle { font-size: 12pt; text-align: center; font-weight: bold; }
|
||||||
|
|
||||||
|
.DynamicData { font-size: 10pt; padding: 2; }
|
||||||
|
.StaticData { font-size: 10pt; padding: 2; }
|
||||||
|
.TableHeader { font-size: 10pt; background-color: #d0d0d0; font-weight: bold; }
|
||||||
|
|
||||||
|
.Item { font-size: 10pt; background-color: #f4f2f2; font-weight: bold; }
|
||||||
|
.DataSource { font-size: 10pt; background-color: #f4f2f2; }
|
||||||
|
.Number { font-size: 10pt; background-color: #f4f2f2; }
|
||||||
|
|
||||||
|
.Value { font-size: 10pt; background-color: #f4f2f2; font-weight: bold; }
|
||||||
|
.ValueOk { font-size: 10pt; background-color: var(--color-ok); font-weight: bold; }
|
||||||
|
.ValueError { font-size: 10pt; background-color: var(--color-problem); font-weight: bold; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.cmd { }
|
||||||
|
|
||||||
|
.cmdType { font-size: 12pt; font-weight: bold; color: var(--color-danger-red); padding-bottom: 40; }
|
||||||
|
.commandDescription { font-size: 9pt; background-color: --var(--color-background-darker); border: 1px solid var(--color-border-grey); margin: 4 0 0 0; padding: 4 4 4 4; }
|
||||||
|
.descriptionTitle { font-size: 11pt; font-weight: bold; }
|
||||||
|
.infoMessage {
|
||||||
|
font-size: 9pt;
|
||||||
|
background-color: var(--color-sunbeam-yellow);
|
||||||
|
border: 1px solid var(--color-border-grey);
|
||||||
|
color: var(--color-alt-text);
|
||||||
|
margin: 40 20% 0 20%;
|
||||||
|
padding: 5 5 5 5;
|
||||||
|
}
|
||||||
|
.infoMessage a, .infoMessage a:visited { color: var(--color-plasma-blue) !important; }
|
||||||
|
.optBox { font-size: 9pt; padding: 5 5 5 5; }
|
||||||
|
.optbox td { padding: 2 0 2 4; }
|
||||||
|
input[type="text"] { background-color: var(--color-cardboard-gray); }
|
|
@ -0,0 +1,456 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* version: 0.7 */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
/* thanks to jacob.laack for nagiosneat */
|
||||||
|
/* thanks to nagios authors for a solid base */
|
||||||
|
|
||||||
|
/* these are reference colors for the color scheme:
|
||||||
|
|
||||||
|
color dark light border
|
||||||
|
OK: green 88d066 cce8cc 777777
|
||||||
|
WARNING: yellow ffff00 feffc1 777777
|
||||||
|
CRITICAL: red f88888 ffdddd 777777
|
||||||
|
PENDING: grey acacac fefefe 777777
|
||||||
|
UNKNOWN: orange ffbb55 ffddaa 777777
|
||||||
|
UNREACHABLE: orange ffbb55 ffddaa 777777
|
||||||
|
INDETERMINATE: purple ddccff 777777
|
||||||
|
PROBLEMS: blue aaccff 777777
|
||||||
|
|
||||||
|
ACK: aaaaaa
|
||||||
|
CUSTOM: 778899
|
||||||
|
|
||||||
|
important: blue 99aacc 777777
|
||||||
|
not important: blue aaccff 777777
|
||||||
|
|
||||||
|
table header: d0d0d0
|
||||||
|
odd rows: e7e7e7
|
||||||
|
even rows: f4f2f2
|
||||||
|
|
||||||
|
titles: 12pt
|
||||||
|
body: 10pt
|
||||||
|
table headings: 9pt
|
||||||
|
controls: 9pt
|
||||||
|
data in tables: 8pt or 9pt
|
||||||
|
*/
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--color-paper-white: rgba(252, 252, 252, 1);
|
||||||
|
--color-cardboard-gray: rgba(239, 240, 241, 1);
|
||||||
|
--color-charcoal-gray: rgba(49, 54, 59, 1);
|
||||||
|
--color-shade-black: rgba(35, 38, 41, 1);
|
||||||
|
--color-border-grey: rgba(103, 107, 110, 1);
|
||||||
|
--color-medium-grey: #555;
|
||||||
|
--color-abyss-blue: rgba(41, 128, 185, 1);
|
||||||
|
--color-dark-blue: #1d14ff;
|
||||||
|
--color-coastal-fog: rgba(127, 140, 141, 1);
|
||||||
|
--color-alternate-gray: rgba(189, 195, 199, 1);
|
||||||
|
--color-hover-blue: rgba(61, 174, 233, 0.4);
|
||||||
|
--color-plasma-blue: rgba(61, 174, 233, 1);
|
||||||
|
--color-icon-red: rgba(218, 68, 83, 1);
|
||||||
|
--color-danger-red: rgba(237, 21, 21, 1);
|
||||||
|
--color-dark-red: #810000;
|
||||||
|
--color-beware-orange: rgba(246, 116, 0, 1);
|
||||||
|
--color-icon-yellow: rgba(253, 188, 75, 1);
|
||||||
|
--color-sunbeam-yellow: rgba(201, 206, 59, 1);
|
||||||
|
--color-sunset-yellow: #b2b600;
|
||||||
|
--color-verdant-green: rgba(17, 209, 22, 1);
|
||||||
|
--color-dark-green: #006a00;
|
||||||
|
|
||||||
|
--color-main-background: var(--color-charcoal-gray);
|
||||||
|
--color-background-dark: var(--color-main-background);
|
||||||
|
--color-background-darker: var(--color-shade-black);
|
||||||
|
--color-main-text: var(--color-cardboard-gray);
|
||||||
|
--color-alt-text: var(--color-shade-black);
|
||||||
|
--color-text-light: var(--color-main-text);
|
||||||
|
--color-primary: var(--color-plasma-blue);
|
||||||
|
--color-primary-light: var(--color-primary);
|
||||||
|
--color-primary-text: var(--color-paper-white);
|
||||||
|
|
||||||
|
--color-ok: var(--color-dark-green);
|
||||||
|
--color-pending: var(--color-plasma-blue);
|
||||||
|
--color-unknown: var(--color-beware-orange);
|
||||||
|
--color-warning: var(--color-sunset-yellow);
|
||||||
|
--color-problem: var(--color-danger-red);
|
||||||
|
--color-unimportant: var(--color-abyss-blue);
|
||||||
|
--color-custom: var(--color-abyss-blue);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scrollbar Style */
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 10px;
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background: var(--color-main-background);
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background: var(--color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0em;
|
||||||
|
margin: 0.8em 0.8em 2em 0.8em;
|
||||||
|
color: var(--color-main-text);
|
||||||
|
background-color: var(--color-main-background);
|
||||||
|
font-family: arial, verdana, serif;
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border: none;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
th, td {
|
||||||
|
border: none;
|
||||||
|
padding: 0 2px 0 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
form {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
a img {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--color-main-text);
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
color: var(--color-text-light);
|
||||||
|
}
|
||||||
|
a:active {
|
||||||
|
color: var(--color-text-light);
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
color: var(--color-main-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
div.navbarlogo {
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
}
|
||||||
|
div.navsection {
|
||||||
|
margin: 5px 0 10px 0;
|
||||||
|
}
|
||||||
|
div.navsectiontitle {
|
||||||
|
font-size: 9pt;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: var(--color-background-darker);
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.navsectionlinks {
|
||||||
|
margin: 3px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.navsectionlinks {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
ul.navsectionlinks li { }
|
||||||
|
ul.navsectionlinks li a {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 9pt;
|
||||||
|
text-decoration: none;
|
||||||
|
padding: 0 0 0 15px;
|
||||||
|
/* background: transparent url(../images/greendot.gif) no-repeat scroll 0 0; */
|
||||||
|
|
||||||
|
}
|
||||||
|
ul.navsectionlinks li ul {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0 0 0 30px;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
ul.navsectionlinks li ul li { }
|
||||||
|
ul.navsectionlinks li a:hover {
|
||||||
|
/* background: transparent url(../images/orangedot.gif) no-repeat scroll 0 0; */
|
||||||
|
color: #8391cd;
|
||||||
|
}
|
||||||
|
ul.navsectionlinks li ul li a {
|
||||||
|
background: none;
|
||||||
|
padding: 0;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
ul.navsectionlinks li ul li a:hover {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
ul.navsectionlinks li ul li ul {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0 0 0 15px;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.navsectionheader {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
div.navsectionheader ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
div.navsectionheader ul li {
|
||||||
|
font-size: 9pt;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 0 0 0 15px;
|
||||||
|
}
|
||||||
|
div.navsectionheader ul li ul li {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbarsearch {
|
||||||
|
margin: 5px 0 0 0;
|
||||||
|
}
|
||||||
|
.navbarsearch fieldset {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbarsearch fieldset legend {
|
||||||
|
font-size: 8pt;
|
||||||
|
}
|
||||||
|
.navbarsearch input {
|
||||||
|
font-size: 9pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#splashpage {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#mainbrandsplash {
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 0 0 35px 0;
|
||||||
|
}
|
||||||
|
#maincopy {
|
||||||
|
margin: 0 0 15px 0;
|
||||||
|
}
|
||||||
|
#currentversioninfo {
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
#currentversioninfo .product {
|
||||||
|
font-size: 14pt;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
#currentversioninfo .version {
|
||||||
|
font-size: 14pt;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
#currentversioninfo .releasedate {
|
||||||
|
font-size: 11pt;
|
||||||
|
margin: 5px 0 0 0;
|
||||||
|
}
|
||||||
|
#currentversioninfo .checkforupdates {
|
||||||
|
font-size: 11pt;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
#currentversioninfo .whatsnew {
|
||||||
|
font-size: 11pt;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 50px 0 0 0;
|
||||||
|
}
|
||||||
|
#updateversioninfo {
|
||||||
|
margin: 15px auto 35px auto;
|
||||||
|
width: 400px;
|
||||||
|
}
|
||||||
|
#updateversioninfo div.submessage {
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
.updatechecksdisabled {
|
||||||
|
background-color: #FF9F9F;
|
||||||
|
border: 1px solid red;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.updatechecksdisabled div.warningmessage {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.updateavailable {
|
||||||
|
background-color: #9FD4FF;
|
||||||
|
border: 1px solid blue;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.updateavailable div.updatemessage {
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#splashpage #mainfooter {
|
||||||
|
clear: both;
|
||||||
|
font-size: 8pt;
|
||||||
|
padding-top: 35px;
|
||||||
|
margin: auto;
|
||||||
|
width: 800px;
|
||||||
|
}
|
||||||
|
#splashpage #mainfooter .disclaimer {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
#splashpage #mainfooter .logos {
|
||||||
|
margin: 15px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
table.infoBox { width: 100%; }
|
||||||
|
td.infoBox { font-size: 8pt; padding: 0 0 1em 0; white-space: nowrap; }
|
||||||
|
div.infoBoxTitle { font-size: 10pt; font-weight: bold; }
|
||||||
|
div.infoBoxBadProcStatus { font-size: 8pt; font-weight: bold; color: var(--color-danger-red); }
|
||||||
|
|
||||||
|
.linkBox { font-size: 8pt; padding: 1px; }
|
||||||
|
table.linkBox td { white-space: nowrap; }
|
||||||
|
|
||||||
|
.filter { font-size: 8pt; padding: 1px; }
|
||||||
|
.filterTitle { font-size: 9pt; font-weight: bold; }
|
||||||
|
.filterName { font-size: 8pt; text-align: right; font-weight: bold; }
|
||||||
|
.filterValue { font-size: 8pt; }
|
||||||
|
|
||||||
|
.errorDescription { font-size: 10pt; text-align: center; font-weight: bold; }
|
||||||
|
.errorMessage { font-size: 10pt; text-align: center; font-weight: bold; color: var(--color-danger-red); }
|
||||||
|
.warningMessage { font-size: 10pt; text-align: center; font-weight: bold; color: var(--color-danger-red); }
|
||||||
|
|
||||||
|
.statusTitle { text-align: center; font-weight: bold; font-size: 12pt; white-space: nowrap; }
|
||||||
|
.statusSort { font-size: 8pt; }
|
||||||
|
|
||||||
|
table.data { padding: 0; }
|
||||||
|
th.data { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; }
|
||||||
|
.dataOdd { font-size: 8pt; background-color: var(--color-medium-grey); padding: 0px 4px 0px 4px; }
|
||||||
|
.dataEven { font-size: 8pt; background-color: var(--color-charcoal-gray); padding: 0px 4px 0px 4px; }
|
||||||
|
.dataTitle { font-size: 12pt; text-align: center; font-weight: bold; }
|
||||||
|
.dataSubTitle { font-size: 10pt; text-align: center; font-weight: bold; }
|
||||||
|
|
||||||
|
.optBox { font-size: 9pt; white-space: nowrap; padding: 2px 0px 0px 0px; }
|
||||||
|
.optBoxTitle { font-size: 10pt; font-weight: bold; text-align: center; }
|
||||||
|
.optBoxRequiredItem { font-size: 9pt; text-align: right; padding: 0px 5px 0px 5px; color: var(--color-plasma-blue); }
|
||||||
|
.optBoxItem { font-size: 9pt; text-align: right; padding: 0px 5px 0px 5px; }
|
||||||
|
.optBoxValue { font-size: 9pt; }
|
||||||
|
|
||||||
|
.optionBoxTitle { font-size: 10pt; text-align: center; font-weight: bold; }
|
||||||
|
.optionBox { font-size: 10pt; padding: 2px; }
|
||||||
|
|
||||||
|
.navBoxTitle { font-size: 10pt; font-weight: bold; white-space: nowrap; }
|
||||||
|
.navBoxItem { font-size: 8pt; }
|
||||||
|
.navBoxDate { font-size: 8pt; white-space: nowrap; }
|
||||||
|
.navBoxFile { font-size: 8pt; text-align: center; }
|
||||||
|
|
||||||
|
.helpfulHint { font-size: 8pt; font-style: italic; text-align: center; }
|
||||||
|
|
||||||
|
.logEntries { font-size: 8pt; white-space: nowrap; }
|
||||||
|
|
||||||
|
.dateTimeBreak { font-size: 9pt; font-weight: bold; }
|
||||||
|
|
||||||
|
.reportRange { font-size: 10pt; white-space: nowrap; }
|
||||||
|
.reportDuration { font-size: 8pt; white-space: nowrap; }
|
||||||
|
.reportTime { font-size: 8pt; white-space: nowrap; text-align: right; font-style: italic; }
|
||||||
|
|
||||||
|
.reportSelectTitle { font-size: 12pt; text-align: center; font-weight: bold; }
|
||||||
|
.reportSelectSubTitle { font-size: 9pt; text-align: right; }
|
||||||
|
.reportSelectItem { font-size: 9pt; }
|
||||||
|
.reportSelectTip { font-size: 8pt; font-style: italic; }
|
||||||
|
|
||||||
|
.dateSelectTitle { font-size: 12pt; text-align: center; font-weight: bold; }
|
||||||
|
.dateSelectSubTitle { font-size: 9pt; text-align: right; }
|
||||||
|
.dateSelectItem { font-size: 9pt; }
|
||||||
|
|
||||||
|
.popupText { font-size: 8pt; background-color: #eeeeaa; border: 1px solid #777777; padding: 10px 10px 10px 10px; }
|
||||||
|
|
||||||
|
.hostImportantProblem { font-size: 9pt; background-color: var(--color-problem); padding: 0px 5px 0px 5px; }
|
||||||
|
.hostUnimportantProblem { font-size: 9pt; background-color: var(--color-unimportant); padding: 0px 5px 0px 5px; }
|
||||||
|
|
||||||
|
.serviceImportantProblem { font-size: 9pt; background-color: var(--color-problem); padding: 0px 5px 0px 5px; }
|
||||||
|
.serviceUnimportantProblem { font-size: 9pt; color: var(--color-charcoal-gray); background-color: var(--color-unimportant); padding: 0px 5px 0px 5px; }
|
||||||
|
|
||||||
|
.outageImportantProblem { font-size: 9pt; background-color: var(--color-problem); padding: 0px 5px 0px 5px; }
|
||||||
|
.outageUnimportantProblem { font-size: 9pt; background-color: var(--color-unimportant); padding: 0px 5px 0px 5px; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Some nagios configurations have side.html rather than side.php and define */
|
||||||
|
/* a slightly different set of nav elements. */
|
||||||
|
.NavBarTitle {
|
||||||
|
font-size: 9pt;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 5px 0 10px 0;
|
||||||
|
padding: 2px;
|
||||||
|
background-color: #efefef;
|
||||||
|
border: 1px solid #dddddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NavBarItem {
|
||||||
|
font-size: 9pt;
|
||||||
|
font-weight: bold;
|
||||||
|
list-style: none;
|
||||||
|
text-decoration: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.NavBarSearchItem {
|
||||||
|
font-size: 9pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#splashboxes {
|
||||||
|
margin: auto;
|
||||||
|
width: 794px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.splashbox {
|
||||||
|
padding: 5px;
|
||||||
|
margin: 5px;
|
||||||
|
border: 1px solid var(--color-alternate-gray);
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
height: 140px;
|
||||||
|
}
|
||||||
|
.splashbox h2 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
.splashbox ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 5px 5px 5px 15px;
|
||||||
|
}
|
||||||
|
.splashbox ul li {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.splashbox-media {
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
.splashbox3-empty {
|
||||||
|
margin: 5px;
|
||||||
|
border: 1px solid var(--color-alternate-gray);
|
||||||
|
width: 238px;
|
||||||
|
height: 150px;
|
||||||
|
}
|
||||||
|
.splashbox3-full {
|
||||||
|
margin: 5px;
|
||||||
|
width: 240px;
|
||||||
|
height: 152px;
|
||||||
|
}
|
||||||
|
.splashbox-clear {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#splashbox1, #splashbox2, #splashbox4 {
|
||||||
|
width: 250px;
|
||||||
|
}
|
||||||
|
#splashbox3 {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
#splashbox5 {
|
||||||
|
width: 500px;
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.config { }
|
||||||
|
|
||||||
|
.reportSelectSubTitle { font-size: 9pt; text-align: left; }
|
||||||
|
.reportSelectItem { font-size: 9pt; }
|
|
@ -0,0 +1,84 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.extinfo { }
|
||||||
|
|
||||||
|
.perfTypeTitle { font-size: 10pt; text-align: right; font-weight: bold; }
|
||||||
|
|
||||||
|
.stateInfoPanel { font-size: 9pt; }
|
||||||
|
.stateStatisticsPanel { }
|
||||||
|
.stateInfoTable1 { background-color: var(--color-background-darker); border: 1px solid var(--color-border-grey); }
|
||||||
|
.stateInfoTable2 { background-color: var(--color-background-darker); border: 1px solid var(--color-border-grey); }
|
||||||
|
|
||||||
|
.dataVar { font-size: 9pt; font-weight: bold; }
|
||||||
|
.dataVal { font-size: 9pt; }
|
||||||
|
|
||||||
|
/* FIXME: override the defaults until php/html is fixed */
|
||||||
|
/* .data { font-size: 10pt; font-weight: bold; } */
|
||||||
|
div.data { font-size: 10pt; font-weight: normal; }
|
||||||
|
.dataTitle { font-size: 10pt; font-weight: bold; padding-bottom: 5; }
|
||||||
|
|
||||||
|
.commandTitle { font-size: 10pt; text-align: center; font-weight: bold; padding-bottom: 5; }
|
||||||
|
TABLE.command { background-color: var(--color-background-darker); border: 1px solid var(--color-border-grey); }
|
||||||
|
.command { font-size: 9pt; }
|
||||||
|
.commandPanel td { padding: 1px 0 1px 4px }
|
||||||
|
.commentPanel { }
|
||||||
|
|
||||||
|
.commentTitle { font-size: 10pt; text-align: center; font-weight: bold;}
|
||||||
|
DIV.commentNav { font-size: 10pt; text-align: center; }
|
||||||
|
A.commentNav { font-size: 10pt; }
|
||||||
|
|
||||||
|
TABLE.comment { font-size: 10pt; background-color: var(--color-background-darker); color: var(--color-paper-white); padding: 2; }
|
||||||
|
TH.comment { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; }
|
||||||
|
.commentOdd { font-size: 9pt; background-color: var(--color-medium-grey); }
|
||||||
|
.commentEven { font-size: 9pt; background-color: var(--color-charcoal-gray); }
|
||||||
|
DIV.comment,A.comment { font-size: 10pt; text-align: center; }
|
||||||
|
|
||||||
|
.downtimeTitle { font-size: 12pt; text-align: center; font-weight: bold; }
|
||||||
|
DIV.downtimeNav { font-size: 10pt; text-align: center; }
|
||||||
|
A.downtimeNav { font-size: 10pt; }
|
||||||
|
|
||||||
|
TABLE.downtime { font-size: 10pt; background-color: var(--color-background-darker); padding: 2; }
|
||||||
|
TH.downtime { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; }
|
||||||
|
.downtimeOdd { font-size: 9pt; background-color: var(--color-medium-grey); }
|
||||||
|
.downtimeEven { font-size: 9pt; background-color: var(--color-charcoal-gray); }
|
||||||
|
|
||||||
|
.notflapping { background-color: var(--color-ok); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
.flapping { background-color: var(--color-problem); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
.notificationsENABLED { background-color: var(--color-ok); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.notificationsDISABLED { background-color: var(--color-problem); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.checksENABLED { background-color: var(--color-ok); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.checksDISABLED { background-color: var(--color-problem); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.eventhandlersENABLED { background-color: var(--color-ok); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.eventhandlersDISABLED { background-color: var(--color-problem); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.flapdetectionENABLED { background-color: var(--color-ok); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.flapdetectionDISABLED { background-color: var(--color-problem); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.downtimeACTIVE { background-color: var(--color-problem); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
.downtimeINACTIVE { background-color: var(--color-ok); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
.processOK { background-color: var(--color-ok); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.processUNKNOWN { background-color: var(--color-unknown); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.processWARNING { background-color: var(--color-warning); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.processCRITICAL { background-color: var(--color-problem); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.modeACTIVE { background-color: var(--color-ok); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
.modeSTANDBY { background-color: var(--color-warning); border: 1px solid #777777; font-weight: bold; }
|
||||||
|
|
||||||
|
.hostUP { background-color: var(--color-ok); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
.hostDOWN { background-color: var(--color-problem); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
.hostUNREACHABLE { background-color: var(--color-problem); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
|
||||||
|
.serviceOK { background-color: var(--color-ok); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
.serviceWARNING { background-color: var(--color-warning); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
.serviceUNKNOWN { background-color: var(--color-unknown); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
.serviceCRITICAL { background-color: var(--color-problem); border: 1px solid #777777; font-weight: bold; float: left; }
|
||||||
|
|
||||||
|
.queueTitle { font-size: 12pt; text-align: center; font-weight: bold; }
|
||||||
|
TABLE.queue { font-size: 9pt; padding: 0; }
|
||||||
|
TH.queue { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; }
|
||||||
|
.queueOdd { font-size: 9pt; background-color: var(--color-medium-grey); padding: 0 4 0 4; }
|
||||||
|
.queueEven { font-size: 9pt; background-color: var(--color-charcoal-gray); padding: 0 4 0 4; }
|
||||||
|
.queueENABLED { font-size: 9pt; background-color: var(--color-ok); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.queueDISABLED { font-size: 9pt; background-color: var(--color-problem); border: 1px solid #777777; padding: 0 4 0 4; }
|
|
@ -0,0 +1,10 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.histogram { }
|
||||||
|
|
||||||
|
.helpfulHints { font-size: 10pt; font-style: italic; text-align: center; }
|
|
@ -0,0 +1,137 @@
|
||||||
|
/* General text style */
|
||||||
|
text {
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Colors for text representing states */
|
||||||
|
text.up {
|
||||||
|
fill: rgb(0, 128, 0);
|
||||||
|
}
|
||||||
|
text.down {
|
||||||
|
fill: rgb(255, 0, 0);
|
||||||
|
}
|
||||||
|
text.unreachable {
|
||||||
|
fill: rgb(128, 0, 0);
|
||||||
|
}
|
||||||
|
text.ok {
|
||||||
|
fill: rgb(0, 128, 0);
|
||||||
|
}
|
||||||
|
text.warning {
|
||||||
|
fill: rgb(176, 178, 20);
|
||||||
|
}
|
||||||
|
text.unknown {
|
||||||
|
fill: rgb(255, 100, 25);
|
||||||
|
}
|
||||||
|
text.critical {
|
||||||
|
fill: rgb(255, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Colors for text representing states */
|
||||||
|
path.up {
|
||||||
|
stroke: rgb(0, 128, 0);
|
||||||
|
}
|
||||||
|
path.down {
|
||||||
|
stroke: rgb(255, 0, 0);
|
||||||
|
}
|
||||||
|
path.unreachable {
|
||||||
|
stroke: rgb(128, 0, 0);
|
||||||
|
}
|
||||||
|
path.ok {
|
||||||
|
stroke: rgb(0, 128, 0);
|
||||||
|
}
|
||||||
|
path.warning {
|
||||||
|
stroke: rgb(176, 178, 20);
|
||||||
|
}
|
||||||
|
path.unknown {
|
||||||
|
stroke: rgb(255, 100, 25);
|
||||||
|
}
|
||||||
|
path.critical {
|
||||||
|
stroke: rgb(255, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Class to hide elements */
|
||||||
|
.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Trend SVG style */
|
||||||
|
div#histogramsvg {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 10;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Center header text */
|
||||||
|
g#header text,
|
||||||
|
g#yaxis-label text {
|
||||||
|
text-anchor: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Anchor the y-axis text to the end of the text */
|
||||||
|
g#xaxis text,
|
||||||
|
g#yaxis text {
|
||||||
|
text-anchor: end;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Draw grid lines as dashed lines */
|
||||||
|
g#xaxis line,
|
||||||
|
g#yaxis line {
|
||||||
|
stroke-width: 1;
|
||||||
|
stroke: #c0c0c0;
|
||||||
|
stroke-dasharray: 2,4;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide the axes path */
|
||||||
|
g#xaxis path,
|
||||||
|
g#yaxis path {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for data lines */
|
||||||
|
g#grid path {
|
||||||
|
fill: none;
|
||||||
|
stroke-width: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for grid spinner */
|
||||||
|
div#gridspinner {
|
||||||
|
position: absolute;
|
||||||
|
top: 74px;
|
||||||
|
left: 355px;
|
||||||
|
height: 50px;
|
||||||
|
width: 50px;
|
||||||
|
z-index: 40;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for the summary table */
|
||||||
|
g.summary .label {
|
||||||
|
text-anchor: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
g.summary .value {
|
||||||
|
text-anchor: end;
|
||||||
|
}
|
||||||
|
|
||||||
|
g.summary line {
|
||||||
|
stroke-width: 1;
|
||||||
|
stroke: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for menu button */
|
||||||
|
div#menubutton {
|
||||||
|
position: absolute;
|
||||||
|
top: 5px;
|
||||||
|
left: 871px;
|
||||||
|
height: 25px;
|
||||||
|
width: 22px;
|
||||||
|
z-index: 40;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#menubutton button {
|
||||||
|
padding: 0px;
|
||||||
|
border: none;
|
||||||
|
background-color: white;
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.history { }
|
|
@ -0,0 +1,37 @@
|
||||||
|
body, html {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wrap {
|
||||||
|
width: 750px;
|
||||||
|
left: calc(50% - 375px);
|
||||||
|
background: #ddd;
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#options {
|
||||||
|
width: 290px;
|
||||||
|
float: left;
|
||||||
|
background: #bbb;
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right: 5px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#results {
|
||||||
|
width: 440px;
|
||||||
|
float: right;
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right: 5px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#results p.error {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.required {
|
||||||
|
color: red;
|
||||||
|
}
|
|
@ -0,0 +1,106 @@
|
||||||
|
.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for the spinner div */
|
||||||
|
div#spinner {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 40;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for the map div */
|
||||||
|
div#mapsvg {
|
||||||
|
position: absolute;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #777777;
|
||||||
|
border-width: 1px;
|
||||||
|
width: 600px;
|
||||||
|
height: 600px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for map elements */
|
||||||
|
.link {
|
||||||
|
fill: none;
|
||||||
|
stroke: #cccccc;
|
||||||
|
stroke-width: 1.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.node circle {
|
||||||
|
fill: #ffffff;
|
||||||
|
stroke: #cccccc;
|
||||||
|
stroke-width: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.node {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for state popups */
|
||||||
|
div#popup {
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
position: absolute;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
background-color: var(--color-background-dark);
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#popup td {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#popup .popup-label {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#popup .popup-value {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Colors for text representing states */
|
||||||
|
.up {
|
||||||
|
color: rgb(0, 128, 0);
|
||||||
|
}
|
||||||
|
.down {
|
||||||
|
color: rgb(255, 0, 0);
|
||||||
|
}
|
||||||
|
.unreachable {
|
||||||
|
color: rgb(128, 0, 0);
|
||||||
|
}
|
||||||
|
.ok {
|
||||||
|
color: rgb(0, 128, 0);
|
||||||
|
}
|
||||||
|
.warning {
|
||||||
|
color: rgb(176, 178, 20);
|
||||||
|
}
|
||||||
|
.unknown {
|
||||||
|
color: rgb(255, 100, 25);
|
||||||
|
}
|
||||||
|
.critical {
|
||||||
|
color: rgb(255, 0, 0);
|
||||||
|
}
|
||||||
|
.pending {
|
||||||
|
color: #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for labels in partition displays */
|
||||||
|
g.label {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for menu button */
|
||||||
|
div#menubutton {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 40;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#menubutton button {
|
||||||
|
padding: 0px;
|
||||||
|
border: none;
|
||||||
|
background-color: white;
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
/* Styles for the body as whole */
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for the map header div */
|
||||||
|
div#header-container {
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
left: 1px;
|
||||||
|
width: 320px;
|
||||||
|
z-index: 30;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Container for the map svg */
|
||||||
|
div#map-container {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: var(--color-cardboard-gray);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Class to remove shadow from bootstrap buttons */
|
||||||
|
.btn-noshadow:focus,
|
||||||
|
.btn-noshadow:active {
|
||||||
|
outline: none;
|
||||||
|
-webkit-box-shadow: none !important;
|
||||||
|
-moz-box-shadow: none !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
g.node {
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.status { }
|
||||||
|
|
||||||
|
TABLE.status { font-size: 9pt; padding: 2; }
|
||||||
|
TH.status { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; }
|
||||||
|
DIV.status { font-size: 10pt; text-align: center; }
|
||||||
|
.statusOdd { font-size: 9pt; background-color: #e7e7e7; }
|
||||||
|
.statusEven { font-size: 9pt; background-color: #f4f2f2; }
|
||||||
|
|
||||||
|
.statusPENDING { font-size: 9pt; background-color: var(--color-pending); }
|
||||||
|
.statusOK { font-size: 9pt; background-color: var(--color-ok); }
|
||||||
|
.statusRECOVERY { font-size: 9pt; background-color: var(--color-ok); }
|
||||||
|
.statusUNKNOWN { font-size: 9pt; background-color: var(--color-unknown); }
|
||||||
|
.statusWARNING { font-size: 9pt; background-color: var(--color-warning); }
|
||||||
|
.statusCRITICAL { font-size: 9pt; background-color: var(--color-problem); }
|
||||||
|
|
||||||
|
.statusHOSTPENDING { font-size: 9pt; background-color: var(--color-pending); }
|
||||||
|
.statusHOSTUP { font-size: 9pt; background-color: var(--color-ok); }
|
||||||
|
.statusHOSTDOWN { font-size: 9pt; background-color: var(--color-problem); }
|
||||||
|
.statusHOSTUNREACHABLE { font-size: 9pt; background-color: var(--color-unknown); }
|
||||||
|
|
||||||
|
.statusBGUNKNOWN { font-size: 9pt; background-color: var(--color-unknown); }
|
||||||
|
.statusBGWARNING { font-size: 9pt; background-color: var(--color-warning); }
|
||||||
|
.statusBGCRITICAL { font-size: 9pt; background-color: var(--color-problem); }
|
||||||
|
.statusBGDOWN { font-size: 9pt; background-color: var(--color-problem); }
|
||||||
|
.statusBGUNREACHABLE { font-size: 9pt; background-color: var(--color-unknown); }
|
||||||
|
|
||||||
|
DIV.serviceTotals { font-size: 10pt; text-align: center; font-weight: bold; }
|
||||||
|
TABLE.serviceTotals { font-size: 10pt; font-weight: bold; }
|
||||||
|
TH.serviceTotals,A.serviceTotals { font-size: 9pt; }
|
||||||
|
TD.serviceTotals { font-size: 9pt; text-align: center; background-color: #e0e0e0; border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsOK { font-size: 9pt; text-align: center; background-color: var(--color-ok); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsWARNING { font-size: 9pt; text-align: center; background-color: var(--color-warning); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsUNKNOWN { font-size: 9pt; text-align: center; background-color: var(--color-unknown); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsCRITICAL { font-size: 9pt; text-align: center; background-color: var(--color-problem); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsPENDING { font-size: 9pt; text-align: center; background-color: var(--color-pending); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsPROBLEMS { font-size: 9pt; text-align: center; background-color: var(--color-unimportant); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
|
||||||
|
|
||||||
|
DIV.hostTotals { font-size: 10pt; text-align: center; font-weight: bold; }
|
||||||
|
TABLE.hostTotals { font-size: 10pt; font-weight: bold; }
|
||||||
|
TH.hostTotals,A.hostTotals { font-size: 9pt; }
|
||||||
|
TD.hostTotals { font-size: 9pt; text-align: center; background-color: #e4e4e4; }
|
||||||
|
.hostTotalsUP { font-size: 9pt; text-align: center; background-color: var(--color-ok); }
|
||||||
|
.hostTotalsDOWN { font-size: 9pt; text-align: center; background-color: var(--color-problem); }
|
||||||
|
.hostTotalsUNREACHABLE { font-size: 9pt; text-align: center; background-color: var(--color-unknown); }
|
||||||
|
.hostTotalsPENDING { font-size: 9pt; text-align: center; background-color: var(--color-pending); }
|
||||||
|
.hostTotalsPROBLEMS { font-size: 9pt; text-align: center; background-color: var(--color-unimportant); }
|
||||||
|
|
||||||
|
.miniStatusPENDING { font-size: 9pt; background-color: var(--color-pending); text-align: center; }
|
||||||
|
.miniStatusOK { font-size: 9pt; background-color: var(--color-ok); text-align: center; }
|
||||||
|
.miniStatusUNKNOWN { font-size: 9pt; background-color: var(--color-unknown); text-align: center; }
|
||||||
|
.miniStatusWARNING { font-size: 9pt; background-color: var(--color-warning); text-align: center; }
|
||||||
|
.miniStatusCRITICAL { font-size: 9pt; background-color: var(--color-problem); text-align: center; }
|
||||||
|
|
||||||
|
.miniStatusUP { font-size: 9pt; background-color: var(--color-ok); text-align: center; }
|
||||||
|
.miniStatusDOWN { font-size: 9pt; background-color: var(--color-problem); text-align: center; }
|
||||||
|
.miniStatusUNREACHABLE { font-size: 9pt; background-color: var(--color-unknown); text-align: center; }
|
|
@ -0,0 +1,71 @@
|
||||||
|
/* vidbox */
|
||||||
|
div.vidboxContainer { position: fixed; background: transparent; z-index: 100; }
|
||||||
|
div.vidbox_ul { left:10px; top: 10px }
|
||||||
|
div.vidbox_ur { right: 10px; top:10px; }
|
||||||
|
div.vidbox_ll { left:10px; bottom:10px; }
|
||||||
|
div.vidbox_lr { right:10px; bottom:10px; }
|
||||||
|
|
||||||
|
.vidboxTab {
|
||||||
|
border: 1px solid black;
|
||||||
|
height: 20px;
|
||||||
|
width: 130px;
|
||||||
|
font: bold italic 15px serif;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 110;
|
||||||
|
text-align: center;
|
||||||
|
background: #660000;
|
||||||
|
color: #f0f0f0;
|
||||||
|
cursor: pointer;
|
||||||
|
border-top-left-radius: 20px;
|
||||||
|
border-top-right-radius: 20px;
|
||||||
|
}
|
||||||
|
.vidboxTabClose {
|
||||||
|
/* height:9px; */
|
||||||
|
width:12px;
|
||||||
|
border:1px solid white;
|
||||||
|
font: bold 13px sans-serif;
|
||||||
|
line-height: 10px;
|
||||||
|
margin: 3px 0 0 10px;
|
||||||
|
vertical-align: top;
|
||||||
|
padding-bottom: 3px;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.vidboxTab_ul { left: -55px; top:70px;
|
||||||
|
border-radius: 20px 20px 0px 0px;
|
||||||
|
transform:rotate(90deg);
|
||||||
|
height: 30px; line-height: 25px !important;
|
||||||
|
}
|
||||||
|
.vidboxTab_ur { right:-55px; top:70px;
|
||||||
|
border-radius: 20px 20px 0px 0px;
|
||||||
|
transform:rotate(270deg);
|
||||||
|
height: 30px; line-height: 25px !important;
|
||||||
|
}
|
||||||
|
.vidboxTab_ll { left:-55px; bottom:70px;
|
||||||
|
border-radius: 20px 20px 0px 0px;
|
||||||
|
transform:rotate(90deg);
|
||||||
|
height: 30px; line-height: 25px !important;
|
||||||
|
}
|
||||||
|
.vidboxTab_lr { right:-55px; bottom:70px;
|
||||||
|
border-radius: 20px 20px 0px 0px;
|
||||||
|
transform:rotate(270deg);
|
||||||
|
height: 30px; line-height: 25px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.vidboxFrame {
|
||||||
|
background-color:#303030;
|
||||||
|
color:white;
|
||||||
|
border: 1px solid black;
|
||||||
|
display:none;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.vidboxCancel {
|
||||||
|
float:right;
|
||||||
|
cursor: pointer;
|
||||||
|
padding:5px 20px 0 0;
|
||||||
|
color: #ccccff;
|
||||||
|
}
|
||||||
|
.vidFrame { width:600px; }
|
||||||
|
.vidboxIframe { margin-top:10px; }
|
||||||
|
.textFrame { margin: 10px; }
|
||||||
|
.textFrame a:link, .textFrame a:visited { color: #ccccff; }
|
||||||
|
.textFrame a:hover, .textFrame a:active { text-decoration: underline; color: #eeeeff; }
|
|
@ -0,0 +1,31 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.notifications { }
|
||||||
|
|
||||||
|
TABLE.notifications { padding: 0; margin: 0; }
|
||||||
|
TH.notifications { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; }
|
||||||
|
.notificationsOdd { font-size: 8pt; background-color: #e7e7e7; padding: 0 4 0 4; }
|
||||||
|
.notificationsEven { font-size: 8pt; background-color: #f4f2f2; padding: 0 4 0 4; }
|
||||||
|
|
||||||
|
/* these are dark colors */
|
||||||
|
.notificationsOK { background-color: var(--color-ok); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsUNKNOWN { background-color: var(--color-unknown); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsWARNING { background-color: var(--color-warning); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsCRITICAL { background-color: var(--color-problem); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsACKNOWLEDGEMENT { background-color: var(--color-alternate-gray); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsCUSTOM { background-color: var(--color-custom); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsDOWNTIME { background-color: var(--color-unimportant); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
|
||||||
|
/* these are dark colors */
|
||||||
|
.notificationsHOSTUP { background-color: var(--color-ok); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsHOSTDOWN { background-color: var(--color-problem); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsHOSTUNREACHABLE { background-color: var(--color-unknown); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsHOSTACKNOWLEDGEMENT { background-color: var(--color-alternate-gray); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsHOSTCUSTOM { background-color: var(--color-custom); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.notificationsHOSTDOWNTIME { background-color: var(--color-unimportant); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.outages { }
|
||||||
|
|
||||||
|
.itemTotalsTitle { font-size: 8pt; text-align: center; }
|
||||||
|
|
||||||
|
.hostUP { background-color: var(--color-ok); font-weight: bold; }
|
||||||
|
.hostDOWN { background-color: var(--color-problem); font-weight: bold; }
|
||||||
|
.hostUNREACHABLE { background-color: var(--color-unknown); font-weight: bold; }
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.showlog { }
|
|
@ -0,0 +1,91 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.status { }
|
||||||
|
|
||||||
|
.itemTotalsTitle { font-size: 8pt; font-style: italic; clear:both;}
|
||||||
|
|
||||||
|
table.status { font-size: 9pt; padding: 0 0 10 0; }
|
||||||
|
table.statuss td, table.statuss td a { color: var(--color-alt-text) }
|
||||||
|
th.status { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; }
|
||||||
|
div.status { font-size: 10pt; text-align: center; }
|
||||||
|
.statusOdd { font-size: 9pt; background-color: var(--color-medium-grey); line-height: 150%; padding: 0 4 0 4; }
|
||||||
|
.statusEven { font-size: 9pt; background-color: var(--charcoal-gray); line-height: 150%; padding: 0 4 0 4; }
|
||||||
|
.statusOdd, .statusOdd a, .statusEven, .statusEven a { color: var(--color-main-text); }
|
||||||
|
|
||||||
|
|
||||||
|
.statusPENDING { font-size: 9pt; background-color: var(--color-pending); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.statusOK { font-size: 9pt; background-color: var(--color-ok); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.statusRECOVERY { font-size: 9pt; background-color: var(--color-ok); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.statusUNKNOWN { font-size: 9pt; background-color: var(--color-unknown); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.statusWARNING { font-size: 9pt; background-color: var(--color-warning); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.statusCRITICAL { font-size: 9pt; background-color: var(--color-problem); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.statusCRITICALACK { font-size: 9pt; background-color: var(--color-problem); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
|
||||||
|
.statusHOSTPENDING { font-size: 9pt; background-color: var(--color-pending); line-height: 150%; padding: 0 4 0 4; }
|
||||||
|
.statusHOSTUP { font-size: 9pt; background-color: var(--color-ok); line-height: 150%; padding: 0 4 0 4; }
|
||||||
|
.statusHOSTDOWN { font-size: 9pt; background-color: var(--color-problem); line-height: 150%; padding: 0 4 0 4; }
|
||||||
|
.statusHOSTDOWNACK { font-size: 9pt; background-color: var(--color-problem); line-height: 150%; padding: 0 4 0 4; }
|
||||||
|
.statusHOSTUNREACHABLE { font-size: 9pt; background-color: var(--color-unknown); line-height: 150%; padding: 0 4 0 4; }
|
||||||
|
.statusHOSTUNREACHABLEACK { font-size: 9pt; background-color: var(--color-unknown); line-height: 150%; padding: 0 4 0 4; }
|
||||||
|
.statusHOSTUNREACHABLESCHED { font-size: 9pt; background-color: var(--color-unknown); line-height: 150%; padding: 0 4 0 4; }
|
||||||
|
|
||||||
|
.statusBGUNKNOWN { font-size: 9pt; background-color: var(--color-unknown); }
|
||||||
|
.statusBGUNKNOWNACK { font-size: 9pt; background-color: var(--color-unknown); }
|
||||||
|
.statusBGUNKNOWNSCHED { font-size: 9pt; background-color: var(--color-unknown); }
|
||||||
|
.statusBGWARNING { font-size: 9pt; background-color: var(--color-warning); }
|
||||||
|
.statusBGWARNINGACK { font-size: 9pt; background-color: var(--color-warning); }
|
||||||
|
.statusBGWARNINGSCHED { font-size: 9pt; background-color: var(--color-warning); }
|
||||||
|
.statusBGCRITICAL { font-size: 9pt; background-color: var(--color-problem); }
|
||||||
|
.statusBGCRITICALACK { font-size: 9pt; background-color: var(--color-problem); }
|
||||||
|
.statusBGCRITICALSCHED { font-size: 9pt; background-color: var(--color-problem); }
|
||||||
|
.statusBGDOWN { font-size: 9pt; background-color: var(--color-problem); }
|
||||||
|
.statusBGDOWNACK { font-size: 9pt; background-color: var(--color-problem); }
|
||||||
|
.statusBGDOWNSCHED { font-size: 9pt; background-color: var(--color-problem); }
|
||||||
|
.statusBGUNREACHABLE { font-size: 9pt; background-color: var(--color-unknown); }
|
||||||
|
.statusBGUNREACHABLEACK { font-size: 9pt; background-color: var(--color-unknown); }
|
||||||
|
.statusBGUNREACHABLESCHED { font-size: 9pt; background-color: var(--color-unknown); }
|
||||||
|
|
||||||
|
div.serviceTotals { font-size: 10pt; text-align: center; font-weight: bold; }
|
||||||
|
table.serviceTotals { font-size: 10pt; font-weight: bold; }
|
||||||
|
th.serviceTotals,a.serviceTotals { font-size: 8pt; }
|
||||||
|
td.serviceTotals { font-size: 9pt; text-align: center; background-color: var(--color-plasma-blue); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsOK { font-size: 9pt; text-align: center; background-color: var(--color-ok); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsWARNING { font-size: 9pt; text-align: center; background-color: var(--color-warning); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsUNKNOWN { font-size: 9pt; text-align: center; background-color: var(--color-unknown); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsCRITICAL { font-size: 9pt; text-align: center; background-color: var(--color-problem); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsPENDING { font-size: 9pt; text-align: center; background-color: var(--color-pending); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.serviceTotalsPROBLEMS { font-size: 9pt; text-align: center; background-color: var(--color-unimportant); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
|
||||||
|
div.hostTotals { font-size: 10pt; text-align: center; font-weight: bold; }
|
||||||
|
table.hostTotals { font-size: 10pt; font-weight: bold; }
|
||||||
|
th.hostTotals,a.hostTotals { font-size: 8pt; }
|
||||||
|
td.hostTotals { font-size: 9pt; text-align: center; background-color: var(--color-plasma-blue); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.hostTotalsUP { font-size: 9pt; text-align: center; background-color: var(--color-ok); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.hostTotalsDOWN { font-size: 9pt; text-align: center; background-color: var(--color-problem); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.hostTotalsUNREACHABLE { font-size: 9pt; text-align: center; background-color: var(--color-unknown); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.hostTotalsPENDING { font-size: 9pt; text-align: center; background-color: var(--color-pending); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
.hostTotalsPROBLEMS { font-size: 9pt; text-align: center; background-color: var(--color-unimportant); border: 1px solid #777777; padding: 2 4 2 4; }
|
||||||
|
|
||||||
|
.miniStatusPENDING { font-size: 9pt; text-align: center; background-color: var(--color-pending); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.miniStatusOK { font-size: 9pt; text-align: center; background-color: var(--color-ok); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.miniStatusUNKNOWN { font-size: 9pt; text-align: center; background-color: var(--color-unknown); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.miniStatusWARNING { font-size: 9pt; text-align: center; background-color: var(--color-warning); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.miniStatusCRITICAL { font-size: 9pt; text-align: center; background-color: var(--color-problem); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
|
||||||
|
.miniStatusUP { font-size: 9pt; text-align: center; background-color: var(--color-ok); border: 1px solid #777777; padding: 0 5 0 5;}
|
||||||
|
.miniStatusDOWN { font-size: 9pt; text-align: center; background-color: var(--color-problem); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
.miniStatusUNREACHABLE { font-size: 9pt; text-align: center; background-color: var(--color-unknown); border: 1px solid #777777; padding: 0 5 0 5; }
|
||||||
|
|
||||||
|
/* page number styles, added 2/01/2012 -MG */
|
||||||
|
#top_page_numbers { float:right;}
|
||||||
|
#result_limit { display:inline;}
|
||||||
|
.pagenumber { display: block; float:left; border: 1px solid var(--color-alternate-gray); padding: 0 2px 0 2px; margin: 1px;text-align:center; height:15px; }
|
||||||
|
a.pagenumber:hover { background-color: #EFEFEF;text-decoration:none;}
|
||||||
|
.current_page { color: #AAA; }
|
||||||
|
#inner_numbers { clear:right;}
|
||||||
|
#pagelimit,#bottom_page_numbers { font-size:8pt;}
|
|
@ -0,0 +1,14 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.statusmap { }
|
||||||
|
|
||||||
|
.imageInfo { font-size: 8pt; font-weight: bold; text-align: center; }
|
||||||
|
|
||||||
|
.zoomTitle { font-size: 8pt; font-weight: bold; }
|
||||||
|
|
||||||
|
.popupText { font-size: 8pt; background-color: #eeeeaa; border: 1px solid #777777; padding: 0 5 0 5; }
|
|
@ -0,0 +1,30 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.summary { }
|
||||||
|
|
||||||
|
/* override to match filter table style */
|
||||||
|
.optBoxItem { font-size: 8pt; font-weight: bold; }
|
||||||
|
.optBoxValue { font-size: 8pt; }
|
||||||
|
|
||||||
|
/* override to match query info style */
|
||||||
|
.dataSubTitle { font-size: 8pt; text-align: center; font-weight: normal; }
|
||||||
|
|
||||||
|
/* override so we get a bit of whitespace */
|
||||||
|
table.data { padding-top: 15; }
|
||||||
|
|
||||||
|
.reportDataOdd { font-size: 9pt; background-color: #e7e7e7; padding: 0 4 0 4; }
|
||||||
|
.reportDataEven { font-size: 9pt; background-color: #f4f2f2; padding: 0 4 0 4; }
|
||||||
|
|
||||||
|
.hostUP { font-size: 9pt; background-color: var(--color-ok); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.hostDOWN { font-size: 9pt; background-color: var(--color-problem); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.hostUNREACHABLE { font-size: 9pt; background-color: var(--color-unknown); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
|
||||||
|
.serviceOK { font-size: 9pt; background-color: var(--color-ok); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.serviceWARNING { font-size: 9pt; background-color: var(--color-warning); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.serviceUNKNOWN { font-size: 9pt; background-color: var(--color-unknown); border: 1px solid #777777; padding: 0 4 0 4; }
|
||||||
|
.serviceCRITICAL { font-size: 9pt; background-color: var(--color-problem); border: 1px solid #777777; padding: 0 4 0 4; }
|
|
@ -0,0 +1,79 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.tac { font-size: 10pt; }
|
||||||
|
table.tac { width: 85% !important; }
|
||||||
|
table.tac table { width: 90% !important; }
|
||||||
|
table.tac table td { padding: 4px; }
|
||||||
|
table.tac table td a { }
|
||||||
|
|
||||||
|
.title { font-weight: bold; }
|
||||||
|
.titleItem { font-size: 8pt; font-weight: bold; }
|
||||||
|
|
||||||
|
td.perfTitle { font-size: 10pt; font-weight: bold; background-color: var(--color-background-darker); padding: 4px; }
|
||||||
|
.perfBox { background-color: var(--color-background-dark); padding: 2px;}
|
||||||
|
.perfItem { font-size: 8pt; font-weight: bold; }
|
||||||
|
.perfValue { font-size: 8pt; }
|
||||||
|
|
||||||
|
.healthTitle { font-weight: bold; font-size: 10pt; background-color: var(--color-background-darker); padding: 4px; }
|
||||||
|
.healthBox { }
|
||||||
|
.healthItem { font-size: 10pt; font-weight: bold; }
|
||||||
|
.healthBar { background-color: grey; padding: 2 4 2 4; }
|
||||||
|
|
||||||
|
.outageTitle { font-weight: bold; background-color: var(--color-background-darker); padding: 4px; }
|
||||||
|
.outageHeader { font-weight: bold; border-bottom: 1px solid var(--color-alternate-gray); }
|
||||||
|
|
||||||
|
.hostTitle { font-weight: bold; background-color: var(--color-background-darker); padding: 4px; }
|
||||||
|
td.hostHeader { font-weight: bold; border-bottom: 1px solid var(--color-alternate-gray); }
|
||||||
|
|
||||||
|
.serviceTitle { font-weight: bold; background-color: var(--color-background-darker); padding: 4px; }
|
||||||
|
td.serviceHeader { font-weight: bold; border-bottom: 1px solid var(--color-alternate-gray); }
|
||||||
|
|
||||||
|
.featureTitle { font-weight: bold; background-color: var(--color-background-darker); padding: 4px; }
|
||||||
|
td.featureHeader { font-weight: bold; border-bottom: 1px solid var(--color-alternate-gray); }
|
||||||
|
|
||||||
|
.featureEnabled { text-align: center; background-color: #ccffcc; }
|
||||||
|
.featureDisabled { text-align: center; background-color: #ffcccc; }
|
||||||
|
|
||||||
|
.featureEnabledFlapDetection { text-align: center; font-weight: bold; }
|
||||||
|
.featureDisabledFlapDetection { text-align: center; font-weight: bold; }
|
||||||
|
.featureItemEnabledServiceFlapDetection { font-size: 8pt; background-color: var(--color-ok); }
|
||||||
|
.featureItemDisabledServiceFlapDetection { font-size: 8pt; background-color: var(--color-problem); }
|
||||||
|
.featureItemEnabledHostFlapDetection { font-size: 8pt; background-color: var(--color-ok); }
|
||||||
|
.featureItemDisabledHostFlapDetection { font-size: 8pt; background-color: var(--color-problem); }
|
||||||
|
.featureItemServicesNotFlapping { font-size: 8pt; background-color: var(--color-ok); }
|
||||||
|
.featureItemServicesFlapping { font-size: 8pt; background-color: var(--color-problem); }
|
||||||
|
.featureItemHostsNotFlapping { font-size: 8pt; background-color: var(--color-ok); }
|
||||||
|
.featureItemHostsFlapping { font-size: 8pt; background-color: var(--color-problem); }
|
||||||
|
|
||||||
|
.featureEnabledNotifications { text-align: center; font-weight: bold; }
|
||||||
|
.featureDisabledNotifications { text-align: center; font-weight: bold; }
|
||||||
|
.featureItemEnabledServiceNotifications { font-size: 8pt; background-color: var(--color-ok); border: 1px solid #777777; }
|
||||||
|
.featureItemDisabledServiceNotifications { font-size: 8pt; background-color: var(--color-problem); border: 1px solid #777777; }
|
||||||
|
.featureItemEnabledHostNotifications { font-size: 8pt; background-color: var(--color-ok) border: 1px solid #777777; }
|
||||||
|
.featureItemDisabledHostNotifications { font-size: 8pt; background-color: var(--color-problem); border: 1px solid #777777; }
|
||||||
|
|
||||||
|
.featureEnabledHandlers { text-align: center; font-weight: bold; }
|
||||||
|
.featureDisabledHandlers { text-align: center; font-weight: bold; }
|
||||||
|
.featureItemEnabledServiceHandlers { font-size: 8pt; background-color: var(--color-ok); border: 1px solid #777777; }
|
||||||
|
.featureItemDisabledServiceHandlers { font-size: 8pt; background-color: var(--color-problem); border: 1px solid #777777; }
|
||||||
|
.featureItemEnabledHostHandlers { font-size: 8pt; background-color: var(--color-ok); border: 1px solid #777777; }
|
||||||
|
.featureItemDisabledHostHandlers { font-size: 8pt; background-color: var(--color-problem); }
|
||||||
|
|
||||||
|
.featureEnabledActiveChecks { text-align: center; font-weight: bold; }
|
||||||
|
.featureDisabledActiveChecks { text-align: center; font-weight: bold; }
|
||||||
|
.featureItemEnabledActiveServiceChecks { font-size: 8pt; background-color: var(--color-ok); border: 1px solid #777777; }
|
||||||
|
.featureItemDisabledActiveServiceChecks { font-size: 8pt; background-color: var(--color-problem); border: 1px solid #777777; }
|
||||||
|
.featureItemEnabledActiveHostChecks { font-size: 8pt; background-color: var(--color-ok); border: 1px solid #777777; }
|
||||||
|
.featureItemDisabledActiveHostChecks { font-size: 8pt; background-color: var(--color-problem); border: 1px solid #777777; }
|
||||||
|
|
||||||
|
.featureEnabledPassiveChecks { text-align: center; font-weight: bold; }
|
||||||
|
.featureDisabledPassiveChecks { text-align: center; font-weight: bold; }
|
||||||
|
.featureItemEnabledPassiveServiceChecks { font-size: 8pt; background-color: var(--color-ok); border: 1px solid #777777; }
|
||||||
|
.featureItemDisabledPassiveServiceChecks { font-size: 8pt; background-color: var(--color-problem); border: 1px solid #777777; }
|
||||||
|
.featureItemEnabledPassiveHostChecks { font-size: 8pt; background-color: var(--color-ok); border: 1px solid #777777; }
|
||||||
|
.featureItemDisabledPassiveHostChecks { font-size: 8pt; background-color: var(--color-problem); border: 1px solid #777777; }
|
|
@ -0,0 +1,8 @@
|
||||||
|
/* exfoliation: a nagios makeover */
|
||||||
|
/* Copyright 2010 Matthew Wall, all rights reserved */
|
||||||
|
/* */
|
||||||
|
/* Permission to use, copy, modify, and distribute this software for any */
|
||||||
|
/* purpose with or without fee is hereby granted, provided that the above */
|
||||||
|
/* copyright notice and this permission notice appear in all copies. */
|
||||||
|
|
||||||
|
.trends { }
|
|
@ -0,0 +1,126 @@
|
||||||
|
/* General text style */
|
||||||
|
text {
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Colors for text representing states */
|
||||||
|
text.Up {
|
||||||
|
fill: rgb(0, 128, 0);
|
||||||
|
}
|
||||||
|
text.Down {
|
||||||
|
fill: rgb(255, 0, 0);
|
||||||
|
}
|
||||||
|
text.Unreachable {
|
||||||
|
fill: rgb(128, 0, 0);
|
||||||
|
}
|
||||||
|
text.Ok {
|
||||||
|
fill: rgb(0, 128, 0);
|
||||||
|
}
|
||||||
|
text.Warning {
|
||||||
|
fill: rgb(176, 178, 20);
|
||||||
|
}
|
||||||
|
text.Unknown {
|
||||||
|
fill: rgb(255, 100, 25);
|
||||||
|
}
|
||||||
|
text.Critical {
|
||||||
|
fill: rgb(255, 0, 0);
|
||||||
|
}
|
||||||
|
text.Indeterminate {
|
||||||
|
fill: rgb(0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Class to hide elements */
|
||||||
|
.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Trend SVG style */
|
||||||
|
div#trendsvg {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 10;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Center header text */
|
||||||
|
g#header text {
|
||||||
|
text-anchor: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Anchor the y-axis text to the end of the text */
|
||||||
|
text.yaxis {
|
||||||
|
text-anchor: end;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Draw grid lines as dashed lines */
|
||||||
|
line.vLine,
|
||||||
|
line.hLine {
|
||||||
|
stroke-width: 1;
|
||||||
|
stroke: black;
|
||||||
|
stroke-dasharray: 2,2;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for state popups */
|
||||||
|
div#popup {
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
|
position: absolute;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
background-color: #ffffcc;
|
||||||
|
pointer-events: none;
|
||||||
|
z-index: 20;
|
||||||
|
}
|
||||||
|
div#popup #popup-state {
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
div#popup .field-name {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
div#popup #popup-start,
|
||||||
|
div#popup #popup-end,
|
||||||
|
div#popup #popup-duration,
|
||||||
|
div#popup #popup-info {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for grid spinner */
|
||||||
|
div#gridspinner {
|
||||||
|
position: absolute;
|
||||||
|
top: 74px;
|
||||||
|
left: 355px;
|
||||||
|
height: 50px;
|
||||||
|
width: 50px;
|
||||||
|
z-index: 40;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for availability spinner */
|
||||||
|
div#availabilityspinner {
|
||||||
|
position: absolute;
|
||||||
|
top: 74px;
|
||||||
|
left: 735px;
|
||||||
|
height: 50px;
|
||||||
|
width: 50px;
|
||||||
|
z-index: 40;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles for menu button */
|
||||||
|
div#menubutton {
|
||||||
|
position: absolute;
|
||||||
|
top: 5px;
|
||||||
|
left: 871px;
|
||||||
|
height: 25px;
|
||||||
|
width: 22px;
|
||||||
|
z-index: 40;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#menubutton button {
|
||||||
|
padding: 0px;
|
||||||
|
border: none;
|
||||||
|
background-color: white;
|
||||||
|
}
|
Loading…
Reference in New Issue