]> Frank Brehm's Git Trees - config/helga-hetzner/etc.git/commitdiff
committing changes in /etc made by "apt install icinga2 vim-icinga2 monitoring-plugin...
authorFrank Brehm <frank@brehm-online.com>
Thu, 15 Apr 2021 10:29:13 +0000 (12:29 +0200)
committerFrank Brehm <frank@brehm-online.com>
Thu, 15 Apr 2021 10:29:13 +0000 (12:29 +0200)
Package changes:
+fping 4.2-1 amd64
+icinga2 2.10.3-2+deb10u1 amd64
+icinga2-bin 2.10.3-2+deb10u1 amd64
+icinga2-common 2.10.3-2+deb10u1 all
+libboost-atomic1.67.0 1.67.0-13+deb10u1 amd64
+libboost-chrono1.67.0 1.67.0-13+deb10u1 amd64
+libboost-date-time1.67.0 1.67.0-13+deb10u1 amd64
+libboost-program-options1.67.0 1.67.0-13+deb10u1 amd64
+libboost-regex1.67.0 1.67.0-13+deb10u1 amd64
+libboost-thread1.67.0 1.67.0-13+deb10u1 amd64
+libruby2.5 2.5.5-3+deb10u3 amd64
+libyajl2 2.1.0-3 amd64
+monitoring-plugins-basic 2.2-6 amd64
+monitoring-plugins-common 2.2-6 amd64
+monitoring-plugins-standard 2.2-6 amd64
+rake 12.3.1-3+deb10u1 all
+ruby 1:2.5.1 amd64
+ruby-did-you-mean 1.2.1-1 all
+ruby-minitest 5.11.3-1 all
+ruby-net-telnet 0.1.1-2 all
+ruby-power-assert 1.1.1-1 all
+ruby-test-unit 3.2.8-1 all
+ruby-xmlrpc 0.3.0-2 all
+ruby2.5 2.5.5-3+deb10u3 amd64
+rubygems-integration 1.11+deb10u1 all
+vim-addon-manager 0.5.10 all
+vim-icinga2 2.10.3-2+deb10u1 all

90 files changed:
.etckeeper
default/icinga2 [new file with mode: 0644]
group
group-
gshadow
gshadow-
icinga2/conf.d/app.conf [new file with mode: 0644]
icinga2/conf.d/apt.conf [new file with mode: 0644]
icinga2/conf.d/commands.conf [new file with mode: 0644]
icinga2/conf.d/downtimes.conf [new file with mode: 0644]
icinga2/conf.d/groups.conf [new file with mode: 0644]
icinga2/conf.d/hosts.conf [new file with mode: 0644]
icinga2/conf.d/notifications.conf [new file with mode: 0644]
icinga2/conf.d/services.conf [new file with mode: 0644]
icinga2/conf.d/templates.conf [new file with mode: 0644]
icinga2/conf.d/timeperiods.conf [new file with mode: 0644]
icinga2/conf.d/users.conf [new file with mode: 0644]
icinga2/constants.conf [new file with mode: 0644]
icinga2/features-available/api.conf [new file with mode: 0644]
icinga2/features-available/checker.conf [new file with mode: 0644]
icinga2/features-available/command.conf [new file with mode: 0644]
icinga2/features-available/compatlog.conf [new file with mode: 0644]
icinga2/features-available/debuglog.conf [new file with mode: 0644]
icinga2/features-available/elasticsearch.conf [new file with mode: 0644]
icinga2/features-available/gelf.conf [new file with mode: 0644]
icinga2/features-available/graphite.conf [new file with mode: 0644]
icinga2/features-available/influxdb.conf [new file with mode: 0644]
icinga2/features-available/livestatus.conf [new file with mode: 0644]
icinga2/features-available/mainlog.conf [new file with mode: 0644]
icinga2/features-available/notification.conf [new file with mode: 0644]
icinga2/features-available/opentsdb.conf [new file with mode: 0644]
icinga2/features-available/perfdata.conf [new file with mode: 0644]
icinga2/features-available/statusdata.conf [new file with mode: 0644]
icinga2/features-available/syslog.conf [new file with mode: 0644]
icinga2/features-enabled/checker.conf [new symlink]
icinga2/features-enabled/mainlog.conf [new symlink]
icinga2/features-enabled/notification.conf [new symlink]
icinga2/icinga2.conf [new file with mode: 0644]
icinga2/scripts/mail-host-notification.sh [new file with mode: 0755]
icinga2/scripts/mail-service-notification.sh [new file with mode: 0755]
icinga2/zones.conf [new file with mode: 0644]
icinga2/zones.d/README [new file with mode: 0644]
init.d/icinga2 [new file with mode: 0755]
logrotate.d/icinga2 [new file with mode: 0644]
nagios-plugins/config/apt.cfg [new file with mode: 0644]
nagios-plugins/config/breeze.cfg [new file with mode: 0644]
nagios-plugins/config/dhcp.cfg [new file with mode: 0644]
nagios-plugins/config/disk-smb.cfg [new file with mode: 0644]
nagios-plugins/config/disk.cfg [new file with mode: 0644]
nagios-plugins/config/dns.cfg [new file with mode: 0644]
nagios-plugins/config/dummy.cfg [new file with mode: 0644]
nagios-plugins/config/flexlm.cfg [new file with mode: 0644]
nagios-plugins/config/fping.cfg [new file with mode: 0644]
nagios-plugins/config/ftp.cfg [new file with mode: 0644]
nagios-plugins/config/games.cfg [new file with mode: 0644]
nagios-plugins/config/hppjd.cfg [new file with mode: 0644]
nagios-plugins/config/http.cfg [new file with mode: 0644]
nagios-plugins/config/ifstatus.cfg [new file with mode: 0644]
nagios-plugins/config/ldap.cfg [new file with mode: 0644]
nagios-plugins/config/load.cfg [new file with mode: 0644]
nagios-plugins/config/mail.cfg [new file with mode: 0644]
nagios-plugins/config/mailq.cfg [new file with mode: 0644]
nagios-plugins/config/mrtg.cfg [new file with mode: 0644]
nagios-plugins/config/mysql.cfg [new file with mode: 0644]
nagios-plugins/config/netware.cfg [new file with mode: 0644]
nagios-plugins/config/news.cfg [new file with mode: 0644]
nagios-plugins/config/nt.cfg [new file with mode: 0644]
nagios-plugins/config/ntp.cfg [new file with mode: 0644]
nagios-plugins/config/pgsql.cfg [new file with mode: 0644]
nagios-plugins/config/ping.cfg [new file with mode: 0644]
nagios-plugins/config/procs.cfg [new file with mode: 0644]
nagios-plugins/config/radius.cfg [new file with mode: 0644]
nagios-plugins/config/real.cfg [new file with mode: 0644]
nagios-plugins/config/rpc-nfs.cfg [new file with mode: 0644]
nagios-plugins/config/snmp.cfg [new file with mode: 0644]
nagios-plugins/config/ssh.cfg [new file with mode: 0644]
nagios-plugins/config/tcp_udp.cfg [new file with mode: 0644]
nagios-plugins/config/telnet.cfg [new file with mode: 0644]
nagios-plugins/config/users.cfg [new file with mode: 0644]
passwd
rc0.d/K01icinga2 [new symlink]
rc1.d/K01icinga2 [new symlink]
rc2.d/S01icinga2 [new symlink]
rc3.d/S01icinga2 [new symlink]
rc4.d/S01icinga2 [new symlink]
rc5.d/S01icinga2 [new symlink]
rc6.d/K01icinga2 [new symlink]
shadow
shadow-
systemd/system/multi-user.target.wants/icinga2.service [new symlink]

index 382a3d315d5f8cf3ccf36ed6fc7ce4e0fb037c43..42eb8f929eb0d0934a97232090978a7ad5c3065d 100755 (executable)
@@ -14,6 +14,7 @@ mkdir -p './dbus-1/session.d'
 mkdir -p './dbus-1/system.d'
 mkdir -p './dpkg/dpkg.cfg.d'
 mkdir -p './gss/mech.d'
+mkdir -p './icinga2/pki'
 mkdir -p './initramfs-tools/hooks'
 mkdir -p './initramfs-tools/scripts/init-bottom'
 mkdir -p './initramfs-tools/scripts/init-premount'
@@ -324,6 +325,7 @@ maybe chmod 0644 'default/grub'
 maybe chmod 0755 'default/grub.d'
 maybe chmod 0644 'default/grub.d/init-select.cfg'
 maybe chmod 0644 'default/hwclock'
+maybe chmod 0644 'default/icinga2'
 maybe chmod 0644 'default/keyboard'
 maybe chmod 0644 'default/locale'
 maybe chmod 0644 'default/mdadm'
@@ -503,6 +505,50 @@ maybe chmod 0644 'hostname'
 maybe chmod 0644 'hosts'
 maybe chmod 0644 'hosts.allow'
 maybe chmod 0644 'hosts.deny'
+maybe chown 'nagios' 'icinga2'
+maybe chgrp 'nagios' 'icinga2'
+maybe chmod 0750 'icinga2'
+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/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/elasticsearch.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 chown 'nagios' 'icinga2/pki'
+maybe chgrp 'nagios' 'icinga2/pki'
+maybe chmod 0700 'icinga2/pki'
+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 0755 'init.d/acpid'
@@ -525,6 +571,7 @@ maybe chmod 0755 'init.d/cryptdisks-early'
 maybe chmod 0755 'init.d/dbus'
 maybe chmod 0755 'init.d/dovecot'
 maybe chmod 0755 'init.d/hwclock.sh'
