mkdir -p './dbus-1/session.d'
mkdir -p './dpkg/dpkg.cfg.d'
mkdir -p './fail2ban/fail2ban.d'
+mkdir -p './icinga2/pki'
mkdir -p './initramfs-tools/conf.d'
mkdir -p './initramfs-tools/hooks'
mkdir -p './initramfs-tools/scripts/init-bottom'
maybe chmod 0644 'default/halt'
maybe chmod 0644 'default/haveged'
maybe chmod 0644 'default/hwclock'
+maybe chmod 0644 'default/icinga2'
maybe chmod 0644 'default/keyboard'
maybe chmod 0644 'default/locale'
maybe chmod 0644 'default/locale.bak'
maybe chmod 0644 'hosts'
maybe chmod 0644 'hosts.allow'
maybe chmod 0644 'hosts.deny'
+maybe chmod 0755 'icinga'
+maybe chmod 0755 'icinga/stylesheets'
+maybe chmod 0644 'icinga/stylesheets/avail.css'
+maybe chmod 0644 'icinga/stylesheets/checksanity.css'
+maybe chmod 0644 'icinga/stylesheets/cmd.css'
+maybe chmod 0644 'icinga/stylesheets/common.css'
+maybe chmod 0644 'icinga/stylesheets/config.css'
+maybe chmod 0644 'icinga/stylesheets/dd.css'
+maybe chmod 0644 'icinga/stylesheets/extinfo.css'
+maybe chmod 0644 'icinga/stylesheets/histogram.css'
+maybe chmod 0644 'icinga/stylesheets/history.css'
+maybe chmod 0644 'icinga/stylesheets/menu.css'
+maybe chmod 0644 'icinga/stylesheets/notifications.css'
+maybe chmod 0644 'icinga/stylesheets/outages.css'
+maybe chmod 0644 'icinga/stylesheets/showlog.css'
+maybe chmod 0644 'icinga/stylesheets/status.css'
+maybe chmod 0644 'icinga/stylesheets/statusmap.css'
+maybe chmod 0644 'icinga/stylesheets/summary.css'
+maybe chmod 0644 'icinga/stylesheets/tac.css'
+maybe chmod 0644 'icinga/stylesheets/tacheader.css'
+maybe chmod 0644 'icinga/stylesheets/trends.css'
+maybe chown 'nagios' 'icinga2'
+maybe chgrp 'nagios' 'icinga2'
+maybe chmod 0750 'icinga2'
+maybe chmod 0755 'icinga2-classicui'
+maybe chmod 0644 'icinga2-classicui/apache2.conf'
+maybe chmod 0644 'icinga2-classicui/cgi.cfg'
+maybe chgrp 'www-data' 'icinga2-classicui/htpasswd.users'
+maybe chmod 0640 'icinga2-classicui/htpasswd.users'
+maybe chmod 0755 'icinga2/conf.d'
+maybe chmod 0644 'icinga2/conf.d/app.conf'
+maybe chmod 0644 'icinga2/conf.d/apt.conf'
+maybe chmod 0644 'icinga2/conf.d/commands.conf'
+maybe chmod 0644 'icinga2/conf.d/downtimes.conf'
+maybe chmod 0644 'icinga2/conf.d/groups.conf'
+maybe chmod 0644 'icinga2/conf.d/hosts.conf'
+maybe chmod 0644 'icinga2/conf.d/notifications.conf'
+maybe chmod 0644 'icinga2/conf.d/satellite.conf'
+maybe chmod 0644 'icinga2/conf.d/services.conf'
+maybe chmod 0644 'icinga2/conf.d/templates.conf'
+maybe chmod 0644 'icinga2/conf.d/timeperiods.conf'
+maybe chmod 0644 'icinga2/conf.d/users.conf'
+maybe chmod 0644 'icinga2/constants.conf'
+maybe chmod 0755 'icinga2/features-available'
+maybe chmod 0644 'icinga2/features-available/api.conf'
+maybe chmod 0644 'icinga2/features-available/checker.conf'
+maybe chmod 0644 'icinga2/features-available/command.conf'
+maybe chmod 0644 'icinga2/features-available/compatlog.conf'
+maybe chmod 0644 'icinga2/features-available/debuglog.conf'
+maybe chmod 0644 'icinga2/features-available/gelf.conf'
+maybe chmod 0644 'icinga2/features-available/graphite.conf'
+maybe chmod 0644 'icinga2/features-available/influxdb.conf'
+maybe chmod 0644 'icinga2/features-available/livestatus.conf'
+maybe chmod 0644 'icinga2/features-available/mainlog.conf'
+maybe chmod 0644 'icinga2/features-available/notification.conf'
+maybe chmod 0644 'icinga2/features-available/opentsdb.conf'
+maybe chmod 0644 'icinga2/features-available/perfdata.conf'
+maybe chmod 0644 'icinga2/features-available/statusdata.conf'
+maybe chmod 0644 'icinga2/features-available/syslog.conf'
+maybe chmod 0755 'icinga2/features-enabled'
+maybe chmod 0644 'icinga2/icinga2.conf'
+maybe chmod 0644 'icinga2/init.conf'
+maybe chown 'nagios' 'icinga2/pki'
+maybe chgrp 'nagios' 'icinga2/pki'
+maybe chmod 0700 'icinga2/pki'
+maybe chmod 0755 'icinga2/repository.d'
+maybe chmod 0644 'icinga2/repository.d/README'
+maybe chmod 0755 'icinga2/scripts'
+maybe chmod 0755 'icinga2/scripts/mail-host-notification.sh'
+maybe chmod 0755 'icinga2/scripts/mail-service-notification.sh'
+maybe chmod 0644 'icinga2/zones.conf'
+maybe chmod 0755 'icinga2/zones.d'
+maybe chmod 0644 'icinga2/zones.d/README'
maybe chmod 0755 'init'
maybe chmod 0755 'init.d'
maybe chmod 0644 'init.d/README'
maybe chmod 0755 'init.d/haveged'
maybe chmod 0755 'init.d/hostname.sh'
maybe chmod 0755 'init.d/hwclock.sh'
+maybe chmod 0755 'init.d/icinga2'
maybe chmod 0755 'init.d/kbd'
maybe chmod 0755 'init.d/keyboard-setup.sh'
maybe chmod 0755 'init.d/killprocs'
maybe chmod 0644 'logrotate.d/exim4-base'
maybe chmod 0644 'logrotate.d/exim4-paniclog'
maybe chmod 0644 'logrotate.d/fail2ban'
+maybe chmod 0644 'logrotate.d/icinga2'
maybe chmod 0644 'logrotate.d/postgresql-common'
maybe chmod 0644 'logrotate.d/rsyslog'
maybe chmod 0644 'logrotate.d/salt-common'
maybe chmod 0644 'mysql/mariadb.conf.d/50-client.cnf'
maybe chmod 0644 'mysql/mariadb.conf.d/50-mysql-clients.cnf'
maybe chmod 0644 'mysql/my.cnf.fallback'
+maybe chmod 0755 'nagios-plugins'
+maybe chmod 0755 'nagios-plugins/config'
+maybe chmod 0644 'nagios-plugins/config/apt.cfg'
+maybe chmod 0644 'nagios-plugins/config/dhcp.cfg'
+maybe chmod 0644 'nagios-plugins/config/disk.cfg'
+maybe chmod 0644 'nagios-plugins/config/dummy.cfg'
+maybe chmod 0644 'nagios-plugins/config/ftp.cfg'
+maybe chmod 0644 'nagios-plugins/config/http.cfg'
+maybe chmod 0644 'nagios-plugins/config/load.cfg'
+maybe chmod 0644 'nagios-plugins/config/mail.cfg'
+maybe chmod 0644 'nagios-plugins/config/news.cfg'
+maybe chmod 0644 'nagios-plugins/config/ntp.cfg'
+maybe chmod 0644 'nagios-plugins/config/ping.cfg'
+maybe chmod 0644 'nagios-plugins/config/procs.cfg'
+maybe chmod 0644 'nagios-plugins/config/real.cfg'
+maybe chmod 0644 'nagios-plugins/config/ssh.cfg'
+maybe chmod 0644 'nagios-plugins/config/tcp_udp.cfg'
+maybe chmod 0644 'nagios-plugins/config/telnet.cfg'
+maybe chmod 0644 'nagios-plugins/config/users.cfg'
maybe chmod 0644 'nanorc'
maybe chmod 0755 'network'
maybe chmod 0755 'network/if-down.d'
--- /dev/null
+../../icinga2-classicui/apache2.conf
\ No newline at end of file
--- /dev/null
+../conf-available/icinga2-classicui.conf
\ No newline at end of file
--- /dev/null
+# default settings for icinga2's initscript
+
+#DAEMON_ARGS="-e /var/log/icinga2/icinga2.err"
postgres:x:116:
messagebus:x:117:
_chrony:x:118:
+nagios:x:119:
ulog:x:115:
postgres:x:116:
messagebus:x:117:
+_chrony:x:118:
postgres:!::
messagebus:!::
_chrony:!::
+nagios:!::
ulog:!::
postgres:!::
messagebus:!::
+_chrony:!::
--- /dev/null
+
+.avail { font-family: arial,serif; background-color: #fff; color: #000; font-size: 8pt; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+th { text-align: left; font-size: 8pt; text-align: left; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.reportRange { text-align: center; font-weight: bold; }
+.reportDuration { text-align: center; }
+.reportTime { text-align: center; }
+
+.dataTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+
+table.data { background-color: #fff; padding: 2; }
+th.data { font-size: 10pt; background-color: #fff; background-color: #707677; color: #fff; }
+.dataOdd { background-color: #ededed; }
+.dataEven { background-color: #e9e9e9; }
+
+.optionBoxTitle { font-family: arial,serif; text-align: center; font-weight: bold; font-size: 10pt; }
+.optionBox { font-family: arial,serif; font-size: 10pt; padding: 2; }
+
+.hostUP { background-color: #00cc33; color: #fff; }
+.hostDOWN { background-color: #ff3300; color: #fff; }
+.hostUNREACHABLE { background-color: #bf44b2; color: #fff; }
+tr.dataEven td.hostUP, tr.dataEven td.hostDOWN, tr.dataEven .hostUNREACHABLE { text-align: center; }
+tr.dataOdd td.hostUP, tr.dataOdd td.hostDOWN, tr.dataOdd .hostUNREACHABLE { text-align: center; }
+
+.serviceOK { background-color: #00cc33; color: #fff; }
+.serviceWARNING { background-color: #ffa500; color: #fff; }
+.serviceUNKNOWN { background-color: #bf44b2; color: #fff; }
+.serviceCRITICAL { background-color: #ff3300; color: #fff; }
+tr.dataEven td.serviceOK, tr.dataEven td.serviceWARNING, tr.dataEven td.serviceUNKNOWN, tr.dataEven td.serviceCRITICAL { text-align: center; }
+tr.dataOdd td.serviceOK, tr.dataOdd td.serviceWARNING, tr.dataOdd td.serviceUNKNOWN, tr.dataOdd td.serviceCRITICAL { text-align: center; }
+
+.helpfulHint { font-style: italic; text-align: center; }
+
+.dateSelectTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+.dateSelectSubTitle { font-weight: bold; }
+
+.reportSelectTip { font-style: italic; }
+.reportSelectTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+.reportSelectSubTitle {text-align: right; }
+
+table.logEntries { background-color: #fff; margin-top: 10px; border-spacing: 2px; border: 0; }
+th.logEntries { background-color: #707677; color: #fff; }
+.logEntriesEven { background-color: #ededed; color: #000; }
+.logEntriesOdd { background-color: #e9e9e9; color: #000; }
+
+.logEntriesINDETERMINATE { background-color: #acacac; }
+
+.logEntriesOK { background-color: #33cc00; color: #fff; text-align: center; }
+.logEntriesUNKNOWN { background-color: #bf44b2; color: #fff; text-align: center; }
+.logEntriesWARNING { background-color: #ffa500; color: #fff; text-align: center; }
+.logEntriesCRITICAL { background-color: #ff3300; color: #fff; text-align: center; }
+.logEntriesUP { background-color: #33cc00; color: #fff; text-align: center; }
+.logEntriesDOWN { background-color: #ff3300; color: #fff; text-align: center; }
+.logEntriesUNREACHABLE { background-color: #bf44b2; color: #fff; text-align: center; }
--- /dev/null
+
+.extinfo { font-family: arial,serif; background-color: #fff; color: #000; font-size: 8pt; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; border-color: #707677; }
+table { border-color: #ccc; border-style: solid; }
+th { text-align: left; font-size: 8pt; text-align: left; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.errorMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+.errorDescription { text-align: center; font-weight: bold; font-size: 10pt; }
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.Title { text-align: center; font-weight: bold; font-size: 10pt; }
+.SectionTitle { text-align: center; font-weight: bold; }
+
+.optionBoxTitle { text-align: center; font-weight: bold; }
+.optionBox { background-color: #ededed; padding: 2; }
+
+.DynamicData { background-color: #fff; padding: 2; }
+.StaticData { background-color: #fff; padding: 2; }
+.TableHeader { background-color: #707677; color: #fff; }
+
+.Item { background-color: #ededed; font-weight: bold; }
+.DataSource { background-color: #ededed; }
+.Number { background-color: #ededed; }
+
+.Value { background-color: #C4C2C2; color: #fff; }
+.ValueOk { background-color: #33cc00; color: #fff; }
+.ValueError { background-color: #ff3300; color: #fff; }
+
+
+
+
--- /dev/null
+/*
+ * CSS file for cmd.cgi
+ */
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+
+.cmd { font-family: Helvetica, serif; background-color: #fff; color: #000; font-size: 8pt; }
+
+td {
+ font-size: 9pt;
+ border: 0;
+ padding-top: 3px;
+ padding-bottom:3px;
+}
+
+.objectTableHeader {
+ font-size: 8pt;
+ font-weight: bold;
+ height:25px;
+ background-color: #707677;
+ color: #fff;
+ border: 0;
+}
+
+.objectDescription {
+ font-size: 8pt;
+ font-weight: bold;
+ height:25px;
+}
+
+.descriptionleft {
+ text-align: left;
+ padding-left:10px;
+}
+
+.boxFrame {
+ border: 1px dotted #ccc;
+}
+
+.contentTable {
+ border:10px white solid;
+ text-align:center;
+ width:100%;
+}
+
+.sectionHeader {
+ text-align: center;
+ font-size: 9pt;
+ border: 0;
+ line-height: 20px;
+ background-image: url(../images/cmd_shadow.gif);
+ background-repeat:repeat-x;
+ font-weight: bold;
+}
+
+.commitButton {
+ height:40px;
+ padding-right:20px;
+ text-align:right;
+}
+
+.inputError {
+ border:1px red solid;
+ color:black;
+ margin-top:0.5em;
+ padding:0.5em;
+ float:left;
+ background-color: #FFCECE;
+}
+
+.submitButton {
+ /*
+ * Design your own buttons
+ */
+}
+
+input[type=text], textarea {
+ border:1px #D0D0D0 solid;
+}
+
+.errorBox,
+.successBox,
+.BoxWidth {
+ width:600px;
+}
+
+.errorBox {
+ border:1px red solid;
+ background-color: #FFE5E5;
+}
+
+.successBox {
+ border:1px green solid;
+ background-color: #C0FFC0;
+}
+
+.errorMessage {
+ text-align:left;
+ font-weight: bold;
+ margin:1em;
+ font-size: 10pt;
+}
+
+.errorDescription,
+.successMessage {
+ text-align:left;
+ margin:1em;
+ font-size: 10pt;
+}
+
+.errorContent {
+ font-weight: bold;
+ font-size: 10pt;
+ padding:0.5em;
+}
+
+.errorTable {
+ margin:0.5em 1.2em 0.5em 1.2em;
+}
+
+.errorString {
+ margin:1em;
+ width:15%;
+ font-weight: bold;
+ font-size: 10pt;
+}
+
+.sumHeader {
+ text-align: center;
+ background-color: #ffffff;
+ font-weight: bold;
+ font-size: 9pt;
+}
+
+/* Commit status colors */
+.commitSuccess { color:green; font-size: 10pt; }
+.commitUnknown { color:#bf44b2; font-size: 10pt; }
+.commitFailed { color:red; font-size: 10pt; }
+
+/* Row Colors */
+.statusOdd { background-color: #cfcfcf; }
+.statusEven { background-color: #e7e7e7; }
--- /dev/null
+body {
+ font-family: arial, verdana, serif;
+ font-weight: normal;
+ font-size: 10pt;
+ }
+
+
+/* navbar */
+body.navbar {
+ background-color: black;
+ color: white;
+ font-family: verdana,arial,serif;
+ }
+
+.navbarlogo {
+ margin: 0 0 10px 0;
+ }
+
+.navsection {
+ margin: 5px 0 10px 0;
+ color: #DEE7C6;
+ }
+
+.navsectiontitle {
+ font-size: 10pt;
+ font-weight: bold;
+ border:1px solid #DEE7C6;
+ padding: 2px;
+ }
+
+div.navsectionlinks {
+ margin: 3px 0 0 0;
+ }
+
+ul.navsectionlinks {
+ margin: 0px;
+ padding: 0px;
+ list-style: none;
+ }
+
+ul.navsectionlinks li {
+ }
+
+ul.navsectionlinks li ul {
+ margin: 0px;
+ padding: 0 0 0 30px;
+ list-style: disc;
+ }
+
+ul.navsectionlinks li ul li {
+ }
+
+ul.navsectionlinks li ul li a {
+ color: #DEE7C6;
+ background: none;
+ padding: 0;
+ }
+
+ul.navsectionlinks li ul li a:hover {
+ color: #FFC47F;
+ background: none;
+ }
+
+ul.navsectionlinks li ul li ul {
+ margin: 0px;
+ padding: 0 0 0 15px;
+ list-style: circle;
+ }
+
+
+.navbarsearch {
+ margin: 5px 0 0 0;
+ }
+
+.navbarsearch fieldset {
+ border: none;
+ }
+
+.navbarsearch fieldset legend {
+ font-size: 8pt;
+ }
+
+.navbarsearch input{
+ font-size: 8pt;
+ color: black;
+ background-color: white;
+ }
+
+
+
+/* main page */
+#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 .version{
+ font-size: 14pt;
+ font-weight: bold;
+ }
+#currentversioninfo .releasedate{
+ font-size: 11pt;
+ margin: 5px 0 0 0;
+ }
+#currentversioninfo .whatsnew{
+ font-size: 11pt;
+ font-weight: bold;
+ margin: 10px 0 0 0;
+ }
+
+#developer{
+ font-size: 10pt;
+ }
+#developer .doxygen{
+ font-size: 10pt;
+ font-weight: bold;
+ margin: 10px 0 0 0;
+ }
+
+#updateversioninfo{
+ margin: 15px auto 50px auto;
+ width: 400px;
+ }
+.updatechecksdisabled{
+ background-color: #FF9F9F;
+ border: 1px solid red;
+ padding: 10px;
+ }
+.updatechecksdisabled div.warningmessage{
+ font-weight: bold;
+ }
+#updateversioninfo div.submessage{
+ clear: left;
+ }
+.updateavailable{
+ background-color: #9FD4FF;
+ border: 1px solid blue;
+ padding: 10px;
+ }
+.updateavailable div.updatemessage{
+ font-size: 12pt;
+ font-weight: bold;
+ }
+
+#splashpage #mainfooter{
+ margin: 25px 0 0 0;
+ font-size: 8pt;
+ }
+#splashpage #mainfooter .disclaimer{
+ width: 80%;
+ margin: auto;
+ }
+#splashpage #mainfooter .logos{
+ margin: 15px 0 0 0;
+ }
+
+
+a img {
+ border: none;
+ }
+
+.csv_export_link{
+ text-align: right;
+}
+
+.errorBox {
+ border:1px red solid;
+ background-color: #FFE5E5;
+ width:600px;
+}
+
+.errorMessage {
+ text-align:left;
+ font-weight: bold;
+ margin:1em;
+ font-size: 10pt;
+}
+
+.errorDescription,
+.successMessage {
+ text-align:left;
+ margin:1em;
+ font-size: 10pt;
+}
+
+.linkBox { border: 0; }
+table.linkBox { margin-top: 20px; }
+td.linkBox a { color: #000; margin-left: 5px; padding-left: 10px; background: url(../images/menu_li1.gif) 0 0.35em no-repeat; }
+td.linkBox a:hover { color: #6e7475; background: url(../images/menu_li2.gif) 0 0.35em no-repeat; }
+
+.tac { margin: 0px; }
+
+.tac_banner {
+ width: 100%;
+ height: 70px;
+ line-height: 70px;
+ background: #ededed url(../images/Icinga_Header_Webinterface_Pixel.jpg) top left repeat-x;
+}
--- /dev/null
+
+.config { font-family: arial,serif; background-color: #fff; color: #000; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+th { text-align: left; font-size: 8pt; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.errorMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+.errorDescription { text-align: center; font-weight: bold; font-size: 10pt; }
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.dataTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+
+table.data { background-color: #fff; padding: 2; margin-left:auto; margin-right:auto;}
+th.data { font-size: 10pt; background-color: #707677; color: #fff; }
+.dataOdd { background-color: #CFCFCF; }
+.dataEven { background-color: #E7E7E7; }
+.dataDiff { background-color: #E9E0D3; }
+
+.reportSelectTip { font-style: italic; }
+.reportSelectTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+.reportSelectSubTitle {text-align: right; }
\ No newline at end of file
--- /dev/null
+/************** Skin 1 *********************/
+.dd {
+ /*display:inline-block !important;*/
+ text-align:left;
+ background-color:#fff;
+ font-family:Arial, Helvetica, sans-serif;
+ font-size:12px;
+ float:right;
+ margin:3px 0 3px 0;
+ height:16px;
+ line-height:16px;
+}
+.dd .ddTitle {
+ background:#f2f2f2;
+ border:1px solid #c3c3c3;
+ padding:1px 1px 1px 3px;
+ text-indent:0;
+ cursor:default;
+ overflow:hidden;
+}
+.dd .ddTitle span.arrow {
+ background:url(../images/dd_arrow.gif) no-repeat 0 0; float:right; display:inline-block;width:16px; height:16px; cursor:pointer;
+}
+
+.dd .ddTitle span.ddTitleText {text-indent:1px; overflow:hidden; line-height:16px;}
+.dd .ddTitle span.ddTitleText img{text-align:left; padding:0 2px 0 0}
+.dd .ddTitle img.selected {
+ padding:0 3px 0 0;
+ vertical-align:top;
+}
+.dd .ddChild {
+ position:absolute;
+ border:1px solid #c3c3c3;
+ border-top:none;
+ display:none;
+ margin:7px 0 0 0;
+ width:auto;
+ overflow:auto;
+ overflow-x:hidden !important;
+ background-color:#ffffff;
+}
+.dd .ddChild .opta a, .dd .ddChild .opta a:visited {padding-left:10px}
+.dd .ddChild a {
+ display:block;
+ padding:2px 0 2px 3px;
+ text-decoration:none;
+ color:#000;
+ overflow:hidden;
+ white-space:nowrap;
+ cursor:pointer;
+}
+.dd .ddChild a:hover {
+ background-color:#66CCFF;
+}
+.dd .ddChild a img {
+ border:0;
+ padding:0 2px 0 0;
+ vertical-align:middle;
+}
+.dd .ddChild a.selected {
+ background-color:#66CCFF;
+}
+.hidden {display:none;}
+
+.dd .borderTop{border-top:1px solid #c3c3c3 !important;}
+.dd .noBorderTop{border-top:none 0 !important}
+
+.page_selector {
+ width: 345px;
+ vertical-align: middle;
+ text-align: center;
+ height: 24px;
+ line-height: 24px;
+ padding:2px 0px;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.page_select_dd {
+ padding: 0 5px;
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ text-align: center;
+ margin-left: auto;
+ margin-right: auto;
+}
+/*******************************/
--- /dev/null
+
+.extinfo { font-family: arial,serif; background-color: #fff; color: #000; font-size: 8pt; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; border-color: #707677; }
+table { border: 0 }
+th { text-align: left; font-size: 8pt; text-align: left; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+
+div.dataTitle { text-align: center; font-weight: bold; font-size: 10pt; margin-bottom: 15px; }
+div.data { text-align: center; font-size: 10pt; }
+
+div.perfTypeTitle { text-align: right; font-weight: bold; }
+
+table.data { background-color: #ededed; padding: 3px; }
+th.data { font-size: 10pt; background-color: #707677; color: #fff; }
+.dataOdd { background-color: #ededed; }
+.dataEven { background-color: #e9e9e9; }
+
+.optionBoxTitle { text-align: center; font-weight: bold; }
+.optionBox { background-color: #ededed; padding: 3px; }
+
+div.commandTitle { text-align: center; font-weight: bold; font-size: 10pt; margin-bottom: 15px; }
+
+table.command { background-color: #ededed; padding: 3px; }
+.command { padding: 2px; text-align:left; }
+
+.commentTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+div.commentNav { text-align: center; }
+
+table.comment { width: 100%; background-color: #fff; padding: 3px; }
+th.comment { text-align: left; font-size: 10pt; background-color: #707677; color: #fff; }
+.commentOdd { background-color: #ededed; }
+.commentEven { background-color: #e9e9e9; }
+div.comment,a.comment { background-color: #fff; text-align: center; }
+
+.downtimeTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+div.downtimeNav { text-align: center; }
+
+table.downtime { width: 100%; background-color: #fff; padding: 3px; }
+th.downtime { text-align: left; font-size: 10pt; background-color: #707677; color: #fff; }
+.downtimeOdd { background-color: #ededed; }
+.downtimeEven { background-color: #e9e9e9; }
+
+.notificationsENABLED { background-color: #00cc33; color: #fff; text-align: center; }
+.notificationsDISABLED { background-color: #ff3300; color: #fff; text-align: center; }
+.notificationsUNKNOWN { background-color: #bf44b2; color: #fff; text-align: center; }
+
+.checksENABLED { background-color: #00cc33; color: #fff; text-align: center; }
+.checksDISABLED { background-color: #ff3300; color: #fff; text-align: center; }
+
+.eventhandlersENABLED { background-color: #00cc33; color: #fff; text-align: center; }
+.eventhandlersDISABLED { background-color: #ff3300; color: #fff; text-align: center; }
+
+.flapdetectionENABLED { background-color: #00cc33; color: #fff; text-align: center; }
+.flapdetectionDISABLED { background-color: #ff3300; color: #fff; text-align: center; }
+
+.notflapping { background-color: #00cc33; color: #fff; float: left; }
+.flapping { background-color: #ff3300; color: #fff; float: left; }
+
+.downtimeACTIVE { background-color: #ff3300; color: #fff; float: left; }
+.downtimeINACTIVE { background-color: #00cc33; color: #fff; float: left; }
+
+.processOK { background-color: #00cc33; color: #fff; }
+.processUNKNOWN { background-color: #bf44b2; color: #fff; }
+.processWARNING { background-color: #ffa500; color: #fff; }
+.processCRITICAL { background-color: #ff3300; color: #fff; }
+
+.modeACTIVE { background-color: #00cc33; color: #fff; }
+.modeSTANDBY { background-color: #ffa500; color: #fff; }
+
+div.hostUP, div.hostDOWN, div.hostUNREACHABLE, div.hostDOWNTIME { display: inline; }
+.hostUP { background-color: #00cc33; color: #fff; }
+.hostDOWN { background-color: #ff3300; color: #fff; }
+.hostUNREACHABLE { background-color: #bf44b2; color: #fff; }
+.hostDOWNTIME { background-color: #acacac; color: #fff; }
+tr.dataEven td.hostUP, tr.dataEven td.hostDOWN, tr.dataEven .hostUNREACHABLE, tr.dataEven .hostDOWNTIME { text-align: center; }
+tr.dataOdd td.hostUP, tr.dataOdd td.hostDOWN, tr.dataOdd .hostUNREACHABLE, tr.dataOdd .hostDOWNTIME { text-align: center; }
+
+div.serviceOK, div.serviceWARNING, div.serviceUNKNOWN, div.serviceCRITICAL, div.serviceDOWNTIME { display: inline; }
+.serviceOK { background-color: #00cc33; color: #fff; }
+.serviceWARNING { background-color: #ffa500; color: #fff; }
+.serviceUNKNOWN { background-color: #bf44b2; color: #fff; }
+.serviceCRITICAL { background-color: #ff3300; color: #fff; }
+.serviceDOWNTIME { background-color: #acacac; color: #fff; }
+tr.dataEven td.serviceOK, tr.dataEven td.serviceWARNING, tr.dataEven td.serviceUNKNOWN, tr.dataEven td.serviceCRITICAL, tr.dataEven td.serviceDOWNTIME { text-align: center; }
+tr.dataOdd td.serviceOK, tr.dataOdd td.serviceWARNING, tr.dataOdd td.serviceUNKNOWN, tr.dataOdd td.serviceCRITICAL, tr.dataOdd td.serviceDOWNTIME { text-align: center; }
+
+.commandPanel { background-color: #fff; }
+.commentPanel { background-color: #fff; }
+
+.stateInfoPanel { background-color: #fff; }
+.stateStatisticsPanel { background-color: #fff; }
+.stateInfoTable1 { background-color: #ededed; }
+.stateInfoTable2 { background-color: #e9e9e9; }
+
+.queueTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+
+table.queue { background-color: #fff; padding: 2; }
+th.queue { text-align: left; font-size: 10pt; background-color: #707677; color: #fff; }
+.queueOdd { background-color: #ededed; }
+.queueEven { background-color: #e9e9e9; }
+.queueENABLED { text-align: center; color: #fff; background-color: #00cc33; }
+.queueDISABLED { text-align: center; color: #fff; background-color: #ff3300; }
+
+.dataVar, .dataVal { text-align: left; }
+
+.CustomVarLine { padding: 0.1em 0.5em; margin-left: 1em; background-color: #d9d9d9; }
+.CustomVarHead { padding-left: 0.5em; padding-bottom: 0.3em; }
+.CustomVarTable { background-color: #e9e9e9; padding:0.1em;}
--- /dev/null
+
+.histogram { font-family: arial,serif; font-size: 8pt; background-color: #fff; color: #000; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+th { text-align: left; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+.infoMessage { text-align: center; color: #ff3300; font-weight: bold; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.helpfulHints { text-align: center; }
+
+.dataTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+
+.reportRange { text-align: center; font-weight: bold; }
+.reportDuration { text-align: center; }
+.reportTime { text-align: center; }
+
+.reportSelectTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+.reportSelectSubTitle { font-family: arial,serif; text-align: right; }
+
+.helpfulHint { font-style: italic; text-align: center; }
+
--- /dev/null
+
+.history { font-family: arial,serif; font-size: 8pt; background-color: white; color: black; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+th { text-align: left; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+hr { border: 0; color: #ededed; }
+
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+.infoMessage { text-align: center; color: #ff3300; font-weight: bold; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.dataTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+
+.navBoxTitle { font-weight: bold; }
+.navBoxItem { color: #707677 }
+.navBoxFile { color: #707677; font-weight: bold; text-align: center; }
+
+.dateTimeBreak { font-size: 10pt; font-weight: bold; background-color: #ededed; color: #707677; }
--- /dev/null
+* {
+ margin: 0;
+ padding: 0;
+}
+
+body {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 0.7em;
+ color: #000;
+ background: #ededed url(../images/menu_body.gif) top left repeat-y;
+}
+
+img {
+ border: 0;
+}
+
+ul {
+ list-style-type: none;
+}
+
+#menu {
+ width: 199px;
+}
+
+#menu h2 {
+ position: relative;
+ padding: 0 5px;
+ height: 26px;
+ color: #ef9f1b;
+ background: #ededed url(../images/menu_bar.gif) top left repeat-x;
+ border-bottom: 1px solid #fff;
+ line-height: 26px;
+ font-size: 1em;
+}
+
+#menu h2 img {
+ position: absolute;
+ top: 9px;
+ right: 8px;
+}
+
+#menu ul li {
+ padding: 0 10px;
+ border-bottom: 1px solid #fff;
+}
+
+
+#menu ul li a {
+ padding-left: 12px;
+ background: url(../images/menu_li1.gif) 0 0.35em no-repeat;
+}
+
+#menu ul li a:link, #menu ul li a:active, #menu ul li a:visited {
+ color: #6e7475;
+ text-decoration: none;
+}
+
+#menu ul li a:hover {
+ background: url(../images/menu_li2.gif) 0 0.35em no-repeat;
+ color: #000;
+}
+
+#menu ul li.menuli_style1 {
+ background-color: #ededed;
+}
+
+#menu ul li.menuli_style2 {
+ background-color: #e9e9e9;
+}
+
+#menu a.flag {
+ padding-left: 12px;
+ background: url(../images/menu_blank.gif) 0 0.35em no-repeat;
+}
+
+#menu div.flag {
+ padding: 0 10px;
+ height: 26px;
+ line-height: 26px;
+ color: #6e7475;
+}
+
+#menu ul li.menuli_style3 {
+ background-color: #e9e9e9;
+ color: #6e7475;
+ text-decoration: none;
+ padding-left: 20px;
+}
+
+/* Styles for autocomplete */
+
+li.ui-autocomplete-category {
+ padding: 3px 0px 0px 5px;
+ height: 18px;
+ background: #ededed url(../images/menu_cat_gray.png) top left repeat-x;
+ font-size: 11px;
+ /* font-weight: bold; */
+}
+
+/* IE hack (as usual) */
+html>body li.ui-autocomplete-category {
+ vertical-align: center;
+ height: auto;
+ min-height: 18px;
+}
+
+li.ui-menu-item {
+ text-align: left;
+ font-size: 10px;
+ border-bottom: 1px solid white;
+ padding: 0 0 0 2px;
+ color: #000;
+ background: #e8e8e8;
+}
+
+ul.ui-autocomplete {
+ width: 150px;
+ position: absolute;
+ border-width: 2px;
+ /* disabled shadow
+ box-shadow: 0px 8px 16px 0px #666666;
+ -webkit-box-shadow: 0px 8px 16px 0px #666666;
+ -moz-box-shadow: 0px 8px 16px 0px #666666;
+ */
+}
+
+.statusgroup {
+ border-left: 8px solid #8A8A8A;
+}
+
+.statusOK, .statusUP, .statusRECOVERY {
+ border-left: 8px solid #00cc33;
+}
+
+.statusCRITICAL, .statusDOWN {
+ border-left: 8px solid #ff5252;
+}
+
+.statusWARNING {
+ border-left: 8px solid #ffb533;
+}
+
+.statusUNKNOWN, .statusUNREACHABLE {
+ border-left: 8px solid #db54fd;
+}
+
+.statusPENDING {
+ border-left: 8px solid #73cce3;
+}
--- /dev/null
+
+.notifications { font-family: arial,serif; font-size: 8pt; background-color: #fff; color: #000; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+th { text-align: left; font-size: 8pt; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.dataTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+
+.navBoxTitle { font-weight: bold; }
+.navBoxItem { color: #707677; }
+.navBoxFile { font-weight: bold; text-align: center; color: #707677; }
+
+table.notifications { background-color: #fff; padding: 5; }
+th.notifications { font-size: 10pt; background-color: #707677; color: #fff; }
+.notificationsOdd { background-color: #ededed; }
+.notificationsEven { background-color: #e9e9e9; }
+
+.notificationsOK { background-color: #00cc33; color: #fff; text-align: center; }
+.notificationsUNKNOWN { background-color: #bf44b2; color: #fff; text-align: center; }
+.notificationsWARNING { background-color: #ffa500; color: #fff; text-align: center; }
+.notificationsCRITICAL { background-color: #ff3300; color: #fff; text-align: center; }
+.notificationsACKNOWLEDGEMENT { background-color: #acacac; color: #fff; text-align: center; }
+.notificationsCUSTOM { background-color: #778899; color: #fff; text-align: center; }
+
+.notificationsHOSTUP { background-color: #00cc33; color: #fff; text-align: center; }
+.notificationsHOSTDOWN { background-color: #ff3300; color: #fff; text-align: center; }
+.notificationsHOSTUNREACHABLE { background-color: #bf44b2; color: #fff; text-align: center; }
+.notificationsHOSTACKNOWLEDGEMENT { background-color: #acacac; color: #fff; text-align: center; }
+.notificationsHOSTCUSTOM { background-color: #778899; color: #fff; text-align: center; }
--- /dev/null
+
+.outages { font-family: arial,serif; background-color: #fff; color: #000; font-size: 10pt; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+table { width: 100% }
+th { text-align: left; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+.infoMessage { text-align: center; color: #ff3300; font-weight: bold; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.itemTotalsTitle { font-size: 8pt; text-align: center; }
+
+.dataTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+
+table.data { background-color: #fff; padding: 2; }
+th.data { text-align: left; font-size: 10pt; background-color: #707677; color: #fff; }
+.dataOdd { background-color: #ededed; }
+.dataEven { background-color: #e9e9e9; }
+
+.hostUP { background-color: #00cc33; font-weight: bold; }
+.hostDOWN { background-color: #ff3300; font-weight: bold; }
+.hostUNREACHABLE { background-color: #bf44b2; font-weight: bold; }
+
--- /dev/null
+
+.showlog { font-family: arial,serif; font-size: 8pt; background-color: white; color: black; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+th { text-align: left; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+hr { border: 0; color: #ededed; }
+
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+.infoMessage { text-align: center; color: #ff3300; font-weight: bold; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.navBoxTitle { font-weight: bold; }
+.navBoxItem { color: #707677 }
+.navBoxFile { color: #707677; font-weight: bold; text-align: center; }
+
+.dateTimeBreak { font-size: 10pt; font-weight: bold; background-color: #ededed; color: #707677; }
\ No newline at end of file
--- /dev/null
+
+.status { font-family: arial,serif; font-size: 8pt; background-color: #fff; color: #000; }
+
+a { color: #000; text-decoration: none; }
+a:hover { color: #6e7475; }
+th { text-align: left; font-size: 8pt; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+.infoMessage { text-align: center; color: #ff3300; font-weight: bold; }
+
+.infoBox { color: #000; padding: 2px; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.statusTitle { text-align: center; font-weight: bold; font-size: 10pt; vertical-align: middle;}
+
+table.status { background-color: #fff; padding: 2px; border: 0; }
+th.status { font-size: 10pt; background-color: #707677; color: #fff; border: 0; }
+div.status { font-size: 10pt; text-align: center; }
+.statusOdd { background-color: #cfcfcf; }
+.statusEven { background-color: #e7e7e7; }
+
+.statusPENDING { text-align: center; background-color: #acacac; color: #fff; }
+.statusDOWNTIME { text-align: center; background-color: #acacac; color: #fff; }
+.statusOK { text-align: center; background-color: #00CC33; color: #fff; }
+.statusRECOVERY { text-align: center; background-color: #00CC33; color: #fff; }
+.statusUNKNOWN { text-align: center; background-color: #E066FF; color: #fff; }
+.statusWARNING { text-align: center; background-color: #ffa500; color: #fff; }
+.statusCRITICAL { text-align: center; background-color: #ff3300; color: #fff; }
+.statusPENDING a, .statusDOWNTIME a, .statusOK a, .statusRECOVERY a, .statusUNKNOWN a, .statusWARNING a, .statusCRITICAL a { color: #000; }
+.statusPENDING a:hover, .statusDOWNTIME a:hover, .statusOK a:hover, .statusRECOVERY a:hover, .statusUNKNOWN a:hover, .statusWARNING a:hover, .statusCRITICAL a:hover { color: #fff; }
+
+.statusHOSTPENDING { text-align: center; background-color: #acacac; color: #fff; }
+.statusHOSTDOWNTIME { text-align: center; background-color: #acacac; color: #fff; }
+.statusHOSTUP { text-align: center; background-color: #00cc33; color: #fff; }
+.statusHOSTDOWN { text-align: center; background-color: #ff3300; color: #fff; }
+.statusHOSTDOWNACK { text-align: center; background-color: #ff3300; color: #fff; }
+.statusHOSTDOWNSCHED { text-align: center; background-color: #ff3300; color: #fff; }
+.statusHOSTUNREACHABLE { text-align: center; background-color: #E066FF; color: #fff; }
+.statusHOSTUNREACHABLEACK { text-align: center; background-color: #E066FF; color: #fff; }
+.statusHOSTUNREACHABLESCHED { text-align: center; background-color: #E066FF; color: #fff; }
+.statusHOSTPENDING a, .statusHOSTDOWNTIME a, .statusHOSTUP a, .statusHOSTDOWN a, .statusHOSTDOWNACK a, .statusHOSTDOWNSCHED a, .statusHOSTUNREACHABLE a, .statusHOSTUNREACHABLEACK a, .statusHOSTUNREACHABLESCHED a { color: #000; }
+.statusHOSTPENDING a:hover, .statusHOSTDOWNTIME a:hover, .statusHOSTUP a:hover, .statusHOSTDOWN a:hover, .statusHOSTDOWNACK a:hover, .statusHOSTDOWNSCHED a:hover, .statusHOSTUNREACHABLE a:hover, .statusHOSTUNREACHABLEACK a:hover, .statusHOSTUNREACHABLESCHED a:hover { color: #fff; }
+
+.statusBGUNKNOWN { background-color: #EEAEEE; }
+.statusBGUNKNOWNACK { background-color: #EEAEEE; }
+.statusBGUNKNOWNSCHED { background-color: #EEAEEE; }
+.statusBGWARNING { background-color: #ffda9f; }
+.statusBGWARNINGACK { background-color: #ffda9f; }
+.statusBGWARNINGSCHED { background-color: #ffda9f; }
+.statusBGCRITICAL { background-color: #ffd4c9; }
+.statusBGCRITICALACK { background-color: #ffd4c9; }
+.statusBGCRITICALSCHED { background-color: #ffd4c9; }
+.statusBGDOWN { background-color: #ffd4c9; }
+.statusBGDOWNACK { background-color: #ffd4c9; }
+.statusBGDOWNSCHED { background-color: #ffd4c9; }
+.statusBGUNREACHABLE { background-color: #EEAEEE; }
+.statusBGUNREACHABLEACK { background-color: #EEAEEE; }
+.statusBGUNREACHABLESCHED { background-color: #EEAEEE; }
+
+div.serviceTotals { text-align: center; font-weight: bold; font-size: 10pt; }
+table.serviceTotals { font-size: 10pt; background-color: #fff; padding: 2px; border: 0; }
+th.serviceTotals,A.serviceTotals { text-align: center; font-size: 10pt; background-color: #707677; color: #fff; border: 0; }
+td.serviceTotals { text-align: center; background-color: #e9e9e9; }
+a.serviceTotals:hover { color: #000; }
+
+.serviceTotalsOK { text-align: center; background-color: #00CC33; color: #fff; border: 0 }
+.serviceTotalsBGOK { border: 1px #00CC33 solid; }
+.serviceTotalsWARNING { text-align: center; background-color: #ffa500; color: #fff; border: 0 }
+.serviceTotalsBGWARNING { border: 1px #ffa500 solid; }
+.serviceTotalsUNKNOWN { text-align: center; background-color: #E066FF; color: #fff; border: 0 }
+.serviceTotalsBGUNKNOWN { border: 1px #E066FF solid; }
+.serviceTotalsCRITICAL { text-align: center; background-color: #ff3300; color: #fff; border: 0 }
+.serviceTotalsBGCRITICAL { border: 1px #ff3300 solid; }
+.serviceTotalsPENDING { text-align: center; background-color: #acacac; color: #fff; border: 0 }
+.serviceTotalsBGPENDING { border: 1px #acacac solid; }
+.serviceTotalsPROBLEMS { text-align: center; background-color: #6ec2fd; color: #fff; border: 0 }
+.serviceTotalsBGPROBLEMS { border: 1px #6ec2fd solid; }
+
+div.serviceTotalsCommands { text-align: right; font-weight: bold; font-size: 10pt; }
+table.serviceTotalsCommands { font-size: 10pt; background-color: #fff; padding: 2px; border: 0; }
+th.serviceTotalsCommands,A.serviceTotalsCommands { text-align: right; font-size: 10pt; background-color: #707677; color: #fff; border: 0; }
+td.serviceTotalsCommands { text-align: right; background-color: #e9e9e9; border: 0; }
+a.serviceTotalsCommands:hover { color: #000; }
+serviceTotalsCommands a:hover { color: #fff; }
+
+div.hostTotals { text-align: center; font-weight: bold; font-size: 10pt; }
+table.hostTotals { font-size: 10pt; background-color: #fff; padding: 2px; border: 0; }
+th.hostTotals,A.hostTotals { text-align: center; font-size: 10pt; background-color: #707677; color: #fff; border: 0; }
+td.hostTotals { text-align: center; background-color: #e9e9e9; }
+a.hostTotals:hover { color: #000; }
+
+.hostTotalsUP { text-align: center; background-color: #00cc33; color: #fff; border: 0 }
+.hostTotalsBGUP { border: 1px #00cc33 solid; }
+.hostTotalsDOWN { text-align: center; background-color: #ff3300; color: #fff; border: 0 }
+.hostTotalsBGDOWN { border: 1px #ff3300 solid; }
+.hostTotalsUNREACHABLE { text-align: center; background-color: #E066FF; color: #fff; border: 0 }
+.hostTotalsBGUNREACHABLE { border: 1px #E066FF solid; }
+.hostTotalsPENDING { text-align: center; background-color: #acacac; color: #fff; border: 0 }
+.hostTotalsBGPENDING { border: 1px #acacac solid; }
+.hostTotalsPROBLEMS { text-align: center; background-color: #6ec2fd; color: #fff; border: 0 }
+.hostTotalsBGPROBLEMS { border: 1px #6ec2fd solid; }
+
+div.hostTotalsCommands { text-align: right; font-weight: bold; font-size: 10pt; }
+table.hostTotalsCommands { font-size: 10pt; background-color: #fff; padding: 2px; border: 0; }
+th.hostTotalsCommands,A.hostTotalsCommands { text-align: right; font-size: 10pt; background-color: #707677; color: #fff; border: 0; }
+td.hostTotalsCommands { text-align: right; background-color: #e9e9e9; border: 0; }
+a.hostTotalsCommands:hover { color: #000; }
+hostTotalsCommands a:hover { color: #fff; }
+
+.miniStatusPENDING { background-color: #acacac; text-align: center; }
+.miniStatusOK { background-color: #00cc33; text-align: center; }
+.miniStatusUNKNOWN { background-color: #bf44b2; text-align: center; }
+.miniStatusWARNING { background-color: #ffa500; text-align: center; }
+.miniStatusCRITICAL { background-color: #ff3300; text-align: center; }
+.miniStatusPENDING a, .miniStatusOK a, .miniStatusUNKNOWN a, .miniStatusWARNING a, .miniStatusCRITICAL a { color: #000; }
+.miniStatusPENDING a:hover, .miniStatusOK a:hover, .miniStatusUNKNOWN a:hover, .miniStatusWARNING a:hover, .miniStatusCRITICAL a:hover { color: #fff; }
+
+.miniStatusUP { background-color: #00cc33; text-align: center; }
+.miniStatusDOWN { background-color: #ff3300; text-align: center; }
+.miniStatusUNREACHABLE { background-color: #bf44b2; text-align: center; }
+.miniStatusUP a, .miniStatusDOWN a, .miniStatusUNREACHABLE a { color: #000; }
+.miniStatusUP a:hover, .miniStatusDOWN a:hover, .miniStatusUNREACHABLE a:hover { color: #fff; }
+
+.hostImportantProblem { background-color: #ff3300; color: #000; }
+.hostUnimportantProblem { background-color: #ffcccc; color: #000; }
+
+.serviceImportantProblem { background-color: #ff3300; color: #000; }
+.serviceUnimportantProblem { background-color: #ffcccc; color: #000; }
+
+.highlightRow { background-color: #BBC3BB; }
+
+.filterTitle { font-size: 10pt; font-weight: bold; }
+.filterName { font-size: 9pt; padding-top: 0.2em; padding-bottom: 0.2em; padding-right: 0.7em;}
+.filterValue { color: #707677; font-size: 9pt; padding-top: 0.2em; padding-bottom: 0.2em;}
+
+#display_filters_box,
+#host_status_types_box,
+#host_properties_box,
+#service_status_types_box,
+#service_properties_box { position: absolute; padding: 0.4em; margin-left: 0.5em; z-index: 101; }
+
+#display_filters_box { z-index: 100; padding-right: 1em; }
+
+#apply_button { margin-top:0.5em; }
--- /dev/null
+
+.statusmap { font-family: arial,serif; font-size: 8pt; background-color: #fff; color: #000; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+th { text-align: left; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { font-family: arial,serif; color: #ff3300; }
+
+.optBox { font-size: 10pt; font-weight: bold; }
+
+.imageInfo { font-weight: bold; text-align: center; }
+
+.zoomTitle { font-size: 10pt; font-weight: bold; }
+
+.popupText { font-weight: bold; }
+
--- /dev/null
+
+.summary { font-family: arial,serif; font-size: 8pt; background-color: #fff; color: #000; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+th { text-align: left; font-size: 8pt; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.errorMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+.errorDescription { text-align: center; font-weight: bold; font-size: 10pt; }
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+.infoMessage { text-align: center; color: #ff3300; font-weight: bold; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.reportRange { text-align: center; font-weight: bold; }
+.reportDuration { text-align: center; }
+.reportTime { text-align: center; }
+
+.reportDataEven { background-color: #ededed; padding: 2; }
+.reportDataOdd { background-color: #e9e9e9; padding: 2; }
+
+.dataTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+.dataSubTitle { text-align: center; font-weight: bold; }
+
+table.data { background-color: #fff; padding: 2; }
+th.data { font-size: 10pt; background-color: #707677; color: #fff; }
+.dataOdd { background-color: #ededed; }
+.dataEven { background-color: #e9e9e9; }
+
+.hostUP { background-color: #00cc33; color: #fff; }
+.hostDOWN { background-color: #ff3300; color: #fff; }
+.hostUNREACHABLE { background-color: #bf44b2; color: #fff; }
+tr.dataEven td.hostUP, tr.dataEven td.hostDOWN, tr.dataEven .hostUNREACHABLE { text-align: center; }
+tr.dataOdd td.hostUP, tr.dataOdd td.hostDOWN, tr.dataOdd .hostUNREACHABLE { text-align: center; }
+
+.serviceOK { background-color: #00cc33; color: #fff; }
+.serviceWARNING { background-color: #ffa500; color: #fff; }
+.serviceUNKNOWN { background-color: #bf44b2; color: #fff; }
+.serviceCRITICAL { background-color: #ff3300; color: #fff; }
+tr.dataEven td.serviceOK, tr.dataEven td.serviceWARNING, tr.dataEven td.serviceUNKNOWN, tr.dataEven td.serviceCRITICAL { text-align: center; }
+tr.dataOdd td.serviceOK, tr.dataOdd td.serviceWARNING, tr.dataOdd td.serviceUNKNOWN, tr.dataOdd td.serviceCRITICAL { text-align: center; }
+
+.optBoxTitle { font-weight: bold; }
+.optBoxValue { color: #707677; }
+
+.helpfulHint { font-style: italic; text-align: center; }
+
+.dateSelectTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+.dateSelectSubTitle { font-weight: bold; }
+
+.reportSelectTip { font-style: italic; }
+
+.reportSelectTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+.reportSelectSubTitle { text-align: right; }
--- /dev/null
+
+.tac { font-family: arial,serif; background-color: #fff; color: #000; font-size: 8pt; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+td { font-size: 8pt; }
+
+.errorMessage { font-weight: bold; font-size: 10pt; background-color: #fff; color: #000; }
+.errorDescription { text-align: center; font-weight: bold; font-size: 10pt; }
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+
+.title { font-weight: bold; font-size: large; background-color: #000; color: #fff; }
+.titleItem { background-color: #000; color: #fff; }
+
+.healthTitle { font-weight: bold; font-size: 10pt; background-color: #707677; color: #fff; }
+.healthBox { padding: 2px; background-color: #e9e9e9; color: #fff; }
+.healthItem { font-size: 10pt; background-color: #e9e9e9; color: #6e7475; }
+.healthBar { background-color: #ededed; color: #fff; }
+
+.perfTitle { font-weight: bold; font-size: 10pt; background-color: #707677; color: #fff; }
+.perfBox { background-color: #e9e9e9; color: #fff; }
+.perfItem { font-size: 10pt; background-color: #e9e9e9; color: #6e7475; }
+.perfValue { font-size: 10pt; background-color: #e9e9e9; color: #6e7475; }
+
+/* Features */
+
+.featureTitle { font-weight: bold; font-size: 10pt; background-color: #707677; color: #fff; }
+.featureHeader { text-align: center; font-size: 10pt; background-color: #e9e9e9; color: #6e7475; }
+
+.featureEnabledFlapDetection { text-align: center; font-size: 10pt; background-color: #00cc33; color: #fff; }
+.featureDisabledFlapDetection { text-align: center; font-size: 10pt; background-color: #ff3300; color: #fff; }
+.featureItemEnabledServiceFlapDetection { text-align: center; background-color: #00cc33; color: #fff; }
+.featureItemDisabledServiceFlapDetection { text-align: center; background-color: #ff3300; color: #fff; }
+.featureItemEnabledHostFlapDetection { text-align: center; background-color: #00cc33; color: #fff; }
+.featureItemDisabledHostFlapDetection { text-align: center; background-color: #ff3300; color: #fff; }
+.featureItemServicesNotFlapping { text-align: center; background-color: #00cc33; color: #fff; }
+.featureItemServicesFlapping { text-align: center; background-color: #ff3300; color: #fff; }
+.featureItemHostsNotFlapping { text-align: center; background-color: #00cc33; color: #fff; }
+.featureItemHostsFlapping { text-align: center; background-color: #ff3300; color: #fff; }
+.featureItemDisabledServiceFlapDetection a, .featureItemDisabledHostFlapDetection a, .featureItemServicesFlapping a, .featureItemHostsFlapping a { color: #fff; }
+.featureItemDisabledServiceFlapDetection a:hover, .featureItemDisabledHostFlapDetection a:hover, .featureItemServicesFlapping a:hover, .featureItemHostsFlapping a:hover { color: #000; }
+
+.featureEnabledNotifications { text-align: center; font-size: 10pt; background-color: #00cc33; color: #fff; }
+.featureDisabledNotifications { text-align: center; font-size: 10pt; background-color: #ff3300; color: #fff; }
+.featureItemEnabledServiceNotifications { text-align: center; background-color: #00cc33; color: #fff; }
+.featureItemDisabledServiceNotifications { text-align: center; background-color: #ff3300; color: #fff; }
+.featureItemEnabledHostNotifications { text-align: center; background-color: #00cc33; color: #fff; }
+.featureItemDisabledHostNotifications { text-align: center; background-color: #ff3300; color: #fff; }
+.featureItemDisabledServiceNotifications a, .featureItemDisabledHostNotifications a { color: #fff; }
+.featureItemDisabledServiceNotifications a:hover, .featureItemDisabledHostNotifications a:hover { color: #000; }
+
+.featureEnabledHandlers { text-align: center; background-color: #00CC33; color: #fff; }
+.featureDisabledHandlers { text-align: center; background-color: #ff3300; color: #fff; }
+.featureItemEnabledServiceHandlers { text-align: center; background-color: #00CC33; color: #fff; }
+.featureItemDisabledServiceHandlers { text-align: center; background-color: #ff3300; color: #fff; }
+.featureItemEnabledHostHandlers { text-align: center; background-color: #00cc33; color: #fff; }
+.featureItemDisabledHostHandlers { text-align: center; background-color: #ff3300; color: #fff; }
+.featureItemDisabledServiceHandlers a, .featureItemDisabledHostHandlers a { color: #fff; }
+.featureItemDisabledServiceHandlers a:hover, .featureItemDisabledHostHandlers a:hover { color: #000; }
+
+/* Service Checks */
+
+.EnabledActiveServiceChecks { text-align: center; background-color: #00cc33; color: #fff; }
+.DisabledActiveServiceChecks { text-align: center; background-color: #ff3300; color: #fff; }
+.EnabledPassiveServiceChecks { text-align: center; background-color: #00cc33; color: #fff; }
+.DisabledPassiveServiceChecks { text-align: center; background-color: #ff3300; color: #fff; }
+
+.ItemActiveServiceChecks,
+.ItemActiveServiceChecksWithPassiveDisabled,
+.ItemPassiveServiceChecks { text-align: center; background-color: #00cc33; color: #fff; }
+.ItemDisabledServiceChecks { text-align: center; background-color: #ff3300; color: #fff; }
+
+.ItemActiveServiceChecks a,
+.ItemActiveServiceChecksWithPassiveDisabled a,
+.ItemPassiveServiceChecks a,
+.ItemDisabledServiceChecks a { color: #fff; }
+
+.ItemActiveServiceChecks a:hover,
+.ItemActiveServiceChecksWithPassiveDisabled a:hover,
+.ItemPassiveServiceChecks a:hover { color: #333333; }
+.ItemDisabledServiceChecks a:hover { color: #000; }
+
+/* Host Checks */
+
+.EnabledActiveHostChecks { text-align: center; background-color: #00cc33; color: #fff; }
+.DisabledActiveHostChecks { text-align: center; background-color: #ff3300; color: #fff; }
+.EnabledPassiveHostChecks { text-align: center; background-color: #00cc33; color: #fff; }
+.DisabledPassiveHostChecks { text-align: center; background-color: #ff3300; color: #fff; }
+
+.ItemActiveHostChecks,
+.ItemActiveHostChecksWithPassiveDisabled,
+.ItemPassiveHostChecks { text-align: center; background-color: #00cc33; color: #fff; }
+.ItemDisabledHostChecks { text-align: center; background-color: #ff3300; color: #fff; }
+
+.ItemActiveHostChecks a,
+.ItemActiveHostChecksWithPassiveDisabled a,
+.ItemPassiveHostChecks a,
+.ItemDisabledHostChecks a { color: #fff; }
+
+.ItemActiveHostChecks a:hover,
+.ItemActiveHostChecksWithPassiveDisabled a:hover,
+.ItemPassiveHostChecks a:hover { color: #333333; }
+.ItemDisabledHostChecks a:hover { color: #000; }
+
+/* Outages */
+
+.outageTitle { font-weight: bold; font-size: 10pt; background-color: #707677; color: #fff; }
+.outageHeader { text-align: center; font-size: 10pt; background-color: #e9e9e9; color: #6e7475; }
+
+.outageImportantProblem { text-align: center; background-color: #ff3300; color: #fff; }
+.outageUnimportantProblem { text-align: center; background-color: #f5a9a9; color: #000000; }
+.outageImportantProblem a { color: #fff; }
+.outageUnimportantProblem a { color: #585858; }
+.outageImportantProblem a:hover, .outageUnimportantProblem a:hover { color: #000; }
+
+/* Hosts */
+
+.hostTitle { font-weight: bold; font-size: 10pt; background-color: #707677; color: #fff; }
+.hostHeader { text-align: center; font-size: 10pt; background-color: #e9e9e9; color: #6e7475; }
+
+.hostImportantProblem { text-align: center; background-color: #ff3300; color: #fff; }
+.hostUnimportantProblem { text-align: center; background-color: #f5a9a9; color: #000000; }
+.hostImportantProblem a { color: #fff; }
+.hostUnimportantProblem a { color: #000; }
+.hostImportantProblem a:hover { color: #000; }
+.hostUnimportantProblem a:hover { color: #6e7475; }
+
+/* Services */
+
+.serviceTitle { font-weight: bold; font-size: 10pt; background-color: #707677; color: #fff; }
+.serviceHeader { text-align: center; font-size: 10pt; background-color: #e9e9e9; color: #6e7475; }
+
+.serviceImportantProblem { text-align: center; background-color: #ff3300; color: #fff; }
+.serviceUnimportantProblem { text-align: center; background-color: #f5a9a9; color: #000000; }
+.serviceImportantProblem a { color: #fff; }
+.serviceUnimportantProblem a { color: #000; }
+.serviceImportantProblem a:hover { color: #000; }
+.serviceUnimportantProblem a:hover { color: #6e7475; }
+.serviceUnimportantProblem .tac_break { border: 0; height: 3px; }
--- /dev/null
+@charset "utf-8";
+/* CSS Document */
+
+body {
+ font-family: Arial, Verdana, sans-serif;
+ font-size: 9pt;
+ background: #D7D8DA;
+ margin: 2px 5px 0px 5px;
+}
+
+img { border: 0px }
+
+.color a {
+ color: #ffffff;
+ text-decoration: none;
+}
+
+.gray a {
+ color: #000000;
+ text-decoration: none;
+}
+
+strong {
+ font-weight: bolder;
+}
+
+em {
+ font-style: italic;
+}
+
+p.legal {
+ font-size: 0.8em;
+ margin: 10px auto;
+}
+
+p { margin: 15px auto; }
+
+table td, table th {
+ vertical-align: middle;
+ margin: 0 0;
+ padding: 0 0;
+}
+
+table {
+ border-collapse: collapse;
+}
+
+div.tacheader-link {
+ cursor: pointer;
+}
+
+div.tacheader-status-container {
+ border: 1px #a0a0a0 solid;
+ width: 180px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+
+div.tacheader-status {
+ font-size: 9pt;
+ padding-left: 4px;
+ padding-right: 4px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ background-color: #c0c0c0;
+ text-align: center;
+ margin-top: auto;
+ margin-bottom: auto;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+
+div.tacheader-monitor {
+ font-size: 8pt;
+ padding: 2px;
+ text-align: left;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+
+div.tacheader-overall-status-item {
+ color: #000000;
+ padding: 3px;
+}
+
+div.tacheader-status-up {
+ background-color: #00CC33;
+}
+
+div.tacheader-status-down {
+ background-color: #FF3300;
+}
+
+div.tacheader-status-down-acknowledged {
+ border: 1px #FF3300 solid;
+ background-color: #F5A9A9;
+}
+
+div.tacheader-status-down-handled {
+ border: 1px #FF3300 solid;
+ color: #FF3300;
+ font-weight: bolder;
+}
+
+div.tacheader-status-unreachable {
+ background-color: #E066FF;
+}
+
+div.tacheader-status-unreachable-acknowledged {
+ border: 1px #E066FF solid;
+ background-color: #E68BFF;
+}
+
+div.tacheader-status-unreachable-handled {
+ border: 1px #E066FF solid;
+ color: #E066FF;
+ font-weight: bolder;
+}
+
+div.tacheader-status-ok {
+ background-color: #00CC33;
+}
+
+div.tacheader-status-warning {
+ background-color: #FFA500;
+}
+
+div.tacheader-status-warning-acknowledged {
+ border: 1px #FFA500 solid;
+ background-color: #FFBF4F;
+}
+
+div.tacheader-status-warning-handled {
+ border: 1px #FFA500 solid;
+ color: #FFA500;
+ font-weight: bolder;
+}
+
+div.tacheader-status-critical {
+ background-color: #FF3300;
+}
+
+div.tacheader-status-critical-acknowledged {
+ border: 1px #FF3300 solid;
+ background-color: #F5A9A9;
+}
+
+div.tacheader-status-critical-handled {
+ border: 1px #FF3300 solid;
+ color: #FF3300;
+ font-weight: bolder;
+}
+
+div.tacheader-status-unknown {
+ background-color: #E066FF;
+}
+
+div.tacheader-status-unknown-acknowledged {
+ border: 1px #E066FF solid;
+ background-color: #E68BFF;
+}
+
+div.tacheader-status-unknown-handled {
+ border: 1px #E066FF solid;
+ color: #E066FF;
+ font-weight: bolder;
+}
+
+div.tacheader-status-pending {
+ background-color: #51BCD7;
+}
+
+table.tacheader-monitor-performance-container {
+ font-size: 9pt;
+ margin: 6px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+
+.tacheader-monitor-performance-container a {
+ color: #666666;
+ text-decoration: none;
+}
--- /dev/null
+
+.trends { font-family: arial,serif; font-size: 8pt; background-color: #fff; color: #000; }
+
+a { color: #6e7475; text-decoration: none; }
+a:hover { color: #000; }
+th { text-align: left; padding: 0 5px; border: 0; }
+td { font-size: 8pt; border: 0; }
+
+.warningMessage { text-align: center; color: #ff3300; font-weight: bold; font-size: 10pt; }
+.infoMessage { text-align: center; color: #ff3300; font-weight: bold; }
+
+.infoBox { color: #000; padding: 2; border: 0; }
+.infoBoxTitle { font-size: 10pt; font-weight: bold; color: #000; }
+.infoBoxBadProcStatus { color: #ff3300; }
+a.homepageURL:Hover { color: #ff3300; }
+
+.helpfulHints { text-align: center; }
+
+.dataTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+
+.reportRange { text-align: center; font-weight: bold; }
+.reportDuration { text-align: center; }
+.reportTime { text-align: center; }
+
+.reportSelectTitle { text-align: center; font-weight: bold; font-size: 10pt; }
+.reportSelectSubTitle { font-family: arial,serif; text-align: right; }
+
+.popupText { font-weight: bold; }
+
--- /dev/null
+# apache configuration for icinga
+
+ScriptAlias /cgi-bin/icinga2-classicui /usr/lib/cgi-bin/icinga2-classicui
+
+# Where the stylesheets (config files) reside
+Alias /icinga2-classicui/stylesheets /etc/icinga2-classicui/stylesheets
+
+# Where the HTML pages live
+Alias /icinga2-classicui /usr/share/icinga2/classicui
+
+<LocationMatch "^/cgi-bin/icinga2-classicui">
+ SetEnv ICINGA_CGI_CONFIG /etc/icinga2-classicui/cgi.cfg
+</LocationMatch>
+
+<DirectoryMatch "^(?:/usr/share/icinga2/classicui/htdocs|/usr/lib/cgi-bin/icinga2-classicui|/etc/icinga2-classicui/stylesheets)/">
+ Options FollowSymLinks
+
+ DirectoryIndex index.html
+
+ AllowOverride AuthConfig
+
+ <IfVersion < 2.3>
+ Order Allow,Deny
+ Allow From All
+ </IfVersion>
+
+ AuthName "Icinga Access"
+ AuthType Basic
+ AuthUserFile /etc/icinga2-classicui/htpasswd.users
+ Require valid-user
+</DirectoryMatch>
--- /dev/null
+# Icinga 2 Classic UI configuration
+#
+# requires icinga-gui package
+# check http://docs.icinga.org for option details
+standalone_installation=1
+physical_html_path=/usr/share/icinga
+url_html_path=/icinga2-classicui
+url_stylesheets_path=/icinga2-classicui/stylesheets
+http_charset=utf-8
+refresh_rate=30
+refresh_type=1
+escape_html_tags=1
+result_limit=50
+show_tac_header=1
+use_pending_states=1
+first_day_of_week=0
+suppress_maintenance_downtime=0
+action_url_target=main
+notes_url_target=main
+use_authentication=1
+use_ssl_authentication=0
+lowercase_user_name=0
+authorized_for_system_information=icingaadmin
+authorized_for_configuration_information=icingaadmin
+authorized_for_full_command_resolution=icingaadmin
+authorized_for_system_commands=icingaadmin
+authorized_for_all_services=icingaadmin
+authorized_for_all_hosts=icingaadmin
+authorized_for_all_service_commands=icingaadmin
+authorized_for_all_host_commands=icingaadmin
+show_all_services_host_is_authorized_for=1
+show_partial_hostgroups=0
+show_partial_servicegroups=0
+default_statusmap_layout=5
+status_show_long_plugin_output=0
+display_status_totals=0
+highlight_table_rows=1
+add_notif_num_hard=28
+add_notif_num_soft=0
+use_logging=0
+cgi_log_file=/var/log/icinga/gui/icinga-cgi.log
+cgi_log_rotation_method=d
+cgi_log_archive_path=/var/log/icinga/gui
+enforce_comments_on_actions=0
+send_ack_notifications=1
+persistent_ack_comments=0
+lock_author_names=1
+default_downtime_duration=7200
+set_expire_ack_by_default=0
+default_expiring_acknowledgement_duration=86400
+default_expiring_disabled_notifications_duration=86400
+tac_show_only_hard_state=0
+show_tac_header_pending=1
+exclude_customvar_name=PASSWORD,COMMUNITY
+exclude_customvar_value=secret
+extinfo_show_child_hosts=0
+tab_friendly_titles=1
+######################################
+# STANDALONE (ICINGA 2) OPTIONS
+# requires standalone_installation=1
+######################################
+object_cache_file=/var/cache/icinga2/objects.cache
+status_file=/var/cache/icinga2/status.dat
+resource_file=/etc/icinga/resource.cfg
+command_file=/var/run/icinga2/cmd/icinga2.cmd
+check_external_commands=1
+interval_length=60
+status_update_interval=10
+log_file=/var/log/icinga2/compat/icinga.log
+log_rotation_method=h
+log_archive_path=/var/log/icinga2/compat/archives
+date_format=us
+url_cgi_path=/cgi-bin/icinga2-classicui
+# EOF
--- /dev/null
+icingaadmin:$apr1$iFfKiuLF$nwExYtTK3UsmVYHYTzllL/
--- /dev/null
+../icinga/stylesheets
\ No newline at end of file
--- /dev/null
+object IcingaApplication "app" { }
--- /dev/null
+apply Service "apt" {
+ import "generic-service"
+
+ check_command = "apt"
+
+ assign where host.name == NodeName
+}
--- /dev/null
+/* Command objects */
+
+object NotificationCommand "mail-host-notification" {
+ command = [ SysconfDir + "/icinga2/scripts/mail-host-notification.sh" ]
+
+ env = {
+ NOTIFICATIONTYPE = "$notification.type$"
+ HOSTALIAS = "$host.display_name$"
+ HOSTADDRESS = "$address$"
+ HOSTSTATE = "$host.state$"
+ LONGDATETIME = "$icinga.long_date_time$"
+ HOSTOUTPUT = "$host.output$"
+ NOTIFICATIONAUTHORNAME = "$notification.author$"
+ NOTIFICATIONCOMMENT = "$notification.comment$"
+ HOSTDISPLAYNAME = "$host.display_name$"
+ USEREMAIL = "$user.email$"
+ }
+}
+
+object NotificationCommand "mail-service-notification" {
+ command = [ SysconfDir + "/icinga2/scripts/mail-service-notification.sh" ]
+
+ env = {
+ NOTIFICATIONTYPE = "$notification.type$"
+ SERVICEDESC = "$service.name$"
+ HOSTALIAS = "$host.display_name$"
+ HOSTADDRESS = "$address$"
+ SERVICESTATE = "$service.state$"
+ LONGDATETIME = "$icinga.long_date_time$"
+ SERVICEOUTPUT = "$service.output$"
+ NOTIFICATIONAUTHORNAME = "$notification.author$"
+ NOTIFICATIONCOMMENT = "$notification.comment$"
+ HOSTDISPLAYNAME = "$host.display_name$"
+ SERVICEDISPLAYNAME = "$service.display_name$"
+ USEREMAIL = "$user.email$"
+ }
+}
+
--- /dev/null
+/**
+ * The example downtime apply rule.
+ */
+
+apply ScheduledDowntime "backup-downtime" to Service {
+ author = "icingaadmin"
+ comment = "Scheduled downtime for backup"
+
+ ranges = {
+ monday = service.vars.backup_downtime
+ tuesday = service.vars.backup_downtime
+ wednesday = service.vars.backup_downtime
+ thursday = service.vars.backup_downtime
+ friday = service.vars.backup_downtime
+ saturday = service.vars.backup_downtime
+ sunday = service.vars.backup_downtime
+ }
+
+ assign where service.vars.backup_downtime != ""
+}
--- /dev/null
+/**
+ * Host group examples.
+ */
+
+object HostGroup "linux-servers" {
+ display_name = "Linux Servers"
+
+ assign where host.vars.os == "Linux"
+}
+
+object HostGroup "windows-servers" {
+ display_name = "Windows Servers"
+
+ assign where host.vars.os == "Windows"
+}
+
+/**
+ * Service group examples.
+ */
+
+object ServiceGroup "ping" {
+ display_name = "Ping Checks"
+
+ assign where match("ping*", service.name)
+}
+
+object ServiceGroup "http" {
+ display_name = "HTTP Checks"
+
+ assign where match("http*", service.check_command)
+}
+
+object ServiceGroup "disk" {
+ display_name = "Disk Checks"
+
+ assign where match("disk*", service.check_command)
+}
--- /dev/null
+/*
+ * Host definitions with object attributes
+ * used for apply rules for Service, Notification,
+ * Dependency and ScheduledDowntime objects.
+ *
+ * Tip: Use `icinga2 object list --type Host` to
+ * list all host objects after running
+ * configuration validation (`icinga2 daemon -C`).
+ */
+
+/*
+ * This is an example host based on your
+ * local host's FQDN. Specify the NodeName
+ * constant in `constants.conf` or use your
+ * own description, e.g. "db-host-1".
+ */
+
+object Host NodeName {
+ /* Import the default host template defined in `templates.conf`. */
+ import "generic-host"
+
+ /* Specify the address attributes for checks e.g. `ssh` or `http`. */
+ address = "127.0.0.1"
+ address6 = "::1"
+
+ /* Set custom attribute `os` for hostgroup assignment in `groups.conf`. */
+ vars.os = "Linux"
+
+ /* Define http vhost attributes for service apply rules in `services.conf`. */
+ vars.http_vhosts["http"] = {
+ http_uri = "/"
+ }
+ /* Uncomment if you've sucessfully installed Icinga Web 2. */
+ //vars.http_vhosts["Icinga Web 2"] = {
+ // http_uri = "/icingaweb2"
+ //}
+
+ /* Define disks and attributes for service apply rules in `services.conf`. */
+ vars.disks["disk"] = {
+ /* No parameters. */
+ }
+ vars.disks["disk /"] = {
+ disk_partitions = "/"
+ }
+
+ /* Define notification mail attributes for notification apply rules in `notifications.conf`. */
+ vars.notification["mail"] = {
+ /* The UserGroup `icingaadmins` is defined in `users.conf`. */
+ groups = [ "icingaadmins" ]
+ }
+}
+
--- /dev/null
+/**
+ * The example notification apply rules.
+ *
+ * Only applied if host/service objects have
+ * the custom attribute `notification` defined
+ * and containing `mail` as key.
+ *
+ * Check `hosts.conf` for an example.
+ */
+
+apply Notification "mail-icingaadmin" to Host {
+ import "mail-host-notification"
+
+ user_groups = host.vars.notification.mail.groups
+ users = host.vars.notification.mail.users
+
+ assign where host.vars.notification.mail
+}
+
+apply Notification "mail-icingaadmin" to Service {
+ import "mail-service-notification"
+
+ user_groups = host.vars.notification.mail.groups
+ users = host.vars.notification.mail.users
+
+ assign where host.vars.notification.mail
+}
--- /dev/null
+/*
+ * Host and Service templates for the Agent Setup.
+ */
+
+
+/**
+ * Provides settings for satellite hosts managed by 'icinga2 repository'.
+ * Define your global attributes here, for example custom
+ * attributes used for notifications, etc.
+ */
+template Host "satellite-host" {
+ vars.notification["mail"] = {
+ groups = [ "icingaadmins" ]
+ }
+}
+
+/**
+ * Provides settings for satellite services managed by 'icinga2 repository'.
+ * Define your global satellite attributes here, for example custom
+ * attributes used for notifications, etc.
+ */
+template Service "satellite-service" {
+ vars.notification["mail"] = {
+ groups = [ "icingaadmins" ]
+ }
+}
+
+
+apply Dependency "satellite-host" to Host {
+ parent_host_name = host.zone
+
+ assign where host.zone != "" && "satellite-host" in host.templates
+}
--- /dev/null
+/*
+ * Service apply rules.
+ *
+ * The CheckCommand objects `ping4`, `ping6`, etc
+ * are provided by the plugin check command templates.
+ * Check the documentation for details.
+ *
+ * Tip: Use `icinga2 object list --type Service` to
+ * list all service objects after running
+ * configuration validation (`icinga2 daemon -C`).
+ */
+
+/*
+ * This is an example host based on your
+ * local host's FQDN. Specify the NodeName
+ * constant in `constants.conf` or use your
+ * own description, e.g. "db-host-1".
+ */
+
+/*
+ * These are generic `ping4` and `ping6`
+ * checks applied to all hosts having the
+ * `address` resp. `address6` attribute
+ * defined.
+ */
+apply Service "ping4" {
+ import "generic-service"
+
+ check_command = "ping4"
+
+ assign where host.address
+}
+
+apply Service "ping6" {
+ import "generic-service"
+
+ check_command = "ping6"
+
+ assign where host.address6
+}
+
+/*
+ * Apply the `ssh` service to all hosts
+ * with the `address` attribute defined and
+ * the custom attribute `os` set to `Linux`.
+ */
+apply Service "ssh" {
+ import "generic-service"
+
+ check_command = "ssh"
+
+ assign where (host.address || host.address6) && host.vars.os == "Linux"
+}
+
+
+
+apply Service for (http_vhost => config in host.vars.http_vhosts) {
+ import "generic-service"
+
+ check_command = "http"
+
+ vars += config
+}
+
+apply Service for (disk => config in host.vars.disks) {
+ import "generic-service"
+
+ check_command = "disk"
+
+ vars += config
+}
+
+apply Service "icinga" {
+ import "generic-service"
+
+ check_command = "icinga"
+
+ assign where host.name == NodeName
+}
+
+apply Service "load" {
+ import "generic-service"
+
+ check_command = "load"
+
+ /* Used by the ScheduledDowntime apply rule in `downtimes.conf`. */
+ vars.backup_downtime = "02:00-03:00"
+
+ assign where host.name == NodeName
+}
+
+apply Service "procs" {
+ import "generic-service"
+
+ check_command = "procs"
+
+ assign where host.name == NodeName
+}
+
+apply Service "swap" {
+ import "generic-service"
+
+ check_command = "swap"
+
+ assign where host.name == NodeName
+}
+
+apply Service "users" {
+ import "generic-service"
+
+ check_command = "users"
+
+ assign where host.name == NodeName
+}
+
+
+
--- /dev/null
+/*
+ * Generic template examples.
+ */
+
+
+/**
+ * Provides default settings for hosts. By convention
+ * all hosts should import this template.
+ *
+ * The CheckCommand object `hostalive` is provided by
+ * the plugin check command templates.
+ * Check the documentation for details.
+ */
+template Host "generic-host" {
+ max_check_attempts = 3
+ check_interval = 1m
+ retry_interval = 30s
+
+ check_command = "hostalive"
+}
+
+/**
+ * Provides default settings for services. By convention
+ * all services should import this template.
+ */
+template Service "generic-service" {
+ max_check_attempts = 5
+ check_interval = 1m
+ retry_interval = 30s
+}
+
+/**
+ * Provides default settings for users. By convention
+ * all users should inherit from this template.
+ */
+
+template User "generic-user" {
+
+}
+
+/**
+ * Provides default settings for host notifications.
+ * By convention all host notifications should import
+ * this template.
+ */
+template Notification "mail-host-notification" {
+ command = "mail-host-notification"
+
+ states = [ Up, Down ]
+ types = [ Problem, Acknowledgement, Recovery, Custom,
+ FlappingStart, FlappingEnd,
+ DowntimeStart, DowntimeEnd, DowntimeRemoved ]
+
+ period = "24x7"
+}
+
+/**
+ * Provides default settings for service notifications.
+ * By convention all service notifications should import
+ * this template.
+ */
+template Notification "mail-service-notification" {
+ command = "mail-service-notification"
+
+ states = [ OK, Warning, Critical, Unknown ]
+ types = [ Problem, Acknowledgement, Recovery, Custom,
+ FlappingStart, FlappingEnd,
+ DowntimeStart, DowntimeEnd, DowntimeRemoved ]
+
+ period = "24x7"
+}
+
--- /dev/null
+/**
+ * Sample timeperiods for Icinga 2 requiring
+ * 'legacy-timeperiod' template from the Icinga
+ * Template Library (ITL).
+ * Check the documentation for details.
+ */
+
+object TimePeriod "24x7" {
+ import "legacy-timeperiod"
+
+ display_name = "Icinga 2 24x7 TimePeriod"
+ ranges = {
+ "monday" = "00:00-24:00"
+ "tuesday" = "00:00-24:00"
+ "wednesday" = "00:00-24:00"
+ "thursday" = "00:00-24:00"
+ "friday" = "00:00-24:00"
+ "saturday" = "00:00-24:00"
+ "sunday" = "00:00-24:00"
+ }
+}
+
+object TimePeriod "9to5" {
+ import "legacy-timeperiod"
+
+ display_name = "Icinga 2 9to5 TimePeriod"
+ ranges = {
+ "monday" = "09:00-17:00"
+ "tuesday" = "09:00-17:00"
+ "wednesday" = "09:00-17:00"
+ "thursday" = "09:00-17:00"
+ "friday" = "09:00-17:00"
+ }
+}
+
+object TimePeriod "never" {
+ import "legacy-timeperiod"
+
+ display_name = "Icinga 2 never TimePeriod"
+ ranges = {
+ }
+}
+
--- /dev/null
+/**
+ * The example user 'icingaadmin' and the example
+ * group 'icingaadmins'.
+ */
+
+object User "icingaadmin" {
+ import "generic-user"
+
+ display_name = "Icinga 2 Admin"
+ groups = [ "icingaadmins" ]
+
+ email = "root@localhost"
+}
+
+object UserGroup "icingaadmins" {
+ display_name = "Icinga 2 Admin Group"
+}
--- /dev/null
+/**
+ * This file defines global constants which can be used in
+ * the other configuration files.
+ */
+
+/* The directory which contains the plugins from the Monitoring Plugins project. */
+const PluginDir = "/usr/lib/nagios/plugins"
+
+/* The directory which contains the Manubulon plugins.
+ * Check the documentation, chapter "SNMP Manubulon Plugin Check Commands", for details.
+ */
+const ManubulonPluginDir = "/usr/lib/nagios/plugins"
+
+/* The directory which you use to store additional plugins which ITL provides user contributed command definitions for.
+ * Check the documentation, chapter "Plugins Contribution", for details.
+ */
+const PluginContribDir = "/usr/lib/nagios/plugins"
+
+/* Our local instance name. By default this is the server's hostname as returned by `hostname --fqdn`.
+ * This should be the common name from the API certificate.
+ */
+//const NodeName = "localhost"
+
+/* Our local zone name. */
+const ZoneName = NodeName
+
+/* Secret key for remote node tickets */
+const TicketSalt = ""
--- /dev/null
+/**
+ * The API listener is used for distributed monitoring setups.
+ */
+
+object ApiListener "api" {
+ cert_path = SysconfDir + "/icinga2/pki/" + NodeName + ".crt"
+ key_path = SysconfDir + "/icinga2/pki/" + NodeName + ".key"
+ ca_path = SysconfDir + "/icinga2/pki/ca.crt"
+
+ ticket_salt = TicketSalt
+}
--- /dev/null
+/**
+ * The checker component takes care of executing service checks.
+ */
+
+library "checker"
+
+object CheckerComponent "checker" { }
--- /dev/null
+/**
+ * The ExternalCommandListener implements support for the external
+ * commands pipe.
+ */
+
+library "compat"
+
+object ExternalCommandListener "command" { }
+
--- /dev/null
+/**
+ * The CompatLogger type is responsible for writing log files in a format
+ * that is compatible with Icinga 1.x.
+ */
+
+library "compat"
+
+object CompatLogger "compatlog" { }
+
--- /dev/null
+/**
+ * The FileLogger type writes log information to a log file.
+ * Unlike the mainlog feature this sets up a logger
+ * with severity "debug".
+ */
+
+object FileLogger "debug-file" {
+ severity = "debug"
+ path = LocalStateDir + "/log/icinga2/debug.log"
+}
+
--- /dev/null
+/**
+ * The GelfWriter type writes event log entries
+ * to a GELF tcp socket provided by Graylog,
+ * Logstash or any other receiver.
+ */
+
+library "perfdata"
+
+object GelfWriter "gelf" {
+ //host = "127.0.0.1"
+ //port = 12201
+}
--- /dev/null
+/**
+ * The GraphiteWriter type writes check result metrics and
+ * performance data to a graphite tcp socket.
+ */
+
+library "perfdata"
+
+object GraphiteWriter "graphite" {
+ //host = "127.0.0.1"
+ //port = 2003
+}
--- /dev/null
+/**
+ * The InfluxdbWriter type writes check result metrics and
+ * performance data to an InfluxDB HTTP API
+ */
+
+library "perfdata"
+
+object InfluxdbWriter "influxdb" {
+ //host = "127.0.0.1"
+ //port = 8086
+ //database = "icinga2"
+ //host_template = {
+ // measurement = "$host.check_command$"
+ // tags = {
+ // hostname = "$host.name$"
+ // }
+ //}
+ //service_template = {
+ // measurement = "$service.check_command$"
+ // tags = {
+ // hostname = "$host.name$"
+ // service = "$service.name$"
+ // }
+ //}
+}
--- /dev/null
+/**
+ * The livestatus library implements the livestatus query protocol.
+ */
+
+library "livestatus"
+
+object LivestatusListener "livestatus" { }
+
--- /dev/null
+/**
+ * The FileLogger type writes log information to a file.
+ */
+
+object FileLogger "main-log" {
+ severity = "information"
+ path = LocalStateDir + "/log/icinga2/icinga2.log"
+}
+
--- /dev/null
+/**
+ * The notification component takes care of executing service checks.
+ */
+
+library "notification"
+
+object NotificationComponent "notification" { }
--- /dev/null
+/**
+ * The OpenTsdbWriter type writes check result metrics and
+ * performance data to a OpenTSDB tcp socket.
+ */
+
+library "perfdata"
+
+object OpenTsdbWriter "opentsdb" {
+ //host = "127.0.0.1"
+ //port = 4242
+}
--- /dev/null
+/**
+ * The PerfdataWriter type writes performance data files and rotates
+ * them in a regular interval.
+ */
+
+library "perfdata"
+
+object PerfdataWriter "perfdata" { }
--- /dev/null
+/**
+ * The StatusDataWriter type periodically updates the status.dat and objects.cache
+ * files. These are used by the Icinga 1.x CGIs to display the state of
+ * hosts and services.
+ */
+
+library "compat"
+
+object StatusDataWriter "status" { }
+
--- /dev/null
+/**
+ * The SyslogLogger type writes log information to syslog.
+ */
+
+object SyslogLogger "syslog" {
+ severity = "warning"
+}
+
--- /dev/null
+../features-available/checker.conf
\ No newline at end of file
--- /dev/null
+../features-available/command.conf
\ No newline at end of file
--- /dev/null
+../features-available/compatlog.conf
\ No newline at end of file
--- /dev/null
+../features-available/mainlog.conf
\ No newline at end of file
--- /dev/null
+../features-available/notification.conf
\ No newline at end of file
--- /dev/null
+../features-available/statusdata.conf
\ No newline at end of file
--- /dev/null
+/**
+ * Icinga 2 configuration file
+ * - this is where you define settings for the Icinga application including
+ * which hosts/services to check.
+ *
+ * For an overview of all available configuration options please refer
+ * to the documentation that is distributed as part of Icinga 2.
+ */
+
+/**
+ * The constants.conf defines global constants.
+ */
+include "constants.conf"
+
+/**
+ * The zones.conf defines zones for a cluster setup.
+ * Not required for single instance setups.
+ */
+include "zones.conf"
+
+/**
+ * The Icinga Template Library (ITL) provides a number of useful templates
+ * and command definitions.
+ * Common monitoring plugin command definitions are included separately.
+ */
+include <itl>
+include <plugins>
+include <plugins-contrib>
+include <manubulon>
+
+/**
+ * This includes the Icinga 2 Windows plugins. These command definitions
+ * are required on a master node when a client is used as command endpoint.
+ */
+include <windows-plugins>
+
+/**
+ * This includes the NSClient++ check commands. These command definitions
+ * are required on a master node when a client is used as command endpoint.
+ */
+include <nscp>
+
+/**
+ * The features-available directory contains a number of configuration
+ * files for features which can be enabled and disabled using the
+ * icinga2 feature enable / icinga2 feature disable CLI commands.
+ * These commands work by creating and removing symbolic links in
+ * the features-enabled directory.
+ */
+include "features-enabled/*.conf"
+
+/**
+ * The repository.d directory contains all configuration objects
+ * managed by the 'icinga2 repository' CLI commands.
+ */
+include_recursive "repository.d"
+
+/**
+ * Although in theory you could define all your objects in this file
+ * the preferred way is to create separate directories and files in the conf.d
+ * directory. Each of these files must have the file extension ".conf".
+ */
+include_recursive "conf.d"
--- /dev/null
+/**
+ * This file is read by Icinga 2 before the main
+ * configuration file (icinga2.conf) is processed.
+ */
+
+const RunAsUser = "nagios"
+const RunAsGroup = "nagios"
--- /dev/null
+This directory contains configuration files managed by 'icinga2 repository'
+cli commands. Please run 'icinga2 repository --help' to see all available
+options.
--- /dev/null
+#!/bin/sh
+template=`cat <<TEMPLATE
+***** Icinga *****
+
+Notification Type: $NOTIFICATIONTYPE
+
+Host: $HOSTALIAS
+Address: $HOSTADDRESS
+State: $HOSTSTATE
+
+Date/Time: $LONGDATETIME
+
+Additional Info: $HOSTOUTPUT
+
+Comment: [$NOTIFICATIONAUTHORNAME] $NOTIFICATIONCOMMENT
+TEMPLATE
+`
+
+/usr/bin/printf "%b" "$template" | mail -s "$NOTIFICATIONTYPE - $HOSTDISPLAYNAME is $HOSTSTATE" $USEREMAIL
+
--- /dev/null
+#!/bin/sh
+template=`cat <<TEMPLATE
+***** Icinga *****
+
+Notification Type: $NOTIFICATIONTYPE
+
+Service: $SERVICEDESC
+Host: $HOSTALIAS
+Address: $HOSTADDRESS
+State: $SERVICESTATE
+
+Date/Time: $LONGDATETIME
+
+Additional Info: $SERVICEOUTPUT
+
+Comment: [$NOTIFICATIONAUTHORNAME] $NOTIFICATIONCOMMENT
+TEMPLATE
+`
+
+/usr/bin/printf "%b" "$template" | mail -s "$NOTIFICATIONTYPE - $HOSTDISPLAYNAME - $SERVICEDISPLAYNAME is $SERVICESTATE" $USEREMAIL
+
--- /dev/null
+/*
+ * Endpoint and Zone configuration for a cluster setup
+ * This local example requires `NodeName` defined in
+ * constants.conf.
+ */
+
+object Endpoint NodeName {
+ host = NodeName
+}
+
+object Zone ZoneName {
+ endpoints = [ NodeName ]
+}
+
+/*
+ * Defines a global zone containing templates,
+ * etc. synced to all nodes, if they accept
+ * configuration. All remote nodes need
+ * this zone configured too.
+ */
+
+/*
+object Zone "global-templates" {
+ global = true
+}
+*/
+
+/*
+ * Read the documentation on how to configure
+ * a cluster setup with multiple zones.
+ */
+
+/*
+object Endpoint "master.example.org" {
+ host = "master.example.org"
+}
+
+object Endpoint "satellite.example.org" {
+ host = "satellite.example.org"
+}
+
+object Zone "master" {
+ endpoints = [ "master.example.org" ]
+}
+
+object Zone "satellite" {
+ parent = "master"
+ endpoints = [ "satellite.example.org" ]
+}
+*/
+
--- /dev/null
+This directory contains configuration files for cluster zones. If you're not
+running a cluster you can safely ignore this directory.
--- /dev/null
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: icinga2
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: icinga2 host/service/network monitoring and management system
+# Description: icinga2 is a monitoring and management system for hosts, services and networks.
+### END INIT INFO
+
+# Author: Alexander Wirt <formorer@debian.org>
+# Markus Frosch <markus@lazyfrosch.de>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="icinga2 monitoring daemon"
+NAME=icinga2
+DAEMON=/usr/sbin/icinga2
+DAEMON_CONFIG="/etc/icinga2/icinga2.conf"
+DAEMON_USER=nagios
+DAEMON_GROUP=nagios
+DAEMON_CMDGROUP=www-data
+DAEMON_ARGS="-e /var/log/icinga2/icinga2.err"
+STARTUP_LOG="/var/log/icinga2/startup.log"
+PIDFILE=/var/run/icinga2/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Block/ignore SIGPIPE inside Icinga2
+# Workaround for a known bug in 2.6.0
+# see https://dev.icinga.com/issues/13567#note-19
+trap '' 13 # SIGPIPE
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+# check run directory
+check_run () {
+ test -d '/var/run/icinga2' || mkdir /var/run/icinga2
+ test -d '/var/run/icinga2/cmd' || mkdir /var/run/icinga2/cmd
+
+ chown "$DAEMON_USER":"$DAEMON_GROUP" /var/run/icinga2
+ chmod 0755 /var/run/icinga2
+
+ chown "$DAEMON_USER":"$DAEMON_CMDGROUP" /var/run/icinga2/cmd
+ chmod 2710 /var/run/icinga2/cmd
+}
+
+check_config () {
+ $DAEMON daemon --validate
+}
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+ check_run
+ # Return
+ # 0 if daemon has been started
+ # 1 if daemon was already running
+ # 2 if daemon could not be started
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+ daemon -d $DAEMON_ARGS \
+ || return 2
+ # Add code here, if necessary, that waits for the process to be ready
+ # to handle requests from services started subsequently which depend
+ # on this one. As a last resort, sleep for some time.
+}
+
+#
+# Function that starts the daemon/service in foreground for debugging
+#
+do_foreground()
+{
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test \
+ || return 1
+ start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON -- \
+ daemon $DAEMON_ARGS \
+ || return 2
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+ # Return
+ # 0 if daemon has been stopped
+ # 1 if daemon was already stopped
+ # 2 if daemon could not be stopped
+ # other if a failure occurred
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+ RETVAL="$?"
+ [ "$RETVAL" = 2 ] && return 2
+ # Wait for children to finish too if this is a daemon that forks
+ # and if the daemon is only ever run from this initscript.
+ # If the above conditions are not satisfied then add some other code
+ # that waits for the process to drop all resources that could be
+ # needed by services started subsequently. A last resort is to
+ # sleep for some time.
+ start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+ [ "$?" = 2 ] && return 2
+ # Many daemons don't delete their pidfiles when they exit.
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+ #
+ # If the daemon can reload its configuration without
+ # restarting (for example, when it is sent a SIGHUP),
+ # then implement that here.
+ #
+ start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+ return 0
+}
+
+do_check_config () {
+ DOEXITONOK="$1"
+ log_begin_msg "checking Icinga2 configuration"
+ if ! check_config >$STARTUP_LOG 2>&1; then
+ echo
+ [ -n "$DOEXITONOK" ] && cat $STARTUP_LOG
+ log_failure_msg "checking Icinga2 configuration. Check '$STARTUP_LOG' for details."
+ exit 1
+ else
+ log_end_msg 0
+ [ -n "$DOEXITONOK" ] && exit 0
+ fi
+}
+
+case "$1" in
+ start)
+ do_check_config
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+ ;;
+ foreground)
+ do_check_config
+ log_action_msg "Starting $DESC in foreground"
+ status=0
+ trap 'status=2;' INT # handle intr here
+ for i in 1 2; do
+ do_foreground || status="$?"
+ case "$status" in
+ 0)
+ log_success_msg "$NAME ended graceful"
+ break
+ ;;
+ 1)
+ if [ "$i" -eq 1 ]; then
+ log_warning_msg "$NAME already running!"
+ log_begin_msg "Do you want to stop $NAME before going foreground? [y/N] "
+ read -r question
+ if [ "$question" = "y" ] || [ "$question" = "yes" ]; then
+ do_stop
+ continue
+ fi
+ fi
+ log_failure_msg "$NAME already running! Please stop before starting in foreground!"
+ break
+ ;;
+ 2)
+ log_failure_msg "$NAME ended"
+ break
+ ;;
+ esac
+ done
+ exit $status
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+ ;;
+ status)
+ status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $?
+ ;;
+ reload|force-reload)
+ do_check_config
+ status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" || exit $?
+ log_daemon_msg "Reloading $DESC" "$NAME"
+ do_reload
+ log_end_msg $?
+ ;;
+ restart)
+ do_check_config
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+ ;;
+ checkconfig)
+ do_check_config 1
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|status|reload|force-reload|restart|checkconfig|foreground}" >&2
+ exit 3
+ ;;
+esac
+
+# vi: ts=2 sw=2 expandtab :
+:
--- /dev/null
+/var/log/icinga2/icinga2.log /var/log/icinga2/debug.log {
+ daily
+ rotate 7
+ compress
+ delaycompress
+ missingok
+ notifempty
+ create 644 nagios nagios
+ postrotate
+ /bin/kill -USR1 $(cat /run/icinga2/icinga2.pid 2> /dev/null) 2> /dev/null || true
+ endscript
+}
+
+/var/log/icinga2/error.log {
+ daily
+ rotate 90
+ compress
+ delaycompress
+ missingok
+ notifempty
+ create 644 nagios nagios
+ # TODO: figure out how to get Icinga to re-open this log file
+}
+
text/x-c; vim %s; needsterminal
text/x-c++; vim %s; needsterminal
text/plain; view %s; edit=vim %s; compose=vim %s; test=test -x /usr/bin/vim; needsterminal
+application/zip; unzip -l %s; nametemplate=%s.zip; copiousoutput
text/plain; view %s; edit=vi %s; compose=vi %s; needsterminal
application/x-troff-man; /usr/bin/man -Tascii -l '%s' | col -b; copiousoutput; description=Man page
text/troff; /usr/bin/man -Tascii -l '%s' | col -b; copiousoutput; description=Man page
--- /dev/null
+# 'check_apt' command definition
+define command{
+ command_name check_apt
+ command_line /usr/lib/nagios/plugins/check_apt
+ }
+
+# 'check_apt_distupgrade' command definition
+define command{
+ command_name check_apt_distupgrade
+ command_line /usr/lib/nagios/plugins/check_apt -d
+ }
+
--- /dev/null
+# note: these plugins require root privilege. see README.Debian for
+# more information on how it is recommended that you do this.
+
+# 'check_dhcp' command definition
+define command{
+ command_name check_dhcp
+ command_line /usr/lib/nagios/plugins/check_dhcp -s '$HOSTADDRESS$' '$ARG1$'
+ }
+
+# 'check_dhcp_interface' command definition
+define command{
+ command_name check_dhcp_interface
+ command_line /usr/lib/nagios/plugins/check_dhcp -s '$HOSTADDRESS$' -i '$ARG1$' '$ARG2$'
+ }
+
--- /dev/null
+# 'check_disk' command definition
+define command{
+ command_name check_disk
+ command_line /usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -e -p '$ARG3$'
+ }
+
+# 'check_all_disks' command definition
+define command{
+ command_name check_all_disks
+ command_line /usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -e
+ }
+
+# 'ssh_disk' command definition
+define command{
+ command_name ssh_disk
+ command_line /usr/lib/nagios/plugins/check_by_ssh -H '$HOSTADDRESS$' -C "/usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -e -p '$ARG3$'"
+ }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'ssh_disk_4' command definition
+define command{
+ command_name ssh_disk_4
+ command_line /usr/lib/nagios/plugins/check_by_ssh -H '$HOSTADDRESS$' -C "/usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -e -p '$ARG3$'" -4
+ }
--- /dev/null
+# return-ok definition
+define command {
+ command_name return-ok
+ command_line /usr/lib/nagios/plugins/check_dummy 0
+}
+
+# return-warning definition
+define command {
+ command_name return-warning
+ command_line /usr/lib/nagios/plugins/check_dummy 1
+}
+
+# return-critical definition
+define command {
+ command_name return-critical
+ command_line /usr/lib/nagios/plugins/check_dummy 2
+}
+
+# return-unknown definition
+define command {
+ command_name return-unknown
+ command_line /usr/lib/nagios/plugins/check_dummy 3
+}
+
+# return-numeric definition
+define command {
+ command_name return-numeric
+ command_line /usr/lib/nagios/plugins/check_dummy '$ARG1$'
+}
--- /dev/null
+# 'check_ftp' command definition
+define command{
+ command_name check_ftp
+ command_line /usr/lib/nagios/plugins/check_ftp -H '$HOSTADDRESS$' '$ARG1$'
+ }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_ftp_4' command definition
+define command{
+ command_name check_ftp_4
+ command_line /usr/lib/nagios/plugins/check_ftp -H '$HOSTADDRESS$' -4 '$ARG1$'
+ }
--- /dev/null
+# 'check_http' command definition
+define command{
+ command_name check_http
+ command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' '$ARG1$'
+ }
+
+# 'check_http_hostname' command definition
+define command{
+ command_name check_httpname
+ command_line /usr/lib/nagios/plugins/check_http -H '$HOSTNAME$' -I '$HOSTADDRESS$' '$ARG1$'
+ }
+
+# 'check_http2' command definition
+define command{
+ command_name check_http2
+ command_line /usr/lib/nagios/plugins/check_http -H '$ARG1$' -I '$HOSTADDRESS$' -w '$ARG2$' -c '$ARG3$' '$ARG4$'
+ }
+
+# 'check_squid' command definition
+define command{
+ command_name check_squid
+ command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -p '$ARG1$' -u '$ARG2$'
+ }
+
+# 'check_https' command definition
+define command{
+ command_name check_https
+ command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' '$ARG1$'
+ }
+
+# 'check_https_hostname' command definition
+define command{
+ command_name check_https_hostname
+ command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' '$ARG1$'
+ }
+
+# 'check_https_auth' command definition
+define command{
+ command_name check_https_auth
+ command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -a '$ARG1$' '$ARG2$'
+ }
+
+# 'check_https_auth_hostname' command definition
+define command{
+ command_name check_https_auth_hostname
+ command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' -a '$ARG1$' '$ARG2$'
+ }
+
+# 'check_cups' command definition
+define command{
+ command_name check_cups
+ command_line /usr/lib/nagios/plugins/check_http -I '$HOSTADDRESS$' -p 631 '$ARG1$'
+ }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_http_4' command definition
+define command{
+ command_name check_http_4
+ command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -4 '$ARG1$'
+ }
+
+# 'check_http_hostname_4' command definition
+define command{
+ command_name check_httpname_4
+ command_line /usr/lib/nagios/plugins/check_http -H '$HOSTNAME$' -I '$HOSTADDRESS$' -4 '$ARG1$'
+ }
+
+# 'check_http2_4' command definition
+define command{
+ command_name check_http2_4
+ command_line /usr/lib/nagios/plugins/check_http -H '$ARG1$' -I '$HOSTADDRESS$' -w '$ARG2$' -c '$ARG3$' -4 '$ARG4$'
+ }
+
+# 'check_squid_4' command definition
+define command{
+ command_name check_squid_4
+ command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -p '$ARG1$' -u '$ARG2$' -4
+ }
+
+# 'check_https_4' command definition
+define command{
+ command_name check_https_4
+ command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -4 '$ARG1$'
+ }
+
+# 'check_https_hostname_4' command definition
+define command{
+ command_name check_https_hostname_4
+ command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' -4 '$ARG1$'
+ }
+
+# 'check_https_auth_4' command definition
+define command{
+ command_name check_https_auth_4
+ command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -a '$ARG1$' -4 '$ARG2$'
+ }
+
+# 'check_https_auth_hostname_4' command definition
+define command{
+ command_name check_https_auth_hostname_4
+ command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTNAME' -I '$HOSTADDRESS$' -a '$ARG1$' -4 '$ARG2$'
+ }
+
+# 'check_cups_4' command definition
+define command{
+ command_name check_cups_4
+ command_line /usr/lib/nagios/plugins/check_http -I '$HOSTADDRESS$' -p 631 -4 '$ARG1$'
+ }
--- /dev/null
+# 'check_load' command definition
+define command{
+ command_name check_load
+ command_line /usr/lib/nagios/plugins/check_load --warning='$ARG1$,$ARG2$,$ARG3$' --critical='$ARG4$,$ARG5$,$ARG6$'
+ }
+
--- /dev/null
+# 'check_pop' command definition
+define command {
+ command_name check_pop
+ command_line /usr/lib/nagios/plugins/check_pop -H '$HOSTADDRESS$' '$ARG1$'
+}
+
+
+# 'check_smtp' command definition
+define command {
+ command_name check_smtp
+ command_line /usr/lib/nagios/plugins/check_smtp -H '$HOSTADDRESS$' '$ARG1$'
+}
+
+# 'check_ssmtp' command definition
+define command {
+ command_name check_ssmtp
+ command_line /usr/lib/nagios/plugins/check_ssmtp -H '$HOSTADDRESS$' '$ARG1$'
+}
+
+# 'check_imap' command definition
+define command {
+ command_name check_imap
+ command_line /usr/lib/nagios/plugins/check_imap -H '$HOSTADDRESS$' '$ARG1$'
+}
+
+# 'check_spop' command definition
+define command {
+ command_name check_spop
+ command_line /usr/lib/nagios/plugins/check_pop -p 995 -H '$HOSTADDRESS$' -S '$ARG1$'
+}
+
+
+# 'check_simap' command definition
+define command {
+ command_name check_simap
+ command_line /usr/lib/nagios/plugins/check_imap -p 993 -H '$HOSTADDRESS$' -S '$ARG1$'
+}
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_pop_4' command definition
+define command {
+ command_name check_pop_4
+ command_line /usr/lib/nagios/plugins/check_pop -H '$HOSTADDRESS$' -4 '$ARG1$'
+}
+
+# 'check_smtp_4' command definition
+define command {
+ command_name check_smtp_4
+ command_line /usr/lib/nagios/plugins/check_smtp -H '$HOSTADDRESS$' -4 '$ARG1$'
+}
+
+# 'check_ssmtp_4' command definition
+define command {
+ command_name check_ssmtp_4
+ command_line /usr/lib/nagios/plugins/check_ssmtp -H '$HOSTADDRESS$' -4 '$ARG1$'
+}
+
+# 'check_imap_4' command definition
+define command {
+ command_name check_imap_4
+ command_line /usr/lib/nagios/plugins/check_imap -H '$HOSTADDRESS$' -4 '$ARG1$'
+}
+
+# 'check_spop_4' command definition
+define command {
+ command_name check_spop_4
+ command_line /usr/lib/nagios/plugins/check_pop -p 995 -H '$HOSTADDRESS$' -S -4 '$ARG1$'
+}
+
+# 'check_simap_4' command definition
+define command {
+ command_name check_simap_4
+ command_line /usr/lib/nagios/plugins/check_imap -p 993 -H '$HOSTADDRESS$' -S -4 '$ARG1$'
+}
--- /dev/null
+# 'check_nntp' command definition
+define command{
+ command_name check_nntp
+ command_line /usr/lib/nagios/plugins/check_nntp -H '$HOSTADDRESS$' '$ARG1$'
+ }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_nntp_4' command definition
+define command{
+ command_name check_nntp_4
+ command_line /usr/lib/nagios/plugins/check_nntp -H '$HOSTADDRESS$' -4 '$ARG1$'
+ }
--- /dev/null
+# 'check_ntp' command definition
+define command{
+ command_name check_ntp
+ command_line /usr/lib/nagios/plugins/check_ntp_peer -H '$HOSTADDRESS$' '$ARG1$'
+ }
+
+# 'check_ntp_ntpq' command definition
+define command{
+ command_name check_ntp_ntpq
+ command_line /usr/lib/nagios/plugins/check_ntp_peer -H '$HOSTADDRESS$' -j 10 -k 15 '$ARG1$'
+ }
+
+# 'check_time' command definition
+define command{
+ command_name check_time
+ command_line /usr/lib/nagios/plugins/check_time -H '$HOSTADDRESS$' '$ARG1$'
+ }
--- /dev/null
+# 'check_ping' command definition
+define command{
+ command_name check_ping
+ command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w '$ARG1$' -c '$ARG2$'
+ }
+
+
+# 'check-host-alive' command definition
+define command{
+ command_name check-host-alive
+ command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1
+ }
+
+
+# 'check-printer-alive' command definition
+define command{
+ command_name check-printer-alive
+ command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1
+ }
+
+
+# 'check-switch-alive' command definition
+define command{
+ command_name check-switch-alive
+ command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1
+ }
+
+
+# 'check-router-alive' command definition
+define command{
+ command_name check-router-alive
+ command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1
+ }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_ping_4' command definition
+define command{
+ command_name check_ping_4
+ command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w '$ARG1$' -c '$ARG2$' -4
+ }
+
+
+# 'check-host-alive_4' command definition
+define command{
+ command_name check-host-alive_4
+ command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1 -4
+ }
+
+
+# 'check-printer-alive_4' command definition
+define command{
+ command_name check-printer-alive_4
+ command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1 -4
+ }
+
+
+# 'check-switch-alive_4' command definition
+define command{
+ command_name check-switch-alive_4
+ command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1 -4
+ }
+
+
+# 'check-router-alive_4' command definition
+define command{
+ command_name check-router-alive_4
+ command_line /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1 -4
+ }
+
--- /dev/null
+# 'check_procs' command definition
+define command{
+ command_name check_procs
+ command_line /usr/lib/nagios/plugins/check_procs -w '$ARG1$' -c '$ARG2$'
+ }
+
+
+# 'check_procs_zombie' command definition
+define command{
+ command_name check_procs_zombie
+ command_line /usr/lib/nagios/plugins/check_procs -w '$ARG1$' -c '$ARG2$' -s Z
+ }
+
+
+# 'check_procs_httpd' command definition
+define command{
+ command_name check_procs_httpd
+ command_line /usr/lib/nagios/plugins/check_procs -w 5:'$ARG1$' -c 1:'$ARG2$' -C httpd
+ }
+
--- /dev/null
+# 'check_real_url' command definition
+define command{
+ command_name check_real_url
+ command_line /usr/lib/nagios/plugins/check_real '$HOSTADDRESS$' -p '$ARG1$' -wt '$ARG2$' -ct '$ARG3$' -to 5 -u '$ARG4$'
+ }
+
+
+# 'check_real' command definition
+define command{
+ command_name check_real
+ command_line /usr/lib/nagios/plugins/check_real '$HOSTADDRESS$' -p '$ARG1$' -wt '$ARG2$' -ct '$ARG3$' -to 5
+ }
+
--- /dev/null
+# 'check_ssh' command definition
+define command{
+ command_name check_ssh
+ command_line /usr/lib/nagios/plugins/check_ssh '$HOSTADDRESS$'
+ }
+
+# 'check_ssh_port' command definition
+define command{
+ command_name check_ssh_port
+ command_line /usr/lib/nagios/plugins/check_ssh -p '$ARG1$' '$HOSTADDRESS$'
+ }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_ssh_4' command definition
+define command{
+ command_name check_ssh_4
+ command_line /usr/lib/nagios/plugins/check_ssh -4 '$HOSTADDRESS$'
+ }
+
+# 'check_ssh_port_4' command definition
+define command{
+ command_name check_ssh_port_4
+ command_line /usr/lib/nagios/plugins/check_ssh -4 -p '$ARG1$' '$HOSTADDRESS$'
+ }
--- /dev/null
+# 'check_tcp' command definition
+define command{
+ command_name check_tcp
+ command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p '$ARG1$' '$ARG2$'
+ }
+
+# 'check_udp' command definition
+define command{
+ command_name check_udp
+ command_line /usr/lib/nagios/plugins/check_udp -H '$HOSTADDRESS$' -p '$ARG1$' '$ARG2$'
+ }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_tcp_4' command definition
+define command{
+ command_name check_tcp_4
+ command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p '$ARG1$' -4 '$ARG2$'
+ }
+
+# 'check_udp_4' command definition
+define command{
+ command_name check_udp_4
+ command_line /usr/lib/nagios/plugins/check_udp -H '$HOSTADDRESS$' -p '$ARG1$' -4 '$ARG2$'
+ }
--- /dev/null
+# 'check_telnet' command definition
+define command{
+ command_name check_telnet
+ command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p 23 '$ARG1$'
+ }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_telnet_4' command definition
+define command{
+ command_name check_telnet_4
+ command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p 23 -4 '$ARG1$'
+ }
--- /dev/null
+# 'check_users' command definition
+define command{
+ command_name check_users
+ command_line /usr/lib/nagios/plugins/check_users -w '$ARG1$' -c '$ARG2$'
+ }
+
messagebus:x:109:117::/var/run/dbus:/bin/false
_apt:x:110:65534::/nonexistent:/bin/false
_chrony:x:111:118:Chrony daemon,,,:/var/lib/chrony:/bin/false
+nagios:x:112:119::/var/lib/nagios:/bin/false
postgres:x:108:116:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
messagebus:x:109:117::/var/run/dbus:/bin/false
_apt:x:110:65534::/nonexistent:/bin/false
-_chrony:x:111:118::/var/lib/chrony:/bin/false
+_chrony:x:111:118:Chrony daemon,,,:/var/lib/chrony:/bin/false
--- /dev/null
+../init.d/icinga2
\ No newline at end of file
--- /dev/null
+../init.d/icinga2
\ No newline at end of file
--- /dev/null
+../init.d/icinga2
\ No newline at end of file
--- /dev/null
+../init.d/icinga2
\ No newline at end of file
--- /dev/null
+../init.d/icinga2
\ No newline at end of file
--- /dev/null
+../init.d/icinga2
\ No newline at end of file
--- /dev/null
+../init.d/icinga2
\ No newline at end of file
messagebus:*:17329:0:99999:7:::
_apt:*:17365:0:99999:7:::
_chrony:*:17365:0:99999:7:::
+nagios:!:17428:0:99999:7:::
messagebus:*:17329:0:99999:7:::
_apt:*:17365:0:99999:7:::
_chrony:*:17365:0:99999:7:::
+nagios:!:17428:0:99999:7:::
--- /dev/null
+/lib/systemd/system/icinga2.service
\ No newline at end of file