new nagios region list widget
also some style changes
This commit is contained in:
parent
a464dedac0
commit
d7f8f65848
@ -122,24 +122,17 @@
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase; }
|
||||
p .widget-nagios li.updated-at {
|
||||
font-size: 10px; }
|
||||
.widget-nagios li.green {
|
||||
background-color: #86d751; }
|
||||
.widget-nagios li.green p.updated-at {
|
||||
color: #c0eaa4; }
|
||||
.widget-nagios li.yellow {
|
||||
background-color: #edde43; }
|
||||
.widget-nagios li.yellow p.updated-at {
|
||||
color: #f6eea0; }
|
||||
.widget-nagios li.red {
|
||||
background-color: #e3394f; }
|
||||
.widget-nagios li.red p.updated-at {
|
||||
color: #f0929e; }
|
||||
.widget-nagios li.error {
|
||||
background-color: #f75f00; }
|
||||
.widget-nagios li.error p.updated-at {
|
||||
color: #ff9c5e; }
|
||||
.widget-nagios li p.updated-at {
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
font-size: 0.8em; }
|
||||
.widget-nagios li.green {
|
||||
background-color: #86d751; }
|
||||
.widget-nagios li.yellow {
|
||||
background-color: #edde43; }
|
||||
.widget-nagios li.red {
|
||||
background-color: #e3394f; }
|
||||
.widget-nagios li.error {
|
||||
background-color: #f75f00; }
|
||||
|
||||
.widget-usage-gauge {
|
||||
background-color: #ec223f; }
|
||||
@ -268,6 +261,38 @@
|
||||
.widget-number .updated-at {
|
||||
color: rgba(0, 0, 0, 0.3); }
|
||||
|
||||
.widget-nagios-list {
|
||||
background-color: #5B7F97;
|
||||
vertical-align: top; }
|
||||
.widget-nagios-list .title {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
font-size: 1em; }
|
||||
.widget-nagios-list .subtitle {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
font-size: 0.8em; }
|
||||
.widget-nagios-list ol, .widget-nagios-list ul {
|
||||
margin: 0 15px;
|
||||
text-align: left;
|
||||
color: rgba(255, 255, 255, 0.7); }
|
||||
.widget-nagios-list ol {
|
||||
nagios-list-style-position: inside; }
|
||||
.widget-nagios-list li {
|
||||
margin-bottom: 5px; }
|
||||
.widget-nagios-list .nagios-list-nostyle {
|
||||
nagios-list-style: none; }
|
||||
.widget-nagios-list .label {
|
||||
color: rgba(255, 255, 255, 0.7); }
|
||||
.widget-nagios-list .value {
|
||||
float: right;
|
||||
margin-left: 12px;
|
||||
font-weight: 600;
|
||||
color: #fff; }
|
||||
.widget-nagios-list .updated-at {
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
font-size: 0.8em; }
|
||||
.widget-nagios-list .more-info {
|
||||
color: rgba(255, 255, 255, 0.7); }
|
||||
|
||||
@-webkit-keyframes status-warning-background {
|
||||
0% {
|
||||
background-color: #e82711; }
|
||||
|
@ -4,7 +4,7 @@ from example_samplers import (
|
||||
RegionsRAMSampler,
|
||||
RegionsCPUSampler,
|
||||
NagiosSampler,
|
||||
# BuzzwordsSampler,
|
||||
NagiosRegionSampler,
|
||||
# ConvergenceSampler,
|
||||
)
|
||||
|
||||
@ -12,12 +12,12 @@ from example_samplers import (
|
||||
def run(args, conf, app, xyzzy):
|
||||
|
||||
samplers = [
|
||||
CPUSampler(xyzzy, 10, conf['openstack']),
|
||||
RAMSampler(xyzzy, 10, conf['openstack']),
|
||||
RegionsCPUSampler(xyzzy, 10, conf['openstack']),
|
||||
RegionsRAMSampler(xyzzy, 10, conf['openstack']),
|
||||
NagiosSampler(xyzzy, 10, conf['nagios']),
|
||||
# BuzzwordsSampler(xyzzy, 2),
|
||||
CPUSampler(xyzzy, 60, conf['openstack']),
|
||||
RAMSampler(xyzzy, 60, conf['openstack']),
|
||||
RegionsCPUSampler(xyzzy, 60, conf['openstack']),
|
||||
RegionsRAMSampler(xyzzy, 60, conf['openstack']),
|
||||
NagiosSampler(xyzzy, 5, conf['nagios']),
|
||||
NagiosRegionSampler(xyzzy, 5, conf['nagios']),
|
||||
# ConvergenceSampler(xyzzy, 1),
|
||||
]
|
||||
|
||||
|
@ -181,21 +181,24 @@ class NagiosSampler(DashieSampler):
|
||||
return s
|
||||
|
||||
|
||||
class BuzzwordsSampler(DashieSampler):
|
||||
class NagiosRegionSampler(DashieSampler):
|
||||
def name(self):
|
||||
return 'buzzwords'
|
||||
return 'nagios_regions'
|
||||
|
||||
def sample(self):
|
||||
my_little_pony_names = ['Rainbow Dash',
|
||||
'Blossomforth',
|
||||
'Derpy',
|
||||
'Fluttershy',
|
||||
'Lofty',
|
||||
'Scootaloo',
|
||||
'Skydancer']
|
||||
items = [{'label': pony_name, 'value': random.randint(0, 20)} for pony_name in my_little_pony_names]
|
||||
random.shuffle(items)
|
||||
return {'items': items}
|
||||
nagios.get_statusfiles(self._conf['services'])
|
||||
servicestatus = nagios.parse_status(self._conf['services'])
|
||||
|
||||
criticals = []
|
||||
warnings = []
|
||||
|
||||
for region in servicestatus:
|
||||
criticals.append({'label': region,
|
||||
'value': servicestatus[region]['critical']})
|
||||
warnings.append({'label': region,
|
||||
'value': servicestatus[region]['warning']})
|
||||
|
||||
return {'criticals': criticals, 'warnings': warnings}
|
||||
|
||||
|
||||
class ConvergenceSampler(DashieSampler):
|
||||
|
@ -58,6 +58,7 @@ def javascripts():
|
||||
'widgets/progress_bars/progress_bars.coffee',
|
||||
'widgets/usage_gauge/usage_gauge.coffee',
|
||||
'widgets/nagios/nagios.coffee',
|
||||
'widgets/nagios_list/nagios_list.coffee',
|
||||
]
|
||||
nizzle = True
|
||||
if not nizzle:
|
||||
|
@ -20,16 +20,20 @@
|
||||
<div id="container">
|
||||
<div class="gridster">
|
||||
<ul>
|
||||
<li data-row="1" data-col="2" data-sizex="1" data-sizey="1">
|
||||
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
|
||||
<div data-id="clock" data-view="Clock" data-title="Clock"></div>
|
||||
</li>
|
||||
|
||||
<li data-row="1" data-col="3" data-sizex="1" data-sizey="1">
|
||||
<li data-row="1" data-col="2" data-sizex="1" data-sizey="1">
|
||||
<div data-id="nagios" data-view="Nagios" data-unordered="true" data-title="Icinga Prod" data-moreinfo="Unacknowledged events"></div>
|
||||
</li>
|
||||
|
||||
<li data-row="1" data-col="3" data-sizex="1" data-sizey="1">
|
||||
<div data-id="nagios_regions" data-view="NagiosList" data-title="Nagios by region" data-subtitle1="Criticals" data-subtitle2="Warnings"></div>
|
||||
</li>
|
||||
|
||||
<li data-row="1" data-col="4" data-sizex="1" data-sizey="1">
|
||||
<div data-id="cpu" data-view="Meter" data-title="CPU"></div>
|
||||
<div data-id="cpu" data-view="Meter" data-title="VCPU"></div>
|
||||
</li>
|
||||
|
||||
<li data-row="1" data-col="5" data-sizex="1" data-sizey="1">
|
||||
@ -37,21 +41,17 @@
|
||||
</li>
|
||||
|
||||
<li data-row="2" data-col="2" data-sizex="2" data-sizey="1">
|
||||
<div data-id="cpu_regions" data-view="ProgressBars" data-title="CPU usage per region"></div>
|
||||
<div data-id="cpu_regions" data-view="ProgressBars" data-title="VCPU provisioned per region"></div>
|
||||
</li>
|
||||
|
||||
<li data-row="2" data-col="4" data-sizex="2" data-sizey="1">
|
||||
<div data-id="ram_regions" data-view="ProgressBars" data-title="RAM usage per region"></div>
|
||||
</li>
|
||||
<div data-id="ram_regions" data-view="ProgressBars" data-title="RAM provisioned per region"></div>
|
||||
</li>
|
||||
|
||||
<!-- <li data-row="2" data-col="1" data-sizex="1" data-sizey="2">
|
||||
<div data-id="buzzwords" data-view="List" data-unordered="true" data-title="Buzzwords" data-moreinfo="Absolute ranking of pony preferences"></div>
|
||||
</li>
|
||||
|
||||
<li data-row="3" data-col="2" data-sizex="2" data-sizey="1">
|
||||
<!-- <li data-row="3" data-col="2" data-sizex="2" data-sizey="1">
|
||||
<div data-id="convergence" data-view="Graph" data-title="Convergence" style="background-color:#ff9618"></div>
|
||||
</li>
|
||||
-->
|
||||
</li> -->
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -25,48 +25,27 @@ $error: #f75f00;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
p &.updated-at {
|
||||
font-size: 10px;
|
||||
p {
|
||||
&.updated-at {
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
font-size: 0.8em;
|
||||
}
|
||||
}
|
||||
|
||||
&.green {
|
||||
background-color: $success;
|
||||
|
||||
p {
|
||||
&.updated-at {
|
||||
color: lighten($success, 20%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.yellow {
|
||||
background-color: $warning;
|
||||
|
||||
p {
|
||||
&.updated-at {
|
||||
color: lighten($warning, 20%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.red {
|
||||
background-color: $failure;
|
||||
|
||||
p {
|
||||
&.updated-at {
|
||||
color: lighten($failure, 20%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.error {
|
||||
background-color: $error;
|
||||
|
||||
p {
|
||||
&.updated-at {
|
||||
color: lighten($error, 20%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
1
pydashie/widgets/nagios_list/nagios_list.coffee
Normal file
1
pydashie/widgets/nagios_list/nagios_list.coffee
Normal file
@ -0,0 +1 @@
|
||||
class Dashing.NagiosList extends Dashing.Widget
|
22
pydashie/widgets/nagios_list/nagios_list.html
Normal file
22
pydashie/widgets/nagios_list/nagios_list.html
Normal file
@ -0,0 +1,22 @@
|
||||
<h1 class="title" data-bind="title"></h1>
|
||||
|
||||
<h2 class="subtitle" data-bind="subtitle1"></h1>
|
||||
|
||||
<ul>
|
||||
<li data-foreach-item="criticals">
|
||||
<span class="label" data-bind="item.label"></span>
|
||||
<span class="value" data-bind="item.value"></span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="subtitle" data-bind="subtitle2"></h1>
|
||||
|
||||
<ul>
|
||||
<li data-foreach-item="warnings">
|
||||
<span class="label" data-bind="item.label"></span>
|
||||
<span class="value" data-bind="item.value"></span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p class="more-info" data-bind="moreinfo"></p>
|
||||
<p class="updated-at" data-bind="updatedAtMessage"></p>
|
67
pydashie/widgets/nagios_list/nagios_list.scss
Normal file
67
pydashie/widgets/nagios_list/nagios_list.scss
Normal file
@ -0,0 +1,67 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
// Sass declarations
|
||||
// ----------------------------------------------------------------------------
|
||||
$background-color: #5B7F97;
|
||||
$value-color: #fff;
|
||||
|
||||
$title-color: rgba(255, 255, 255, 0.7);
|
||||
$label-color: rgba(255, 255, 255, 0.7);
|
||||
$moreinfo-color: rgba(255, 255, 255, 0.7);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Widget-nagios-list styles
|
||||
// ----------------------------------------------------------------------------
|
||||
.widget-nagios-list {
|
||||
|
||||
background-color: $background-color;
|
||||
vertical-align: top;
|
||||
|
||||
.title {
|
||||
color: $title-color;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: $title-color;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
margin: 0 15px;
|
||||
text-align: left;
|
||||
color: $label-color;
|
||||
}
|
||||
|
||||
ol {
|
||||
nagios-list-style-position: inside;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.nagios-list-nostyle {
|
||||
nagios-list-style: none;
|
||||
}
|
||||
|
||||
.label {
|
||||
color: $label-color;
|
||||
}
|
||||
|
||||
.value {
|
||||
float: right;
|
||||
margin-left: 12px;
|
||||
font-weight: 600;
|
||||
color: $value-color;
|
||||
}
|
||||
|
||||
.updated-at {
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.more-info {
|
||||
color: $moreinfo-color;
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user