+maybe chmod 0755 'init.d/icinga2'
 maybe chmod 0755 'init.d/keyboard-setup.sh'
 maybe chmod 0755 'init.d/kmod'
 maybe chmod 0755 'init.d/lm-sensors'
@@ -683,6 +730,7 @@ maybe chmod 0644 'logrotate.d/clamav-daemon'
 maybe chmod 0644 'logrotate.d/clamav-freshclam'
 maybe chmod 0644 'logrotate.d/dovecot'
 maybe chmod 0644 'logrotate.d/dpkg'
+maybe chmod 0644 'logrotate.d/icinga2'
 maybe chmod 0644 'logrotate.d/iredapd'
 maybe chmod 0644 'logrotate.d/mlmmjadmin'
 maybe chmod 0644 'logrotate.d/mysql-server'
@@ -748,6 +796,43 @@ maybe chmod 0644 'mysql/mariadb.conf.d/50-mysqld_safe.cnf'
 maybe chmod 0644 'mysql/mariadb.conf.d/50-server.cnf'
 maybe chmod 0644 'mysql/my.cnf.2021.04.08.22.02.11'
 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/breeze.cfg'
+maybe chmod 0644 'nagios-plugins/config/dhcp.cfg'
+maybe chmod 0644 'nagios-plugins/config/disk-smb.cfg'
+maybe chmod 0644 'nagios-plugins/config/disk.cfg'
+maybe chmod 0644 'nagios-plugins/config/dns.cfg'
+maybe chmod 0644 'nagios-plugins/config/dummy.cfg'
+maybe chmod 0644 'nagios-plugins/config/flexlm.cfg'
+maybe chmod 0644 'nagios-plugins/config/fping.cfg'
+maybe chmod 0644 'nagios-plugins/config/ftp.cfg'
+maybe chmod 0644 'nagios-plugins/config/games.cfg'
+maybe chmod 0644 'nagios-plugins/config/hppjd.cfg'
+maybe chmod 0644 'nagios-plugins/config/http.cfg'
+maybe chmod 0644 'nagios-plugins/config/ifstatus.cfg'
+maybe chmod 0644 'nagios-plugins/config/ldap.cfg'
+maybe chmod 0644 'nagios-plugins/config/load.cfg'
+maybe chmod 0644 'nagios-plugins/config/mail.cfg'
+maybe chmod 0644 'nagios-plugins/config/mailq.cfg'
+maybe chmod 0644 'nagios-plugins/config/mrtg.cfg'
+maybe chmod 0644 'nagios-plugins/config/mysql.cfg'
+maybe chmod 0644 'nagios-plugins/config/netware.cfg'
+maybe chmod 0644 'nagios-plugins/config/news.cfg'
+maybe chmod 0644 'nagios-plugins/config/nt.cfg'
+maybe chmod 0644 'nagios-plugins/config/ntp.cfg'
+maybe chmod 0644 'nagios-plugins/config/pgsql.cfg'
+maybe chmod 0644 'nagios-plugins/config/ping.cfg'
+maybe chmod 0644 'nagios-plugins/config/procs.cfg'
+maybe chmod 0644 'nagios-plugins/config/radius.cfg'
+maybe chmod 0644 'nagios-plugins/config/real.cfg'
+maybe chmod 0644 'nagios-plugins/config/rpc-nfs.cfg'
+maybe chmod 0644 'nagios-plugins/config/snmp.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'
diff --git a/default/icinga2 b/default/icinga2
new file mode 100644 (file)
index 0000000..c452408
--- /dev/null
@@ -0,0 +1,3 @@
+# default settings for icinga2's initscript
+
+#DAEMON_ARGS="-e /var/log/icinga2/icinga2.err"
diff --git a/group b/group
index d25de8c9f111f3adf225b8803c9c97d7f7ce721f..ff9dbe4573e6e5dcac7848b39fa56d28a8e2ab3a 100644 (file)
--- a/group
+++ b/group
@@ -67,3 +67,4 @@ iredadmin:x:2001:
 iredapd:x:2002:
 netdata:x:2004:
 ulog:x:124:
+nagios:x:125:
diff --git a/group- b/group-
index 8a4ad652bac2b8bd762347736f6d70b6aa57c4ec..d25de8c9f111f3adf225b8803c9c97d7f7ce721f 100644 (file)
--- a/group-
+++ b/group-
@@ -66,3 +66,4 @@ mlmmj:x:2003:
 iredadmin:x:2001:
 iredapd:x:2002:
 netdata:x:2004:
+ulog:x:124:
diff --git a/gshadow b/gshadow
index 0c7420602b99325b4a7b8f16316dc30ebe070ad6..e935edfec113482074c3a3599ee5772ddcbf9cbc 100644 (file)
--- a/gshadow
+++ b/gshadow
@@ -67,3 +67,4 @@ iredadmin:!::
 iredapd:!::
 netdata:!::
 ulog:!::
+nagios:!::
index e5ce20300123060d90edc3daa0830e66957de941..0c7420602b99325b4a7b8f16316dc30ebe070ad6 100644 (file)
--- a/gshadow-
+++ b/gshadow-
@@ -66,3 +66,4 @@ mlmmj:!::
 iredadmin:!::
 iredapd:!::
 netdata:!::
+ulog:!::
diff --git a/icinga2/conf.d/app.conf b/icinga2/conf.d/app.conf
new file mode 100644 (file)
index 0000000..3e4be0d
--- /dev/null
@@ -0,0 +1 @@
+object IcingaApplication "app" { }
diff --git a/icinga2/conf.d/apt.conf b/icinga2/conf.d/apt.conf
new file mode 100644 (file)
index 0000000..b2c77a0
--- /dev/null
@@ -0,0 +1,7 @@
+apply Service "apt" {
+  import "generic-service"
+
+  check_command = "apt"
+
+  assign where host.name == NodeName
+}
diff --git a/icinga2/conf.d/commands.conf b/icinga2/conf.d/commands.conf
new file mode 100644 (file)
index 0000000..bd511ce
--- /dev/null
@@ -0,0 +1,187 @@
+/* Command objects */
+
+/* Notification Commands
+ *
+ * Please check the documentation for all required and
+ * optional parameters.
+ */
+
+object NotificationCommand "mail-host-notification" {
+  command = [ ConfigDir + "/scripts/mail-host-notification.sh" ]
+
+  arguments += {
+    "-4" = "$notification_address$"
+    "-6" = "$notification_address6$"
+    "-b" = "$notification_author$"
+    "-c" = "$notification_comment$"
+    "-d" = {
+      required = true
+      value = "$notification_date$"
+    }
+    "-f" = {
+      value = "$notification_from$"
+      description = "Set from address. Requires GNU mailutils (Debian/Ubuntu) or mailx (RHEL/SUSE)"
+    }
+    "-i" = "$notification_icingaweb2url$"
+    "-l" = {
+      required = true
+      value = "$notification_hostname$"
+    }
+    "-n" = {
+      required = true
+      value = "$notification_hostdisplayname$"
+    }
+    "-o" = {
+      required = true
+      value = "$notification_hostoutput$"
+    }
+    "-r" = {
+      required = true
+      value = "$notification_useremail$"
+    }
+    "-s" = {
+      required = true
+      value = "$notification_hoststate$"
+    }
+    "-t" = {
+      required = true
+      value = "$notification_type$"
+    }
+    "-v" = "$notification_logtosyslog$"
+  }
+
+  vars += {
+    notification_address = "$address$"
+    notification_address6 = "$address6$"
+    notification_author = "$notification.author$"
+    notification_comment = "$notification.comment$"
+    notification_type = "$notification.type$"
+    notification_date = "$icinga.long_date_time$"
+    notification_hostname = "$host.name$"
+    notification_hostdisplayname = "$host.display_name$"
+    notification_hostoutput = "$host.output$"
+    notification_hoststate = "$host.state$"
+    notification_useremail = "$user.email$"
+  }
+}
+
+object NotificationCommand "mail-service-notification" {
+  command = [ ConfigDir + "/scripts/mail-service-notification.sh" ]
+
+  arguments += {
+    "-4" = "$notification_address$"
+    "-6" = "$notification_address6$"
+    "-b" = "$notification_author$"
+    "-c" = "$notification_comment$"
+    "-d" = {
+      required = true
+      value = "$notification_date$"
+    }
+    "-e" = {
+      required = true
+      value = "$notification_servicename$"
+    }
+    "-f" = {
+      value = "$notification_from$"
+      description = "Set from address. Requires GNU mailutils (Debian/Ubuntu) or mailx (RHEL/SUSE)"
+    }
+    "-i" = "$notification_icingaweb2url$"
+    "-l" = {
+      required = true
+      value = "$notification_hostname$"
+    }
+    "-n" = {
+      required = true
+      value = "$notification_hostdisplayname$"
+    }
+    "-o" = {
+      required = true
+      value = "$notification_serviceoutput$"
+    }
+    "-r" = {
+      required = true
+      value = "$notification_useremail$"
+    }
+    "-s" = {
+      required = true
+      value = "$notification_servicestate$"
+    }
+    "-t" = {
+      required = true
+      value = "$notification_type$"
+    }
+    "-u" = {
+      required = true
+      value = "$notification_servicedisplayname$"
+    }
+    "-v" = "$notification_logtosyslog$"
+  }
+
+  vars += {
+    notification_address = "$address$"
+    notification_address6 = "$address6$"
+    notification_author = "$notification.author$"
+    notification_comment = "$notification.comment$"
+    notification_type = "$notification.type$"
+    notification_date = "$icinga.long_date_time$"
+    notification_hostname = "$host.name$"
+    notification_hostdisplayname = "$host.display_name$"
+    notification_servicename = "$service.name$"
+    notification_serviceoutput = "$service.output$"
+    notification_servicestate = "$service.state$"
+    notification_useremail = "$user.email$"
+    notification_servicedisplayname = "$service.display_name$"
+  }
+}
+
+/*
+ * If you prefer to use the notification scripts with environment
+ * variables instead of command line parameters, you can use
+ * the following commands. They have been updated from < 2.7
+ * to support the new notification scripts and should help
+ * with an upgrade.
+ * Remove the comment blocks and comment the notification commands above.
+ */
+
+/*
+
+object NotificationCommand "mail-host-notification" {
+  command = [ ConfigDir + "/scripts/mail-host-notification.sh" ]
+
+  env = {
+    NOTIFICATIONTYPE = "$notification.type$"
+    HOSTDISPLAYNAME = "$host.display_name$"
+    HOSTNAME = "$host.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 = [ ConfigDir + "/scripts/mail-service-notification.sh" ]
+
+  env = {
+    NOTIFICATIONTYPE = "$notification.type$"
+    SERVICENAME = "$service.name$"
+    HOSTNAME = "$host.name$"
+    HOSTDISPLAYNAME = "$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$"
+  }
+}
+
+*/
+
diff --git a/icinga2/conf.d/downtimes.conf b/icinga2/conf.d/downtimes.conf
new file mode 100644 (file)
index 0000000..0bed647
--- /dev/null
@@ -0,0 +1,20 @@
+/**
+ * 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 != ""
+}
diff --git a/icinga2/conf.d/groups.conf b/icinga2/conf.d/groups.conf
new file mode 100644 (file)
index 0000000..e6004a3
--- /dev/null
@@ -0,0 +1,37 @@
+/**
+ * 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)
+}
diff --git a/icinga2/conf.d/hosts.conf b/icinga2/conf.d/hosts.conf
new file mode 100644 (file)
index 0000000..5ff1f9b
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * 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" ]
+  }
+}
+
diff --git a/icinga2/conf.d/notifications.conf b/icinga2/conf.d/notifications.conf
new file mode 100644 (file)
index 0000000..6a7e1f5
--- /dev/null
@@ -0,0 +1,33 @@
+/**
+ * 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
+
+  //interval = 2h
+
+  //vars.notification_logtosyslog = true
+
+  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
+
+  //interval = 2h
+
+  //vars.notification_logtosyslog = true
+
+  assign where host.vars.notification.mail
+}
diff --git a/icinga2/conf.d/services.conf b/icinga2/conf.d/services.conf
new file mode 100644 (file)
index 0000000..416915b
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+ * 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
+}
+
+
+
diff --git a/icinga2/conf.d/templates.conf b/icinga2/conf.d/templates.conf
new file mode 100644 (file)
index 0000000..5655e3f
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * 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 ]
+
+  vars += {
+    // notification_icingaweb2url = "https://www.example.com/icingaweb2"
+    // notification_from = "Icinga 2 Host Monitoring <icinga@example.com>"
+    notification_logtosyslog = false
+  }
+
+  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 ]
+
+  vars += {
+    // notification_icingaweb2url = "https://www.example.com/icingaweb2"
+    // notification_from = "Icinga 2 Service Monitoring <icinga@example.com>"
+    notification_logtosyslog = false
+  }
+
+  period = "24x7"
+}
diff --git a/icinga2/conf.d/timeperiods.conf b/icinga2/conf.d/timeperiods.conf
new file mode 100644 (file)
index 0000000..ea162ff
--- /dev/null
@@ -0,0 +1,35 @@
+/**
+ * Sample timeperiods for Icinga 2.
+ * Check the documentation for details.
+ */
+
+object TimePeriod "24x7" {
+  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" {
+  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" {
+  display_name = "Icinga 2 never TimePeriod"
+  ranges = {
+  }
+}
+
diff --git a/icinga2/conf.d/users.conf b/icinga2/conf.d/users.conf
new file mode 100644 (file)
index 0000000..aa31e27
--- /dev/null
@@ -0,0 +1,17 @@
+/**
+ * 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"
+}
diff --git a/icinga2/constants.conf b/icinga2/constants.conf
new file mode 100644 (file)
index 0000000..29232d6
--- /dev/null
@@ -0,0 +1,28 @@
+/**
+ * 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 = ""
diff --git a/icinga2/features-available/api.conf b/icinga2/features-available/api.conf
new file mode 100644 (file)
index 0000000..b072a44
--- /dev/null
@@ -0,0 +1,10 @@
+/**
+ * The API listener is used for distributed monitoring setups.
+ */
+
+object ApiListener "api" {
+  //accept_config = false
+  //accept_commands = false
+
+  ticket_salt = TicketSalt
+}
diff --git a/icinga2/features-available/checker.conf b/icinga2/features-available/checker.conf
new file mode 100644 (file)
index 0000000..6f003b8
--- /dev/null
@@ -0,0 +1,5 @@
+/**
+ * The checker component takes care of executing service checks.
+ */
+
+object CheckerComponent "checker" { }
diff --git a/icinga2/features-available/command.conf b/icinga2/features-available/command.conf
new file mode 100644 (file)
index 0000000..ffdd143
--- /dev/null
@@ -0,0 +1,7 @@
+/**
+ * The ExternalCommandListener implements support for the external
+ * commands pipe.
+ */
+
+object ExternalCommandListener "command" { }
+
diff --git a/icinga2/features-available/compatlog.conf b/icinga2/features-available/compatlog.conf
new file mode 100644 (file)
index 0000000..6f5cf5f
--- /dev/null
@@ -0,0 +1,7 @@
+/**
+ * The CompatLogger type is responsible for writing log files in a format
+ * that is compatible with Icinga 1.x.
+ */
+
+object CompatLogger "compatlog" { }
+
diff --git a/icinga2/features-available/debuglog.conf b/icinga2/features-available/debuglog.conf
new file mode 100644 (file)
index 0000000..e66518f
--- /dev/null
@@ -0,0 +1,10 @@
+/**
+ * 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 = LogDir + "/debug.log"
+}
diff --git a/icinga2/features-available/elasticsearch.conf b/icinga2/features-available/elasticsearch.conf
new file mode 100644 (file)
index 0000000..8014913
--- /dev/null
@@ -0,0 +1,8 @@
+object ElasticsearchWriter "elasticsearch" {
+  //host = "127.0.0.1"
+  //port = 9200
+  //index = "icinga2"
+  //enable_send_perfdata = false
+  //flush_threshold = 1024
+  //flush_interval = 10s
+}
diff --git a/icinga2/features-available/gelf.conf b/icinga2/features-available/gelf.conf
new file mode 100644 (file)
index 0000000..c14c864
--- /dev/null
@@ -0,0 +1,10 @@
+/**
+ * The GelfWriter type writes event log entries
+ * to a GELF tcp socket provided by Graylog,
+ * Logstash or any other receiver.
+ */
+
+object GelfWriter "gelf" {
+  //host = "127.0.0.1"
+  //port = 12201
+}
diff --git a/icinga2/features-available/graphite.conf b/icinga2/features-available/graphite.conf
new file mode 100644 (file)
index 0000000..ae8a928
--- /dev/null
@@ -0,0 +1,9 @@
+/**
+ * The GraphiteWriter type writes check result metrics and
+ * performance data to a graphite tcp socket.
+ */
+
+object GraphiteWriter "graphite" {
+  //host = "127.0.0.1"
+  //port = 2003
+}
diff --git a/icinga2/features-available/influxdb.conf b/icinga2/features-available/influxdb.conf
new file mode 100644 (file)
index 0000000..af84235
--- /dev/null
@@ -0,0 +1,25 @@
+/**
+ * The InfluxdbWriter type writes check result metrics and
+ * performance data to an InfluxDB HTTP API
+ */
+
+object InfluxdbWriter "influxdb" {
+  //host = "127.0.0.1"
+  //port = 8086
+  //database = "icinga2"
+  //flush_threshold = 1024
+  //flush_interval = 10s
+  //host_template = {
+  //  measurement = "$host.check_command$"
+  //  tags = {
+  //    hostname = "$host.name$"
+  //  }
+  //}
+  //service_template = {
+  //  measurement = "$service.check_command$"
+  //  tags = {
+  //    hostname = "$host.name$"
+  //    service = "$service.name$"
+  //  }
+  //}
+}
diff --git a/icinga2/features-available/livestatus.conf b/icinga2/features-available/livestatus.conf
new file mode 100644 (file)
index 0000000..246c085
--- /dev/null
@@ -0,0 +1,6 @@
+/**
+ *  The LivestatusListener type implements the Livestatus query protocol.
+ */
+
+object LivestatusListener "livestatus" { }
+
diff --git a/icinga2/features-available/mainlog.conf b/icinga2/features-available/mainlog.conf
new file mode 100644 (file)
index 0000000..a3bb19d
--- /dev/null
@@ -0,0 +1,8 @@
+/**
+ * The FileLogger type writes log information to a file.
+ */
+
+object FileLogger "main-log" {
+  severity = "information"
+  path = LogDir + "/icinga2.log"
+}
diff --git a/icinga2/features-available/notification.conf b/icinga2/features-available/notification.conf
new file mode 100644 (file)
index 0000000..3f9a88e
--- /dev/null
@@ -0,0 +1,5 @@
+/**
+ * The notification component is responsible for sending notifications.
+ */
+
+object NotificationComponent "notification" { }
diff --git a/icinga2/features-available/opentsdb.conf b/icinga2/features-available/opentsdb.conf
new file mode 100644 (file)
index 0000000..540556c
--- /dev/null
@@ -0,0 +1,9 @@
+/**
+ * The OpenTsdbWriter type writes check result metrics and
+ * performance data to a OpenTSDB tcp socket.
+ */
+
+object OpenTsdbWriter "opentsdb" {
+  //host = "127.0.0.1"
+  //port = 4242
+}
diff --git a/icinga2/features-available/perfdata.conf b/icinga2/features-available/perfdata.conf
new file mode 100644 (file)
index 0000000..3ba8635
--- /dev/null
@@ -0,0 +1,6 @@
+/**
+ * The PerfdataWriter type writes performance data files and rotates
+ * them in a regular interval.
+ */
+
+object PerfdataWriter "perfdata" { }
diff --git a/icinga2/features-available/statusdata.conf b/icinga2/features-available/statusdata.conf
new file mode 100644 (file)
index 0000000..bb81c96
--- /dev/null
@@ -0,0 +1,8 @@
+/**
+ * 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.
+ */
+
+object StatusDataWriter "status" { }
+
diff --git a/icinga2/features-available/syslog.conf b/icinga2/features-available/syslog.conf
new file mode 100644 (file)
index 0000000..3b794b4
--- /dev/null
@@ -0,0 +1,8 @@
+/**
+ * The SyslogLogger type writes log information to syslog.
+ */
+
+object SyslogLogger "syslog" {
+    severity = "warning"
+}
+
diff --git a/icinga2/features-enabled/checker.conf b/icinga2/features-enabled/checker.conf
new file mode 120000 (symlink)
index 0000000..d51cf79
--- /dev/null
@@ -0,0 +1 @@
+../features-available/checker.conf
\ No newline at end of file
diff --git a/icinga2/features-enabled/mainlog.conf b/icinga2/features-enabled/mainlog.conf
new file mode 120000 (symlink)
index 0000000..6bda4a5
--- /dev/null
@@ -0,0 +1 @@
+../features-available/mainlog.conf
\ No newline at end of file
diff --git a/icinga2/features-enabled/notification.conf b/icinga2/features-enabled/notification.conf
new file mode 120000 (symlink)
index 0000000..c31d3b4
--- /dev/null
@@ -0,0 +1 @@
+../features-available/notification.conf
\ No newline at end of file
diff --git a/icinga2/icinga2.conf b/icinga2/icinga2.conf
new file mode 100644 (file)
index 0000000..17513a3
--- /dev/null
@@ -0,0 +1,57 @@
+/**
+ * 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"
+
+/**
+ * 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"
diff --git a/icinga2/scripts/mail-host-notification.sh b/icinga2/scripts/mail-host-notification.sh
new file mode 100755 (executable)
index 0000000..781fee3
--- /dev/null
@@ -0,0 +1,167 @@
+#!/usr/bin/env bash
+#
+# Copyright (C) 2012-2018 Icinga Development Team (https://icinga.com/)
+# Except of function urlencode which is Copyright (C) by Brian White (brian@aljex.com) used under MIT license 
+
+PROG="`basename $0`"
+ICINGA2HOST="`hostname`"
+MAILBIN="mail"
+
+if [ -z "`which $MAILBIN`" ] ; then
+  echo "$MAILBIN not found in \$PATH. Consider installing it."
+  exit 1
+fi
+
+## Function helpers
+Usage() {
+cat << EOF
+
+Required parameters:
+  -d LONGDATETIME (\$icinga.long_date_time\$)
+  -l HOSTNAME (\$host.name\$)
+  -n HOSTDISPLAYNAME (\$host.display_name\$)
+  -o HOSTOUTPUT (\$host.output\$)
+  -r USEREMAIL (\$user.email\$)
+  -s HOSTSTATE (\$host.state\$)
+  -t NOTIFICATIONTYPE (\$notification.type\$)
+
+Optional parameters:
+  -4 HOSTADDRESS (\$address\$)
+  -6 HOSTADDRESS6 (\$address6\$)
+  -b NOTIFICATIONAUTHORNAME (\$notification.author\$)
+  -c NOTIFICATIONCOMMENT (\$notification.comment\$)
+  -i ICINGAWEB2URL (\$notification_icingaweb2url\$, Default: unset)
+  -f MAILFROM (\$notification_mailfrom\$, requires GNU mailutils (Debian/Ubuntu) or mailx (RHEL/SUSE))
+  -v (\$notification_sendtosyslog\$, Default: false)
+
+EOF
+}
+
+Help() {
+  Usage;
+  exit 0;
+}
+
+Error() {
+  if [ "$1" ]; then
+    echo $1
+  fi
+  Usage;
+  exit 1;
+}
+
+urlencode() {
+  local LANG=C i c e=''
+  for ((i=0;i<${#1};i++)); do
+    c=${1:$i:1}
+    [[ "$c" =~ [a-zA-Z0-9\.\~\_\-] ]] || printf -v c '%%%02X' "'$c"
+    e+="$c"
+  done
+  echo "$e"
+}
+
+## Main
+while getopts 4:6::b:c:d:f:hi:l:n:o:r:s:t:v: opt
+do
+  case "$opt" in
+    4) HOSTADDRESS=$OPTARG ;;
+    6) HOSTADDRESS6=$OPTARG ;;
+    b) NOTIFICATIONAUTHORNAME=$OPTARG ;;
+    c) NOTIFICATIONCOMMENT=$OPTARG ;;
+    d) LONGDATETIME=$OPTARG ;; # required
+    f) MAILFROM=$OPTARG ;;
+    h) Help ;;
+    i) ICINGAWEB2URL=$OPTARG ;;
+    l) HOSTNAME=$OPTARG ;; # required
+    n) HOSTDISPLAYNAME=$OPTARG ;; # required
+    o) HOSTOUTPUT=$OPTARG ;; # required
+    r) USEREMAIL=$OPTARG ;; # required
+    s) HOSTSTATE=$OPTARG ;; # required
+    t) NOTIFICATIONTYPE=$OPTARG ;; # required
+    v) VERBOSE=$OPTARG ;;
+   \?) echo "ERROR: Invalid option -$OPTARG" >&2
+       Error ;;
+    :) echo "Missing option argument for -$OPTARG" >&2
+       Error ;;
+    *) echo "Unimplemented option: -$OPTARG" >&2
+       Error ;;
+  esac
+done
+
+shift $((OPTIND - 1))
+
+## Keep formatting in sync with mail-service-notification.sh
+for P in LONGDATETIME HOSTNAME HOSTDISPLAYNAME HOSTOUTPUT HOSTSTATE USEREMAIL NOTIFICATIONTYPE ; do
+       eval "PAR=\$${P}"
+
+       if [ ! "$PAR" ] ; then
+               Error "Required parameter '$P' is missing."
+       fi
+done
+
+## Build the message's subject
+SUBJECT="[$NOTIFICATIONTYPE] Host $HOSTDISPLAYNAME is $HOSTSTATE!"
+
+## Build the notification message
+NOTIFICATION_MESSAGE=`cat << EOF
+***** Host Monitoring on $ICINGA2HOST *****
+
+$HOSTDISPLAYNAME is $HOSTSTATE!
+
+Info:    $HOSTOUTPUT
+
+When:    $LONGDATETIME
+Host:    $HOSTNAME
+EOF
+`
+
+## Check whether IPv4 was specified.
+if [ -n "$HOSTADDRESS" ] ; then
+  NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE
+IPv4:   $HOSTADDRESS"
+fi
+
+## Check whether IPv6 was specified.
+if [ -n "$HOSTADDRESS6" ] ; then
+  NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE
+IPv6:   $HOSTADDRESS6"
+fi
+
+## Check whether author and comment was specified.
+if [ -n "$NOTIFICATIONCOMMENT" ] ; then
+  NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE
+
+Comment by $NOTIFICATIONAUTHORNAME:
+  $NOTIFICATIONCOMMENT"
+fi
+
+## Check whether Icinga Web 2 URL was specified.
+if [ -n "$ICINGAWEB2URL" ] ; then
+  NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE
+
+$ICINGAWEB2URL/monitoring/host/show?host=$(urlencode "$HOSTNAME")"
+fi
+
+## Check whether verbose mode was enabled and log to syslog.
+if [ "$VERBOSE" == "true" ] ; then
+  logger "$PROG sends $SUBJECT => $USEREMAIL"
+fi
+
+## Send the mail using the $MAILBIN command.
+## If an explicit sender was specified, try to set it.
+if [ -n "$MAILFROM" ] ; then
+
+  ## Modify this for your own needs!
+
+  ## Debian/Ubuntu use mailutils which requires `-a` to append the header
+  if [ -f /etc/debian_version ]; then
+    /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | $MAILBIN -a "From: $MAILFROM" -s "$SUBJECT" $USEREMAIL
+  ## Other distributions (RHEL/SUSE/etc.) prefer mailx which sets a sender address with `-r`
+  else
+    /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | $MAILBIN -r "$MAILFROM" -s "$SUBJECT" $USEREMAIL
+  fi
+
+else
+  /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" \
+  | $MAILBIN -s "$SUBJECT" $USEREMAIL
+fi
diff --git a/icinga2/scripts/mail-service-notification.sh b/icinga2/scripts/mail-service-notification.sh
new file mode 100755 (executable)
index 0000000..d4a1944
--- /dev/null
@@ -0,0 +1,172 @@
+#!/usr/bin/env bash
+#
+# Copyright (C) 2012-2018 Icinga Development Team (https://icinga.com/)
+# Except of function urlencode which is Copyright (C) by Brian White (brian@aljex.com) used under MIT license
+
+PROG="`basename $0`"
+ICINGA2HOST="`hostname`"
+MAILBIN="mail"
+
+if [ -z "`which $MAILBIN`" ] ; then
+  echo "$MAILBIN not found in \$PATH. Consider installing it."
+  exit 1
+fi
+
+## Function helpers
+Usage() {
+cat << EOF
+
+Required parameters:
+  -d LONGDATETIME (\$icinga.long_date_time\$)
+  -e SERVICENAME (\$service.name\$)
+  -l HOSTNAME (\$host.name\$)
+  -n HOSTDISPLAYNAME (\$host.display_name\$)
+  -o SERVICEOUTPUT (\$service.output\$)
+  -r USEREMAIL (\$user.email\$)
+  -s SERVICESTATE (\$service.state\$)
+  -t NOTIFICATIONTYPE (\$notification.type\$)
+  -u SERVICEDISPLAYNAME (\$service.display_name\$)
+
+Optional parameters:
+  -4 HOSTADDRESS (\$address\$)
+  -6 HOSTADDRESS6 (\$address6\$)
+  -b NOTIFICATIONAUTHORNAME (\$notification.author\$)
+  -c NOTIFICATIONCOMMENT (\$notification.comment\$)
+  -i ICINGAWEB2URL (\$notification_icingaweb2url\$, Default: unset)
+  -f MAILFROM (\$notification_mailfrom\$, requires GNU mailutils (Debian/Ubuntu) or mailx (RHEL/SUSE))
+  -v (\$notification_sendtosyslog\$, Default: false)
+
+EOF
+}
+
+Help() {
+  Usage;
+  exit 0;
+}
+
+Error() {
+  if [ "$1" ]; then
+    echo $1
+  fi
+  Usage;
+  exit 1;
+}
+
+urlencode() {
+  local LANG=C i c e=''
+  for ((i=0;i<${#1};i++)); do
+    c=${1:$i:1}
+    [[ "$c" =~ [a-zA-Z0-9\.\~\_\-] ]] || printf -v c '%%%02X' "'$c"
+    e+="$c"
+  done
+  echo "$e"
+}
+
+## Main
+while getopts 4:6:b:c:d:e:f:hi:l:n:o:r:s:t:u:v: opt
+do
+  case "$opt" in
+    4) HOSTADDRESS=$OPTARG ;;
+    6) HOSTADDRESS6=$OPTARG ;;
+    b) NOTIFICATIONAUTHORNAME=$OPTARG ;;
+    c) NOTIFICATIONCOMMENT=$OPTARG ;;
+    d) LONGDATETIME=$OPTARG ;; # required
+    e) SERVICENAME=$OPTARG ;; # required
+    f) MAILFROM=$OPTARG ;;
+    h) Usage ;;
+    i) ICINGAWEB2URL=$OPTARG ;;
+    l) HOSTNAME=$OPTARG ;; # required
+    n) HOSTDISPLAYNAME=$OPTARG ;; # required
+    o) SERVICEOUTPUT=$OPTARG ;; # required
+    r) USEREMAIL=$OPTARG ;; # required
+    s) SERVICESTATE=$OPTARG ;; # required
+    t) NOTIFICATIONTYPE=$OPTARG ;; # required
+    u) SERVICEDISPLAYNAME=$OPTARG ;; # required
+    v) VERBOSE=$OPTARG ;;
+   \?) echo "ERROR: Invalid option -$OPTARG" >&2
+       Usage ;;
+    :) echo "Missing option argument for -$OPTARG" >&2
+       Usage ;;
+    *) echo "Unimplemented option: -$OPTARG" >&2
+       Usage ;;
+  esac
+done
+
+shift $((OPTIND - 1))
+
+## Keep formatting in sync with mail-host-notification.sh
+for P in LONGDATETIME HOSTNAME HOSTDISPLAYNAME SERVICENAME SERVICEDISPLAYNAME SERVICEOUTPUT SERVICESTATE USEREMAIL NOTIFICATIONTYPE ; do
+        eval "PAR=\$${P}"
+
+        if [ ! "$PAR" ] ; then
+                Error "Required parameter '$P' is missing."
+        fi
+done
+
+## Build the message's subject
+SUBJECT="[$NOTIFICATIONTYPE] $SERVICEDISPLAYNAME on $HOSTDISPLAYNAME is $SERVICESTATE!"
+
+## Build the notification message
+NOTIFICATION_MESSAGE=`cat << EOF
+***** Service Monitoring on $ICINGA2HOST *****
+
+$SERVICEDISPLAYNAME on $HOSTDISPLAYNAME is $SERVICESTATE!
+
+Info:    $SERVICEOUTPUT
+
+When:    $LONGDATETIME
+Service: $SERVICENAME
+Host:    $HOSTNAME
+EOF
+`
+
+## Check whether IPv4 was specified.
+if [ -n "$HOSTADDRESS" ] ; then
+  NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE
+IPv4:    $HOSTADDRESS"
+fi
+
+## Check whether IPv6 was specified.
+if [ -n "$HOSTADDRESS6" ] ; then
+  NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE
+IPv6:    $HOSTADDRESS6"
+fi
+
+## Check whether author and comment was specified.
+if [ -n "$NOTIFICATIONCOMMENT" ] ; then
+  NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE
+
+Comment by $NOTIFICATIONAUTHORNAME:
+  $NOTIFICATIONCOMMENT"
+fi
+
+## Check whether Icinga Web 2 URL was specified.
+if [ -n "$ICINGAWEB2URL" ] ; then
+  NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE
+
+$ICINGAWEB2URL/monitoring/service/show?host=$(urlencode "$HOSTNAME")&service=$(urlencode "$SERVICENAME")"
+fi
+
+## Check whether verbose mode was enabled and log to syslog.
+if [ "$VERBOSE" == "true" ] ; then
+  logger "$PROG sends $SUBJECT => $USEREMAIL"
+fi
+
+## Send the mail using the $MAILBIN command.
+## If an explicit sender was specified, try to set it.
+if [ -n "$MAILFROM" ] ; then
+
+  ## Modify this for your own needs!
+
+  ## Debian/Ubuntu use mailutils which requires `-a` to append the header
+  if [ -f /etc/debian_version ]; then
+    /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | $MAILBIN -a "From: $MAILFROM" -s "$SUBJECT" $USEREMAIL
+  ## Other distributions (RHEL/SUSE/etc.) prefer mailx which sets a sender address with `-r`
+  else
+    /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | $MAILBIN -r "$MAILFROM" -s "$SUBJECT" $USEREMAIL
+  fi
+
+else
+  /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" \
+  | $MAILBIN -s "$SUBJECT" $USEREMAIL
+fi
diff --git a/icinga2/zones.conf b/icinga2/zones.conf
new file mode 100644 (file)
index 0000000..70ac766
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * 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 for distributed setups with masters,
+ * satellites and clients.
+ * This is required to sync configuration commands,
+ * templates, apply rules, etc. to satellite and clients.
+ * All nodes require the same configuration and must
+ * have `accept_config` enabled in the `api` feature.
+ */
+
+object Zone "global-templates" {
+  global = true
+}
+
+/*
+ * Defines a global zone for the Icinga Director.
+ * This is required to sync configuration commands,
+ * templates, apply rules, etc. to satellite and clients.
+ * All nodes require the same configuration and must
+ * have `accept_config` enabled in the `api` feature.
+ */
+
+object Zone "director-global" {
+  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" ]
+}
+*/
+
diff --git a/icinga2/zones.d/README b/icinga2/zones.d/README
new file mode 100644 (file)
index 0000000..ceff6bd
--- /dev/null
@@ -0,0 +1,2 @@
+This directory contains configuration files for cluster zones. If you're not
+running a cluster you can safely ignore this directory.
diff --git a/init.d/icinga2 b/init.d/icinga2
new file mode 100755 (executable)
index 0000000..64cfa10
--- /dev/null
@@ -0,0 +1,239 @@
+#! /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://github.com/Icinga/icinga2/issues/4867#issuecomment-273109525
+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 :
+:
diff --git a/logrotate.d/icinga2 b/logrotate.d/icinga2
new file mode 100644 (file)
index 0000000..df45df7
--- /dev/null
@@ -0,0 +1,23 @@
+/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
+}
diff --git a/nagios-plugins/config/apt.cfg b/nagios-plugins/config/apt.cfg
new file mode 100644 (file)
index 0000000..d3ceb7c
--- /dev/null
@@ -0,0 +1,12 @@
+# '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
+       }
+
diff --git a/nagios-plugins/config/breeze.cfg b/nagios-plugins/config/breeze.cfg
new file mode 100644 (file)
index 0000000..2e89650
--- /dev/null
@@ -0,0 +1,5 @@
+# 'check_breeze' command definition
+define command {
+       command_name    check_breeze
+       command_line    /usr/lib/nagios/plugins/check_breeze -H '$HOSTADDRESS$' -w '$ARG1$' -c '$ARG2$'
+}
diff --git a/nagios-plugins/config/dhcp.cfg b/nagios-plugins/config/dhcp.cfg
new file mode 100644 (file)
index 0000000..a6c0c02
--- /dev/null
@@ -0,0 +1,15 @@
+# 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$'
+       }
+
diff --git a/nagios-plugins/config/disk-smb.cfg b/nagios-plugins/config/disk-smb.cfg
new file mode 100644 (file)
index 0000000..d3cee35
--- /dev/null
@@ -0,0 +1,54 @@
+# 'check_disk_smb' command definition
+define command{
+       command_name    check_disk_smb
+       command_line    /usr/lib/nagios/plugins/check_disk_smb -H '$ARG1$' -s '$ARG2$'
+       }
+
+
+# 'check_disk_smb_workgroup' command definition
+define command{
+       command_name    check_disk_smb_workgroup
+       command_line    /usr/lib/nagios/plugins/check_disk_smb -H '$ARG1$' -s '$ARG2$' -W '$ARG3$'
+       }
+
+
+# 'check_disk_smb_host' command definition
+define command{
+       command_name    check_disk_smb_host
+       command_line    /usr/lib/nagios/plugins/check_disk_smb -a '$HOSTADDRESS$' -H '$ARG1$' -s '$ARG2$'
+       }
+
+
+# 'check_disk_smb_workgroup_host' command definition
+define command{
+       command_name    check_disk_smb_workgroup_host
+       command_line    /usr/lib/nagios/plugins/check_disk_smb -a '$HOSTADDRESS$' -H '$ARG1$' -s '$ARG2$' -W '$ARG3$'
+       }
+
+
+# 'check_disk_smb_user' command definition
+define command{
+       command_name    check_disk_smb_user
+       command_line    /usr/lib/nagios/plugins/check_disk_smb -H '$ARG1$' -s '$ARG2$' -u '$ARG3$' -p '$ARG4$' -w '$ARG5$' -c '$ARG6$'
+       }
+
+
+# 'check_disk_smb_workgroup_user' command definition
+define command{
+       command_name    check_disk_smb_workgroup_user
+       command_line    /usr/lib/nagios/plugins/check_disk_smb -H '$ARG1$' -s '$ARG2$' -W '$ARG3$' -u '$ARG4$' -p '$ARG5$'
+       }
+
+
+# 'check_disk_smb_host_user' command definition
+define command{
+       command_name    check_disk_smb_host_user
+       command_line    /usr/lib/nagios/plugins/check_disk_smb -a '$HOSTADDRESS$' -H '$ARG1$' -s '$ARG2$' -u '$ARG3$' -p '$ARG4$'
+       }
+
+
+# 'check_disk_smb_workgroup_host_user' command definition
+define command{
+       command_name    check_disk_smb_workgroup_host_user
+       command_line    /usr/lib/nagios/plugins/check_disk_smb -a '$HOSTADDRESS$' -H '$ARG1$' -s '$ARG2$' -W '$ARG3$' -u '$ARG4$' -p '$ARG5$'
+       }
diff --git a/nagios-plugins/config/disk.cfg b/nagios-plugins/config/disk.cfg
new file mode 100644 (file)
index 0000000..3f5fcaf
--- /dev/null
@@ -0,0 +1,27 @@
+# '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
+        }
diff --git a/nagios-plugins/config/dns.cfg b/nagios-plugins/config/dns.cfg
new file mode 100644 (file)
index 0000000..d2363bf
--- /dev/null
@@ -0,0 +1,11 @@
+# 'check_dns' command definition
+define command{
+       command_name    check_dns
+       command_line    /usr/lib/nagios/plugins/check_dns -H www.google.com -s '$HOSTADDRESS$' '$ARG1$'
+}
+
+# 'check_dig' command definition
+define command{
+       command_name    check_dig
+       command_line    /usr/lib/nagios/plugins/check_dig -H '$HOSTADDRESS$' -l '$ARG1$' '$ARG2$'
+}
diff --git a/nagios-plugins/config/dummy.cfg b/nagios-plugins/config/dummy.cfg
new file mode 100644 (file)
index 0000000..bfb7ef4
--- /dev/null
@@ -0,0 +1,29 @@
+# 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$'
+}
diff --git a/nagios-plugins/config/flexlm.cfg b/nagios-plugins/config/flexlm.cfg
new file mode 100644 (file)
index 0000000..678f044
--- /dev/null
@@ -0,0 +1,6 @@
+# 'check_flexlm' command definition
+define command{
+       command_name    check_flexlm
+       command_line    /usr/lib/nagios/plugins/check_flexlm -F '$ARG1$'
+       }
+
diff --git a/nagios-plugins/config/fping.cfg b/nagios-plugins/config/fping.cfg
new file mode 100644 (file)
index 0000000..bf3baf6
--- /dev/null
@@ -0,0 +1,5 @@
+# 'check-fast-alive' command definition
+define command{
+       command_name    check-fast-alive
+       command_line    /usr/lib/nagios/plugins/check_fping -H '$HOSTADDRESS$'
+       }
diff --git a/nagios-plugins/config/ftp.cfg b/nagios-plugins/config/ftp.cfg
new file mode 100644 (file)
index 0000000..79bf2fd
--- /dev/null
@@ -0,0 +1,15 @@
+# '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$'
+        }
diff --git a/nagios-plugins/config/games.cfg b/nagios-plugins/config/games.cfg
new file mode 100644 (file)
index 0000000..0ada476
--- /dev/null
@@ -0,0 +1,14 @@
+# 'check_quake' command definition
+define command{
+       command_name    check_quake
+       command_line    /usr/lib/nagios/plugins/check_game qs '$HOSTADDRESS$'
+       }
+
+
+# 'check_unreal' command definition
+define command{
+       command_name    check_unreal
+       command_line    /usr/lib/nagios/plugins/check_game uns '$HOSTADDRESS$' -P '$ARG1$' -p 8
+       }
+
+
diff --git a/nagios-plugins/config/hppjd.cfg b/nagios-plugins/config/hppjd.cfg
new file mode 100644 (file)
index 0000000..cb15b5b
--- /dev/null
@@ -0,0 +1,6 @@
+# 'check_hpjd' command definition
+define command{
+       command_name    check_hpjd
+       command_line    /usr/lib/nagios/plugins/check_hpjd -H '$HOSTADDRESS$' -C public
+       }
+
diff --git a/nagios-plugins/config/http.cfg b/nagios-plugins/config/http.cfg
new file mode 100644 (file)
index 0000000..16072de
--- /dev/null
@@ -0,0 +1,111 @@
+# '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$'
+       }
diff --git a/nagios-plugins/config/ifstatus.cfg b/nagios-plugins/config/ifstatus.cfg
new file mode 100644 (file)
index 0000000..e3fb54a
--- /dev/null
@@ -0,0 +1,23 @@
+# 'check_ifstatus' command definition
+define command{
+       command_name    check_ifstatus
+       command_line    /usr/lib/nagios/plugins/check_ifstatus -H '$HOSTADDRESS$' -C '$ARG1$'
+       }
+
+# 'check_ifstatus_exclude' command definition
+define command{
+        command_name    check_ifstatus_exclude
+        command_line    /usr/lib/nagios/plugins/check_ifstatus -H '$HOSTADDRESS$' -C '$ARG1$' -x '$ARG2$'
+        }
+
+# 'check_ifoperstatus_ifindex' command definition
+define command{
+       command_name    check_ifoperstatus_ifindex
+       command_line    /usr/lib/nagios/plugins/check_ifoperstatus -H '$HOSTADDRESS$' -C '$ARG1$' -k '$ARG2$'
+       }
+
+# 'check_ifoperstatus_ifdescr' command definition
+define command{
+       command_name    check_ifoperstatus_ifdescr
+       command_line    /usr/lib/nagios/plugins/check_ifoperstatus -H '$HOSTADDRESS$' -C '$ARG1$' -d '$ARG2$'
+       }
diff --git a/nagios-plugins/config/ldap.cfg b/nagios-plugins/config/ldap.cfg
new file mode 100644 (file)
index 0000000..ae5bde3
--- /dev/null
@@ -0,0 +1,31 @@
+# 'check_ldap' command definition
+define command{
+       command_name    check_ldap
+       command_line    /usr/lib/nagios/plugins/check_ldap -H '$HOSTADDRESS$' -b '$ARG1$'
+       }
+
+# 'check_ldaps' command definition
+# This was using 'check_ldaps' in the past which used port 389 and starttls
+# mechanism on default, keeped for backward compatibility
+define command{
+       command_name    check_ldaps
+       command_line    /usr/lib/nagios/plugins/check_ldap -H '$HOSTADDRESS$' -T -b '$ARG1$'
+       }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_ldap_4' command definition
+define command{
+       command_name    check_ldap_4
+       command_line    /usr/lib/nagios/plugins/check_ldap -H '$HOSTADDRESS$' -b '$ARG1$' -4
+       }
+
+# 'check_ldaps_4' command definition
+# This was using 'check_ldaps' in the past which used port 389 and starttls
+# mechanism on default, keeped for backward compatibility
+define command{
+       command_name    check_ldaps_4
+       command_line    /usr/lib/nagios/plugins/check_ldap -H '$HOSTADDRESS$' -T -b '$ARG1$' -4
+       }
diff --git a/nagios-plugins/config/load.cfg b/nagios-plugins/config/load.cfg
new file mode 100644 (file)
index 0000000..c87efde
--- /dev/null
@@ -0,0 +1,6 @@
+# '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$'
+       }
+
diff --git a/nagios-plugins/config/mail.cfg b/nagios-plugins/config/mail.cfg
new file mode 100644 (file)
index 0000000..1da8050
--- /dev/null
@@ -0,0 +1,77 @@
+# '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$'
+}
diff --git a/nagios-plugins/config/mailq.cfg b/nagios-plugins/config/mailq.cfg
new file mode 100644 (file)
index 0000000..9fb4486
--- /dev/null
@@ -0,0 +1,24 @@
+# 'check-mailq' for sendmail
+define command {
+        command_name    check_mailq_sendmail
+       command_line    /usr/lib/nagios/plugins/check_mailq -w '$ARG1$' -c '$ARG2$' -M sendmail
+}
+
+# 'check-mailq' for postfix
+define command {
+        command_name    check_mailq_postfix
+       command_line    /usr/lib/nagios/plugins/check_mailq -w '$ARG1$' -c '$ARG2$' -M postfix
+}
+
+# 'check-mailq' for exim
+define command {
+        command_name    check_mailq_exim
+       command_line    /usr/lib/nagios/plugins/check_mailq -w '$ARG1$' -c '$ARG2$' -M exim
+}
+
+# 'check-mailq' for qmail
+define command {
+        command_name    check_mailq_qmail
+       command_line    /usr/lib/nagios/plugins/check_mailq -w '$ARG1$' -c '$ARG2$' -M qmail
+}
+
diff --git a/nagios-plugins/config/mrtg.cfg b/nagios-plugins/config/mrtg.cfg
new file mode 100644 (file)
index 0000000..9a4c626
--- /dev/null
@@ -0,0 +1,14 @@
+# 'check_mrtg' command definition
+define command{
+       command_name    check_mrtg
+       command_line    /usr/lib/nagios/plugins/check_mrtg '$ARG1$' 10 AVG '$ARG2$' '$ARG3$' '$ARG4$' '$ARG5$' '$ARG6$'
+       }
+
+
+# 'traffic_average' command definition
+define command{
+       command_name    traffic_average
+       command_line    /usr/lib/nagios/plugins/check_mrtgtraf '$ARG1$' 10 AVG '$ARG2$' '$ARG3$' '$ARG4$' '$ARG5$'
+       }
+
+
diff --git a/nagios-plugins/config/mysql.cfg b/nagios-plugins/config/mysql.cfg
new file mode 100644 (file)
index 0000000..e8c8a65
--- /dev/null
@@ -0,0 +1,24 @@
+# 'check_mysql' command definition
+define command{
+        command_name    check_mysql
+       command_line    /usr/lib/nagios/plugins/check_mysql -H '$HOSTADDRESS$' '$ARG1$'
+}
+
+# 'check_mysql_cmdlinecred' command definition
+define command{
+       command_name    check_mysql_cmdlinecred
+       command_line    /usr/lib/nagios/plugins/check_mysql -H '$HOSTADDRESS$' -u '$ARG1$' -p '$ARG2$' '$ARG3$'
+}
+
+# 'check_mysql_database' command definition
+define command{
+       command_name    check_mysql_database
+       command_line    /usr/lib/nagios/plugins/check_mysql -d '$ARG3$' -H '$HOSTADDRESS$' -u '$ARG1$' -p '$ARG2$' '$ARG3$'
+}
+
+# 'check_mysql_slave' command definition
+define command{
+        command_name    check_mysql_slave
+        command_line    /usr/lib/nagios/plugins/check_mysql -H '$HOSTADDRESS$' -u '$ARG1$' -p '$ARG2$' -S '$ARG3$'
+}
+
diff --git a/nagios-plugins/config/netware.cfg b/nagios-plugins/config/netware.cfg
new file mode 100644 (file)
index 0000000..bc5f9d7
--- /dev/null
@@ -0,0 +1,84 @@
+# 'check_netware_logins' command definition
+define command{
+       command_name    check_netware_logins
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v "LOGINS" -w '$ARG1$' -c '$ARG2$'
+       }
+
+
+# 'check_nwstat_conns' command definition
+define command{
+       command_name    check_nwstat_conns
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v CONNS -w '$ARG1$' -c '$ARG2$'
+       }
+
+
+# 'check_netware_1load' command definition
+define command{
+       command_name    check_netware_1load
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v "LOAD1" -w 70 -c 90
+       }
+
+
+# 'check_netware_5load' command definition
+define command{
+       command_name    check_netware_5load
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v "LOAD5" -w 70 -c 90
+       }
+
+
+# 'check_netware_15load' command definition
+define command{
+       command_name    check_netware_15load
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v "LOAD15" -w 70 -c 90
+       }
+
+
+# 'check_nwstat_vol_p' command definition
+define command{
+       command_name    check_nwstat_vol_p
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v VPF'$ARG1$' -w '$ARG2$' -c '$ARG3$'
+       }
+
+
+# 'check_nwstat_vol_k' command definition
+define command{
+       command_name    check_nwstat_vol_k
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v VKF'$ARG1$' -w '$ARG2$' -c '$ARG3$'
+       }
+
+
+# 'check_nwstat_ltch' command definition
+define command{
+       command_name    check_nwstat_ltch
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v LTCH -w '$ARG1$' -c '$ARG2$'
+       }
+
+
+# 'check_nwstat_puprb' command definition
+define command{
+       command_name    check_nwstat_puprb
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v PUPRB -w '$ARG1$' -c '$ARG2$'
+       }
+
+
+# 'check_nwstat_dsdb' command definition
+define command{
+       command_name    check_nwstat_dsdb
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v DSDB
+       }
+
+
+# 'check_netware_abend' command definition
+define command{
+       command_name    check_netware_abend
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v "ABENDS" -w 10 -c 30
+       }
+
+
+# 'check_nwstat_csprocs' command definition
+define command{
+       command_name    check_nwstat_csprocs
+       command_line    /usr/lib/nagios/plugins/check_nwstat -H '$HOSTADDRESS$' -v CSPROCS -w '$ARG1$' -c '$ARG2$'
+       }
+
+
diff --git a/nagios-plugins/config/news.cfg b/nagios-plugins/config/news.cfg
new file mode 100644 (file)
index 0000000..065b395
--- /dev/null
@@ -0,0 +1,15 @@
+# '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$'
+        }
diff --git a/nagios-plugins/config/nt.cfg b/nagios-plugins/config/nt.cfg
new file mode 100644 (file)
index 0000000..c01000c
--- /dev/null
@@ -0,0 +1,15 @@
+# If you are confused about this command definition, cause you was
+# reading other suggestions, please have a look into
+# /usr/share/doc/monitoring-plugins/README.Debian
+
+# 'check_nt' command definition
+define command {
+       command_name    check_nt
+       command_line    /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -v '$ARG1$'
+}
+
+# 'check_nscp' command definition
+define command {
+       command_name    check_nscp
+       command_line    /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -v '$ARG1$'
+}
diff --git a/nagios-plugins/config/ntp.cfg b/nagios-plugins/config/ntp.cfg
new file mode 100644 (file)
index 0000000..8668718
--- /dev/null
@@ -0,0 +1,17 @@
+# '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$'
+       }
diff --git a/nagios-plugins/config/pgsql.cfg b/nagios-plugins/config/pgsql.cfg
new file mode 100644 (file)
index 0000000..5c7f87c
--- /dev/null
@@ -0,0 +1,15 @@
+# 'check_pgsql' command definition
+define command{
+       command_name    check_pgsql
+       command_line    /usr/lib/nagios/plugins/check_pgsql -H '$HOSTADDRESS$' '$ARG1$'
+       }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_pgsql_4' command definition
+define command{
+        command_name    check_pgsql_4
+        command_line    /usr/lib/nagios/plugins/check_pgsql -H '$HOSTADDRESS$' -4 '$ARG1$'
+        }
diff --git a/nagios-plugins/config/ping.cfg b/nagios-plugins/config/ping.cfg
new file mode 100644 (file)
index 0000000..4d76cab
--- /dev/null
@@ -0,0 +1,72 @@
+# '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
+       }
+
diff --git a/nagios-plugins/config/procs.cfg b/nagios-plugins/config/procs.cfg
new file mode 100644 (file)
index 0000000..47158e4
--- /dev/null
@@ -0,0 +1,20 @@
+# '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
+       }
+
diff --git a/nagios-plugins/config/radius.cfg b/nagios-plugins/config/radius.cfg
new file mode 100644 (file)
index 0000000..92c3679
--- /dev/null
@@ -0,0 +1,6 @@
+# 'check_radius' command definition
+define command{
+       command_name    check_radius
+       command_line    /usr/lib/nagios/plugins/check_radius -F /etc/radcli/radiusclient.conf -H '$HOSTADDRESS$' -P '$ARG4$' -t '$ARG3$' -u '$ARG1$' -p '$ARG2$'
+       }
+
diff --git a/nagios-plugins/config/real.cfg b/nagios-plugins/config/real.cfg
new file mode 100644 (file)
index 0000000..3afb59c
--- /dev/null
@@ -0,0 +1,13 @@
+# '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
+       }
+
diff --git a/nagios-plugins/config/rpc-nfs.cfg b/nagios-plugins/config/rpc-nfs.cfg
new file mode 100644 (file)
index 0000000..0a551f4
--- /dev/null
@@ -0,0 +1,14 @@
+
+# 'check-rpc' command definition
+define command{
+       command_name    check-rpc
+       command_line    /usr/lib/nagios/plugins/check_rpc -H '$HOSTADDRESS$' -C '$ARG1$'
+       }
+
+
+# 'check-nfs' command definition
+define command{
+       command_name    check-nfs
+       command_line    /usr/lib/nagios/plugins/check_rpc -H '$HOSTADDRESS$' -C nfs -c2,3
+       }
+
diff --git a/nagios-plugins/config/snmp.cfg b/nagios-plugins/config/snmp.cfg
new file mode 100644 (file)
index 0000000..2be8f8e
--- /dev/null
@@ -0,0 +1,132 @@
+# 'snmp_load' command definition
+define command{
+       command_name    snmp_load
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.10.1.5.1,.1.3.6.1.4.1.2021.10.1.5.2,.1.3.6.1.4.1.2021.10.1.5.3 -w :'$ARG2$',:'$ARG3$',:'$ARG4$' -c :'$ARG5$',:'$ARG6$',:'$ARG7$' -l load
+       }
+
+
+# 'snmp_cpustats' command definition
+define command{
+       command_name    snmp_cpustats
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.11.9.0,.1.3.6.1.4.1.2021.11.10.0,.1.3.6.1.4.1.2021.11.11.0 -l 'CPU usage (user system idle)' -u '%'
+       }
+
+
+# 'snmp_procname' command definition
+define command{
+       command_name    snmp_procname
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.2.1.5.'$ARG2$' -w '$ARG3$':'$ARG4$' -c '$ARG5$':'$ARG6$'
+       }
+
+
+# 'snmp_disk' command definition
+define command{
+       command_name    snmp_disk
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.9.1.7.'$ARG2$',.1.3.6.1.4.1.2021.9.1.9.'$ARG2$' -w '$ARG3$':,:'$ARG4$' -c '$ARG5$':,:'$ARG6$' -u 'kB free (','% used)' -l 'disk space'
+       }
+
+
+# 'snmp_mem' command definition
+define command{
+       command_name    snmp_mem
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.4.6.0,.1.3.6.1.4.1.2021.4.5.0 -w '$ARG2$': -c '$ARG3$':
+       }
+
+
+# 'snmp_swap' command definition
+define command{
+       command_name    snmp_swap
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.2021.4.4.0,.1.3.6.1.4.1.2021.4.3.0 -w '$ARG2$': -c '$ARG3$':
+       }
+
+
+# 'snmp_procs' command definition
+define command{
+       command_name    snmp_procs
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrSystem.hrSystemProcesses -w :'$ARG2$' -c :'$ARG3$' -l processes
+       }
+
+
+# 'snmp_users' command definition
+define command{
+       command_name    snmp_users
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrSystem.hrSystemNumUsers -w :'$ARG2$' -c :'$ARG3$' -l users
+       }
+
+
+# 'snmp_mem2' command definition
+define command{
+       command_name    snmp_mem2
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.'$ARG2$',host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.'$ARG2$' -w '$ARG3$' -c '$ARG4$'
+       }
+
+
+# 'snmp_swap2' command definition
+define command{
+       command_name    snmp_swap2
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.'$ARG2$',host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.'$ARG2$' -w '$ARG3$' -c '$ARG4$'
+       }
+
+
+# 'snmp_mem3' command definition
+define command{
+       command_name    snmp_mem3
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.'$ARG2$',host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.'$ARG2$' -w '$ARG3$' -c '$ARG4$'
+       }
+
+
+# 'snmp_swap3' command definition
+define command{
+       command_name    snmp_swap3
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.'$ARG2$',host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.'$ARG2$' -w '$ARG3$' -c '$ARG4$'
+       }
+
+
+# 'snmp_disk2' command definition
+define command{
+       command_name    snmp_disk2
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.'$ARG2$' -w '$ARG3$' -c '$ARG4$'
+       }
+
+
+# 'snmp_tcpopen' command definition
+define command{
+       command_name    snmp_tcpopen
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o tcp.tcpCurrEstab.0 -w '$ARG2$' -c '$ARG3$'
+       }
+
+
+# 'snmp_tcpstats' command definition
+define command{
+       command_name    snmp_tcpstats
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o tcp.tcpActiveOpens.0,tcp.tcpPassiveOpens.0,tcp.tcpInSegs.0,tcp.tcpOutSegs.0,tcp.tcpRetransSegs.0 -l 'TCP stats'
+       }
+
+
+# 'check_netapp_uptime' command definition
+define command{
+       command_name    check_netapp_uptime
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.2.1.1.3.0 --delimiter=')' -l "Uptime is"
+       }
+
+
+# 'check_netapp_cpuload' command definition
+define command{
+       command_name    check_netapp_cpuload
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.789.1.2.1.3.0 -w 90 -c 95 -u '%' -l "CPU LOAD "
+       }
+
+
+# 'check_netapp_numdisks' command definition
+define command{
+       command_name    check_netapp_numdisks
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.789.1.6.4.1.0,.1.3.6.1.4.1.789.1.6.4.2.0,.1.3.6.1.4.1.789.1.6.4.8.0,.1.3.6.1.4.1.789.1.6.4.7.0 -u 'Total Disks','Active','Spare','Failed' -l ""
+       }
+
+
+# 'check_compaq_thermalCondition' command definition
+define command{
+       command_name    check_compaq_thermalCondition
+       command_line     /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o .1.3.6.1.4.1.232.6.2.1.0,.1.3.6.1.4.1.232.6.2.2.0,.1.3.6.1.4.1.232.6.2.3.0,.1.3.6.1.4.1.232.6.2.4.0 -u 'ThermalCondition','ThermalTemp','ThermalSystem','ThermalCPUFan' -w 2:2,2:2,2:2,2:2 -c 1:2,1:2,1:2,1:2 -l "Thermal status "
+       }
+
diff --git a/nagios-plugins/config/ssh.cfg b/nagios-plugins/config/ssh.cfg
new file mode 100644 (file)
index 0000000..29a6d17
--- /dev/null
@@ -0,0 +1,27 @@
+# '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$'
+       }
diff --git a/nagios-plugins/config/tcp_udp.cfg b/nagios-plugins/config/tcp_udp.cfg
new file mode 100644 (file)
index 0000000..140e84c
--- /dev/null
@@ -0,0 +1,27 @@
+# '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$'
+        }
diff --git a/nagios-plugins/config/telnet.cfg b/nagios-plugins/config/telnet.cfg
new file mode 100644 (file)
index 0000000..a87f842
--- /dev/null
@@ -0,0 +1,15 @@
+# '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$'
+        }
diff --git a/nagios-plugins/config/users.cfg b/nagios-plugins/config/users.cfg
new file mode 100644 (file)
index 0000000..614a622
--- /dev/null
@@ -0,0 +1,6 @@
+# 'check_users' command definition
+define command{
+       command_name    check_users
+       command_line    /usr/lib/nagios/plugins/check_users -w '$ARG1$' -c '$ARG2$'
+       }
+
diff --git a/passwd b/passwd
index 91a1b700a5fe87dd1590a05772ad747dd2d0388f..7862efe756df17f6437d07999f8ecb1fa7dc994e 100644 (file)
--- a/passwd
+++ b/passwd
@@ -39,3 +39,4 @@ iredadmin:x:2001:2001::/home/iredadmin:/usr/sbin/nologin
 iredapd:x:2002:2002::/home/iredapd:/usr/sbin/nologin
 netdata:x:2004:2004::/home/netdata:/usr/sbin/nologin
 ulog:x:115:124::/var/log/ulog:/bin/false
+nagios:x:116:125::/var/lib/nagios:/usr/sbin/nologin
diff --git a/rc0.d/K01icinga2 b/rc0.d/K01icinga2
new file mode 120000 (symlink)
index 0000000..005f4ff
--- /dev/null
@@ -0,0 +1 @@
+../init.d/icinga2
\ No newline at end of file
diff --git a/rc1.d/K01icinga2 b/rc1.d/K01icinga2
new file mode 120000 (symlink)
index 0000000..005f4ff
--- /dev/null
@@ -0,0 +1 @@
+../init.d/icinga2
\ No newline at end of file
diff --git a/rc2.d/S01icinga2 b/rc2.d/S01icinga2
new file mode 120000 (symlink)
index 0000000..005f4ff
--- /dev/null
@@ -0,0 +1 @@
+../init.d/icinga2
\ No newline at end of file
diff --git a/rc3.d/S01icinga2 b/rc3.d/S01icinga2
new file mode 120000 (symlink)
index 0000000..005f4ff
--- /dev/null
@@ -0,0 +1 @@
+../init.d/icinga2
\ No newline at end of file
diff --git a/rc4.d/S01icinga2 b/rc4.d/S01icinga2
new file mode 120000 (symlink)
index 0000000..005f4ff
--- /dev/null
@@ -0,0 +1 @@
+../init.d/icinga2
\ No newline at end of file
diff --git a/rc5.d/S01icinga2 b/rc5.d/S01icinga2
new file mode 120000 (symlink)
index 0000000..005f4ff
--- /dev/null
@@ -0,0 +1 @@
+../init.d/icinga2
\ No newline at end of file
diff --git a/rc6.d/K01icinga2 b/rc6.d/K01icinga2
new file mode 120000 (symlink)
index 0000000..005f4ff
--- /dev/null
@@ -0,0 +1 @@
+../init.d/icinga2
\ No newline at end of file
diff --git a/shadow b/shadow
index f99089bede50429161a0ebda2812371e21b53cb6..098cde4fc9ecbcaa50474f4e0c70350f6944e3b3 100644 (file)
--- a/shadow
+++ b/shadow
@@ -39,3 +39,4 @@ iredadmin:!:18725:0:99999:7:::
 iredapd:!:18725:0:99999:7:::
 netdata:!:18725:0:99999:7:::
 ulog:*:18729:0:99999:7:::
+nagios:!:18732:0:99999:7:::
diff --git a/shadow- b/shadow-
index f99089bede50429161a0ebda2812371e21b53cb6..098cde4fc9ecbcaa50474f4e0c70350f6944e3b3 100644 (file)
--- a/shadow-
+++ b/shadow-
@@ -39,3 +39,4 @@ iredadmin:!:18725:0:99999:7:::
 iredapd:!:18725:0:99999:7:::
 netdata:!:18725:0:99999:7:::
 ulog:*:18729:0:99999:7:::
+nagios:!:18732:0:99999:7:::
diff --git a/systemd/system/multi-user.target.wants/icinga2.service b/systemd/system/multi-user.target.wants/icinga2.service
new file mode 120000 (symlink)
index 0000000..563c749
--- /dev/null
@@ -0,0 +1 @@
+/lib/systemd/system/icinga2.service
\ No newline at end of file