From 267f2ce5e5d253e1c10a595a298d6f56c5276888 Mon Sep 17 00:00:00 2001 From: mhoellein Date: Fri, 10 Jul 2020 12:16:31 +0200 Subject: [PATCH] committing changes in /etc after apt run Package changes: --- .etckeeper | 109 -------- default/icinga2 | 3 - icinga2/conf.d/app.conf | 1 - icinga2/conf.d/apt.conf | 7 - icinga2/conf.d/commands.conf | 187 -------------- icinga2/conf.d/downtimes.conf | 20 -- icinga2/conf.d/groups.conf | 37 --- icinga2/conf.d/hosts.conf | 52 ---- icinga2/conf.d/notifications.conf | 33 --- icinga2/conf.d/services.conf | 117 --------- icinga2/conf.d/templates.conf | 83 ------ icinga2/conf.d/timeperiods.conf | 35 --- icinga2/conf.d/users.conf | 17 -- icinga2/constants.conf | 28 -- icinga2/features-available/api.conf | 10 - icinga2/features-available/checker.conf | 5 - icinga2/features-available/command.conf | 7 - icinga2/features-available/compatlog.conf | 7 - icinga2/features-available/debuglog.conf | 10 - icinga2/features-available/elasticsearch.conf | 8 - icinga2/features-available/gelf.conf | 10 - icinga2/features-available/graphite.conf | 9 - icinga2/features-available/influxdb.conf | 25 -- icinga2/features-available/livestatus.conf | 6 - icinga2/features-available/mainlog.conf | 8 - icinga2/features-available/notification.conf | 5 - icinga2/features-available/opentsdb.conf | 9 - icinga2/features-available/perfdata.conf | 6 - icinga2/features-available/statusdata.conf | 8 - icinga2/features-available/syslog.conf | 8 - icinga2/features-enabled/checker.conf | 1 - icinga2/features-enabled/mainlog.conf | 1 - icinga2/features-enabled/notification.conf | 1 - icinga2/icinga2.conf | 57 ----- icinga2/init.conf | 7 - icinga2/scripts/mail-host-notification.sh | 171 ------------- icinga2/scripts/mail-service-notification.sh | 176 ------------- icinga2/zones.conf | 61 ----- icinga2/zones.d/README | 2 - init.d/icinga2 | 241 ------------------ logrotate.d/icinga2 | 23 -- rc0.d/K01icinga2 | 1 - rc1.d/K01icinga2 | 1 - rc2.d/S05icinga2 | 1 - rc3.d/S05icinga2 | 1 - rc4.d/S05icinga2 | 1 - rc5.d/S05icinga2 | 1 - rc6.d/K01icinga2 | 1 - systemd/system/icinga2.service.d/limits.conf | 9 - .../multi-user.target.wants/icinga2.service | 1 - 50 files changed, 1628 deletions(-) delete mode 100644 default/icinga2 delete mode 100644 icinga2/conf.d/app.conf delete mode 100644 icinga2/conf.d/apt.conf delete mode 100644 icinga2/conf.d/commands.conf delete mode 100644 icinga2/conf.d/downtimes.conf delete mode 100644 icinga2/conf.d/groups.conf delete mode 100644 icinga2/conf.d/hosts.conf delete mode 100644 icinga2/conf.d/notifications.conf delete mode 100644 icinga2/conf.d/services.conf delete mode 100644 icinga2/conf.d/templates.conf delete mode 100644 icinga2/conf.d/timeperiods.conf delete mode 100644 icinga2/conf.d/users.conf delete mode 100644 icinga2/constants.conf delete mode 100644 icinga2/features-available/api.conf delete mode 100644 icinga2/features-available/checker.conf delete mode 100644 icinga2/features-available/command.conf delete mode 100644 icinga2/features-available/compatlog.conf delete mode 100644 icinga2/features-available/debuglog.conf delete mode 100644 icinga2/features-available/elasticsearch.conf delete mode 100644 icinga2/features-available/gelf.conf delete mode 100644 icinga2/features-available/graphite.conf delete mode 100644 icinga2/features-available/influxdb.conf delete mode 100644 icinga2/features-available/livestatus.conf delete mode 100644 icinga2/features-available/mainlog.conf delete mode 100644 icinga2/features-available/notification.conf delete mode 100644 icinga2/features-available/opentsdb.conf delete mode 100644 icinga2/features-available/perfdata.conf delete mode 100644 icinga2/features-available/statusdata.conf delete mode 100644 icinga2/features-available/syslog.conf delete mode 120000 icinga2/features-enabled/checker.conf delete mode 120000 icinga2/features-enabled/mainlog.conf delete mode 120000 icinga2/features-enabled/notification.conf delete mode 100644 icinga2/icinga2.conf delete mode 100644 icinga2/init.conf delete mode 100755 icinga2/scripts/mail-host-notification.sh delete mode 100755 icinga2/scripts/mail-service-notification.sh delete mode 100644 icinga2/zones.conf delete mode 100644 icinga2/zones.d/README delete mode 100755 init.d/icinga2 delete mode 100644 logrotate.d/icinga2 delete mode 120000 rc0.d/K01icinga2 delete mode 120000 rc1.d/K01icinga2 delete mode 120000 rc2.d/S05icinga2 delete mode 120000 rc3.d/S05icinga2 delete mode 120000 rc4.d/S05icinga2 delete mode 120000 rc5.d/S05icinga2 delete mode 120000 rc6.d/K01icinga2 delete mode 100644 systemd/system/icinga2.service.d/limits.conf delete mode 120000 systemd/system/multi-user.target.wants/icinga2.service diff --git a/.etckeeper b/.etckeeper index 073c5cf6..972ad458 100755 --- a/.etckeeper +++ b/.etckeeper @@ -2170,7 +2170,6 @@ maybe chmod 0755 'default/grub.d' maybe chmod 0644 'default/grub.d/50_linuxmint.cfg' maybe chmod 0644 'default/halt' maybe chmod 0644 'default/hddtemp' -maybe chmod 0644 'default/icinga2' maybe chmod 0644 'default/im-config' maybe chmod 0600 'default/iodine' maybe chmod 0644 'default/irqbalance' @@ -2741,100 +2740,6 @@ maybe chmod 0750 'icinga2/conf.d' maybe chown 'nagios' 'icinga2/conf.d/api-users.conf' maybe chgrp 'nagios' 'icinga2/conf.d/api-users.conf' maybe chmod 0644 'icinga2/conf.d/api-users.conf' -maybe chown 'nagios' 'icinga2/conf.d/app.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/app.conf' -maybe chmod 0644 'icinga2/conf.d/app.conf' -maybe chown 'nagios' 'icinga2/conf.d/apt.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/apt.conf' -maybe chmod 0644 'icinga2/conf.d/apt.conf' -maybe chown 'nagios' 'icinga2/conf.d/commands.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/commands.conf' -maybe chmod 0644 'icinga2/conf.d/commands.conf' -maybe chown 'nagios' 'icinga2/conf.d/downtimes.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/downtimes.conf' -maybe chmod 0644 'icinga2/conf.d/downtimes.conf' -maybe chown 'nagios' 'icinga2/conf.d/groups.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/groups.conf' -maybe chmod 0644 'icinga2/conf.d/groups.conf' -maybe chown 'nagios' 'icinga2/conf.d/hosts.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/hosts.conf' -maybe chmod 0644 'icinga2/conf.d/hosts.conf' -maybe chown 'nagios' 'icinga2/conf.d/notifications.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/notifications.conf' -maybe chmod 0644 'icinga2/conf.d/notifications.conf' -maybe chown 'nagios' 'icinga2/conf.d/services.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/services.conf' -maybe chmod 0644 'icinga2/conf.d/services.conf' -maybe chown 'nagios' 'icinga2/conf.d/templates.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/templates.conf' -maybe chmod 0644 'icinga2/conf.d/templates.conf' -maybe chown 'nagios' 'icinga2/conf.d/timeperiods.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/timeperiods.conf' -maybe chmod 0644 'icinga2/conf.d/timeperiods.conf' -maybe chown 'nagios' 'icinga2/conf.d/users.conf' -maybe chgrp 'nagios' 'icinga2/conf.d/users.conf' -maybe chmod 0644 'icinga2/conf.d/users.conf' -maybe chown 'nagios' 'icinga2/constants.conf' -maybe chgrp 'nagios' 'icinga2/constants.conf' -maybe chmod 0640 'icinga2/constants.conf' -maybe chown 'nagios' 'icinga2/features-available' -maybe chgrp 'nagios' 'icinga2/features-available' -maybe chmod 0750 'icinga2/features-available' -maybe chown 'nagios' 'icinga2/features-available/api.conf' -maybe chgrp 'nagios' 'icinga2/features-available/api.conf' -maybe chmod 0644 'icinga2/features-available/api.conf' -maybe chown 'nagios' 'icinga2/features-available/checker.conf' -maybe chgrp 'nagios' 'icinga2/features-available/checker.conf' -maybe chmod 0644 'icinga2/features-available/checker.conf' -maybe chown 'nagios' 'icinga2/features-available/command.conf' -maybe chgrp 'nagios' 'icinga2/features-available/command.conf' -maybe chmod 0644 'icinga2/features-available/command.conf' -maybe chown 'nagios' 'icinga2/features-available/compatlog.conf' -maybe chgrp 'nagios' 'icinga2/features-available/compatlog.conf' -maybe chmod 0644 'icinga2/features-available/compatlog.conf' -maybe chown 'nagios' 'icinga2/features-available/debuglog.conf' -maybe chgrp 'nagios' 'icinga2/features-available/debuglog.conf' -maybe chmod 0644 'icinga2/features-available/debuglog.conf' -maybe chown 'nagios' 'icinga2/features-available/elasticsearch.conf' -maybe chgrp 'nagios' 'icinga2/features-available/elasticsearch.conf' -maybe chmod 0644 'icinga2/features-available/elasticsearch.conf' -maybe chown 'nagios' 'icinga2/features-available/gelf.conf' -maybe chgrp 'nagios' 'icinga2/features-available/gelf.conf' -maybe chmod 0644 'icinga2/features-available/gelf.conf' -maybe chown 'nagios' 'icinga2/features-available/graphite.conf' -maybe chgrp 'nagios' 'icinga2/features-available/graphite.conf' -maybe chmod 0644 'icinga2/features-available/graphite.conf' -maybe chown 'nagios' 'icinga2/features-available/influxdb.conf' -maybe chgrp 'nagios' 'icinga2/features-available/influxdb.conf' -maybe chmod 0644 'icinga2/features-available/influxdb.conf' -maybe chown 'nagios' 'icinga2/features-available/livestatus.conf' -maybe chgrp 'nagios' 'icinga2/features-available/livestatus.conf' -maybe chmod 0644 'icinga2/features-available/livestatus.conf' -maybe chown 'nagios' 'icinga2/features-available/mainlog.conf' -maybe chgrp 'nagios' 'icinga2/features-available/mainlog.conf' -maybe chmod 0644 'icinga2/features-available/mainlog.conf' -maybe chown 'nagios' 'icinga2/features-available/notification.conf' -maybe chgrp 'nagios' 'icinga2/features-available/notification.conf' -maybe chmod 0644 'icinga2/features-available/notification.conf' -maybe chown 'nagios' 'icinga2/features-available/opentsdb.conf' -maybe chgrp 'nagios' 'icinga2/features-available/opentsdb.conf' -maybe chmod 0644 'icinga2/features-available/opentsdb.conf' -maybe chown 'nagios' 'icinga2/features-available/perfdata.conf' -maybe chgrp 'nagios' 'icinga2/features-available/perfdata.conf' -maybe chmod 0644 'icinga2/features-available/perfdata.conf' -maybe chown 'nagios' 'icinga2/features-available/statusdata.conf' -maybe chgrp 'nagios' 'icinga2/features-available/statusdata.conf' -maybe chmod 0644 'icinga2/features-available/statusdata.conf' -maybe chown 'nagios' 'icinga2/features-available/syslog.conf' -maybe chgrp 'nagios' 'icinga2/features-available/syslog.conf' -maybe chmod 0644 'icinga2/features-available/syslog.conf' -maybe chown 'nagios' 'icinga2/features-enabled' -maybe chgrp 'nagios' 'icinga2/features-enabled' -maybe chmod 0750 'icinga2/features-enabled' -maybe chown 'nagios' 'icinga2/icinga2.conf' -maybe chgrp 'nagios' 'icinga2/icinga2.conf' -maybe chmod 0640 'icinga2/icinga2.conf' -maybe chmod 0644 'icinga2/init.conf' maybe chown 'nagios' 'icinga2/pki' maybe chgrp 'nagios' 'icinga2/pki' maybe chmod 0700 'icinga2/pki' @@ -2847,16 +2752,6 @@ maybe chmod 0644 'icinga2/pki/home.hoellein.online.crt' maybe chown 'nagios' 'icinga2/pki/home.hoellein.online.key' maybe chgrp 'nagios' 'icinga2/pki/home.hoellein.online.key' maybe chmod 0600 'icinga2/pki/home.hoellein.online.key' -maybe chmod 0755 'icinga2/scripts' -maybe chmod 0755 'icinga2/scripts/mail-host-notification.sh' -maybe chmod 0755 'icinga2/scripts/mail-service-notification.sh' -maybe chown 'nagios' 'icinga2/zones.conf' -maybe chgrp 'nagios' 'icinga2/zones.conf' -maybe chmod 0640 'icinga2/zones.conf' -maybe chown 'nagios' 'icinga2/zones.d' -maybe chgrp 'nagios' 'icinga2/zones.d' -maybe chmod 0750 'icinga2/zones.d' -maybe chmod 0644 'icinga2/zones.d/README' maybe chgrp 'icingaweb2' 'icingaweb2' maybe chmod 2770 'icingaweb2' maybe chgrp 'icingaweb2' 'icingaweb2/enabledModules' @@ -2918,7 +2813,6 @@ maybe chmod 0755 'init.d/halt' maybe chmod 0755 'init.d/hddtemp' maybe chmod 0755 'init.d/hostname.sh' maybe chmod 0755 'init.d/hwclock.sh' -maybe chmod 0755 'init.d/icinga2' maybe chmod 0755 'init.d/iodined' maybe chmod 0755 'init.d/irqbalance' maybe chmod 0755 'init.d/isc-dhcp-server' @@ -7547,7 +7441,6 @@ maybe chmod 0644 'logrotate.d/dhcp' maybe chmod 0644 'logrotate.d/dpkg' maybe chmod 0644 'logrotate.d/fail2ban' maybe chmod 0644 'logrotate.d/homematic' -maybe chmod 0644 'logrotate.d/icinga2' maybe chmod 0644 'logrotate.d/iptraf' maybe chmod 0644 'logrotate.d/iptraf-ng' maybe chmod 0644 'logrotate.d/lightdm' @@ -8817,8 +8710,6 @@ maybe chmod 0755 'systemd/system/final.target.wants' maybe chmod 0755 'systemd/system/getty.target.wants' maybe chmod 0755 'systemd/system/graphical.target.wants' maybe chmod 0644 'systemd/system/hddtemp.service' -maybe chmod 0755 'systemd/system/icinga2.service.d' -maybe chmod 0644 'systemd/system/icinga2.service.d/limits.conf' maybe chmod 0755 'systemd/system/mariadb.service.d' maybe chmod 0644 'systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf' maybe chmod 0755 'systemd/system/multi-user.target.wants' diff --git a/default/icinga2 b/default/icinga2 deleted file mode 100644 index c4524088..00000000 --- a/default/icinga2 +++ /dev/null @@ -1,3 +0,0 @@ -# default settings for icinga2's initscript - -#DAEMON_ARGS="-e /var/log/icinga2/icinga2.err" diff --git a/icinga2/conf.d/app.conf b/icinga2/conf.d/app.conf deleted file mode 100644 index 3e4be0dc..00000000 --- a/icinga2/conf.d/app.conf +++ /dev/null @@ -1 +0,0 @@ -object IcingaApplication "app" { } diff --git a/icinga2/conf.d/apt.conf b/icinga2/conf.d/apt.conf deleted file mode 100644 index b2c77a0c..00000000 --- a/icinga2/conf.d/apt.conf +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index bd511ceb..00000000 --- a/icinga2/conf.d/commands.conf +++ /dev/null @@ -1,187 +0,0 @@ -/* 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 deleted file mode 100644 index 0bed6475..00000000 --- a/icinga2/conf.d/downtimes.conf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * 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 deleted file mode 100644 index e6004a32..00000000 --- a/icinga2/conf.d/groups.conf +++ /dev/null @@ -1,37 +0,0 @@ -/** - * 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 deleted file mode 100644 index 0118f033..00000000 --- a/icinga2/conf.d/hosts.conf +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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 variable `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 deleted file mode 100644 index ac658754..00000000 --- a/icinga2/conf.d/notifications.conf +++ /dev/null @@ -1,33 +0,0 @@ -/** - * The example notification apply rules. - * - * Only applied if host/service objects have - * the custom variable `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 deleted file mode 100644 index c8e1b3cc..00000000 --- a/icinga2/conf.d/services.conf +++ /dev/null @@ -1,117 +0,0 @@ -/* - * 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 variable `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 deleted file mode 100644 index 5655e3f2..00000000 --- a/icinga2/conf.d/templates.conf +++ /dev/null @@ -1,83 +0,0 @@ -/* - * 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 " - 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 " - notification_logtosyslog = false - } - - period = "24x7" -} diff --git a/icinga2/conf.d/timeperiods.conf b/icinga2/conf.d/timeperiods.conf deleted file mode 100644 index ea162ff8..00000000 --- a/icinga2/conf.d/timeperiods.conf +++ /dev/null @@ -1,35 +0,0 @@ -/** - * 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 deleted file mode 100644 index aa31e272..00000000 --- a/icinga2/conf.d/users.conf +++ /dev/null @@ -1,17 +0,0 @@ -/** - * 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 deleted file mode 100644 index 29232d61..00000000 --- a/icinga2/constants.conf +++ /dev/null @@ -1,28 +0,0 @@ -/** - * 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 deleted file mode 100644 index 6273a74b..00000000 --- a/icinga2/features-available/api.conf +++ /dev/null @@ -1,10 +0,0 @@ -/** - * The API listener is used for distributed monitoring setups. - */ - -object ApiListener "api" { - //accept_config = true - //accept_commands = true - - ticket_salt = TicketSalt -} diff --git a/icinga2/features-available/checker.conf b/icinga2/features-available/checker.conf deleted file mode 100644 index 6f003b8f..00000000 --- a/icinga2/features-available/checker.conf +++ /dev/null @@ -1,5 +0,0 @@ -/** - * 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 deleted file mode 100644 index ffdd143a..00000000 --- a/icinga2/features-available/command.conf +++ /dev/null @@ -1,7 +0,0 @@ -/** - * 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 deleted file mode 100644 index 6f5cf5f5..00000000 --- a/icinga2/features-available/compatlog.conf +++ /dev/null @@ -1,7 +0,0 @@ -/** - * 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 deleted file mode 100644 index e66518fe..00000000 --- a/icinga2/features-available/debuglog.conf +++ /dev/null @@ -1,10 +0,0 @@ -/** - * 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 deleted file mode 100644 index 8014913a..00000000 --- a/icinga2/features-available/elasticsearch.conf +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index c14c8640..00000000 --- a/icinga2/features-available/gelf.conf +++ /dev/null @@ -1,10 +0,0 @@ -/** - * 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 deleted file mode 100644 index ae8a9288..00000000 --- a/icinga2/features-available/graphite.conf +++ /dev/null @@ -1,9 +0,0 @@ -/** - * 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 deleted file mode 100644 index af842357..00000000 --- a/icinga2/features-available/influxdb.conf +++ /dev/null @@ -1,25 +0,0 @@ -/** - * 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 deleted file mode 100644 index 246c085e..00000000 --- a/icinga2/features-available/livestatus.conf +++ /dev/null @@ -1,6 +0,0 @@ -/** - * 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 deleted file mode 100644 index a3bb19da..00000000 --- a/icinga2/features-available/mainlog.conf +++ /dev/null @@ -1,8 +0,0 @@ -/** - * 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 deleted file mode 100644 index 3f9a88ed..00000000 --- a/icinga2/features-available/notification.conf +++ /dev/null @@ -1,5 +0,0 @@ -/** - * 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 deleted file mode 100644 index 540556c1..00000000 --- a/icinga2/features-available/opentsdb.conf +++ /dev/null @@ -1,9 +0,0 @@ -/** - * 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 deleted file mode 100644 index 3ba86354..00000000 --- a/icinga2/features-available/perfdata.conf +++ /dev/null @@ -1,6 +0,0 @@ -/** - * 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 deleted file mode 100644 index bb81c961..00000000 --- a/icinga2/features-available/statusdata.conf +++ /dev/null @@ -1,8 +0,0 @@ -/** - * 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 deleted file mode 100644 index 3b794b42..00000000 --- a/icinga2/features-available/syslog.conf +++ /dev/null @@ -1,8 +0,0 @@ -/** - * 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 deleted file mode 120000 index d51cf79f..00000000 --- a/icinga2/features-enabled/checker.conf +++ /dev/null @@ -1 +0,0 @@ -../features-available/checker.conf \ No newline at end of file diff --git a/icinga2/features-enabled/mainlog.conf b/icinga2/features-enabled/mainlog.conf deleted file mode 120000 index 6bda4a5d..00000000 --- a/icinga2/features-enabled/mainlog.conf +++ /dev/null @@ -1 +0,0 @@ -../features-available/mainlog.conf \ No newline at end of file diff --git a/icinga2/features-enabled/notification.conf b/icinga2/features-enabled/notification.conf deleted file mode 120000 index c31d3b4c..00000000 --- a/icinga2/features-enabled/notification.conf +++ /dev/null @@ -1 +0,0 @@ -../features-available/notification.conf \ No newline at end of file diff --git a/icinga2/icinga2.conf b/icinga2/icinga2.conf deleted file mode 100644 index 17513a34..00000000 --- a/icinga2/icinga2.conf +++ /dev/null @@ -1,57 +0,0 @@ -/** - * 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 -include -include -include - -/** - * 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 - -/** - * This includes the NSClient++ check commands. These command definitions - * are required on a master node when a client is used as command endpoint. - */ -include - -/** - * 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/init.conf b/icinga2/init.conf deleted file mode 100644 index 16a90419..00000000 --- a/icinga2/init.conf +++ /dev/null @@ -1,7 +0,0 @@ -/** - * This file is read by Icinga 2 before the main - * configuration file (icinga2.conf) is processed. - */ - -const RunAsUser = "nagios" -const RunAsGroup = "nagios" diff --git a/icinga2/scripts/mail-host-notification.sh b/icinga2/scripts/mail-host-notification.sh deleted file mode 100755 index 93f942e1..00000000 --- a/icinga2/scripts/mail-host-notification.sh +++ /dev/null @@ -1,171 +0,0 @@ -#!/bin/sh -# Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ -# 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=0 c e s="$1" - - while [ $i -lt ${#1} ]; do - [ "$i" -eq 0 ] || s="${s#?}" - c=${s%"${s#?}"} - [ -z "${c#[[:alnum:].~_-]}" ] || c=$(printf '%%%02X' "'$c") - e="${e}${c}" - i=$((i + 1)) - 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" | tr -d '\015' \ - | $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" | tr -d '\015' \ - | $MAILBIN -r "$MAILFROM" -s "$SUBJECT" $USEREMAIL - fi - -else - /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | tr -d '\015' \ - | $MAILBIN -s "$SUBJECT" $USEREMAIL -fi diff --git a/icinga2/scripts/mail-service-notification.sh b/icinga2/scripts/mail-service-notification.sh deleted file mode 100755 index 8ccb8d45..00000000 --- a/icinga2/scripts/mail-service-notification.sh +++ /dev/null @@ -1,176 +0,0 @@ -#!/bin/sh -# Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ -# 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=0 c e s="$1" - - while [ $i -lt ${#1} ]; do - [ "$i" -eq 0 ] || s="${s#?}" - c=${s%"${s#?}"} - [ -z "${c#[[:alnum:].~_-]}" ] || c=$(printf '%%%02X' "'$c") - e="${e}${c}" - i=$((i + 1)) - 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" | tr -d '\015' \ - | $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" | tr -d '\015' \ - | $MAILBIN -r "$MAILFROM" -s "$SUBJECT" $USEREMAIL - fi - -else - /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | tr -d '\015' \ - | $MAILBIN -s "$SUBJECT" $USEREMAIL -fi diff --git a/icinga2/zones.conf b/icinga2/zones.conf deleted file mode 100644 index 3d25ff18..00000000 --- a/icinga2/zones.conf +++ /dev/null @@ -1,61 +0,0 @@ -/* - * 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 "icinga.hoellein.online" { - host = "icinga.hoellein.online" -} - -object Endpoint "home.hoellein.online" { - host = "home.hoellein.online" -} - -object Zone "icinga.hoellein.online" { - endpoints = [ "icinga.hoellein.online" ] -} - -object Zone "home.hoellein.online" { - parent = "master" - endpoints = [ "home.hoellein.online" ] -} - diff --git a/icinga2/zones.d/README b/icinga2/zones.d/README deleted file mode 100644 index e378eae9..00000000 --- a/icinga2/zones.d/README +++ /dev/null @@ -1,2 +0,0 @@ -Please check the documentation for more details: -https://icinga.com/docs/icinga2/latest/doc/06-distributed-monitoring/ diff --git a/init.d/icinga2 b/init.d/icinga2 deleted file mode 100755 index daad9a94..00000000 --- a/init.d/icinga2 +++ /dev/null @@ -1,241 +0,0 @@ -#! /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 -# Markus Frosch - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="icinga2 monitoring daemon" -NAME=icinga2 -DAEMON=/usr/sbin/icinga2 -DAEMON_CONFIG="/etc/icinga2/icinga2.conf" -DAEMON_USER=nagios -DAEMON_GROUP=nagios -DAEMON_CMDGROUP=www-data -DAEMON_ARGS="-e /var/log/icinga2/icinga2.err" -STARTUP_LOG="/var/log/icinga2/startup.log" -PIDFILE=/var/run/icinga2/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME - -# Block/ignore SIGPIPE inside Icinga2 -# Workaround for a known bug in 2.6.0 -# see https://dev.icinga.com/issues/13567#note-19 -trap '' 13 # SIGPIPE - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# Load the VERBOSE setting and other rcS variables -. /lib/init/vars.sh - -# Define LSB log_* functions. -# Depend on lsb-base (>= 3.2-14) to ensure that this file is present -# and status_of_proc is working. -. /lib/lsb/init-functions - -# check run directory -check_run () { - if [ ! -e '/var/run/icinga2' ]; then - mkdir /var/run/icinga2 - mkdir /var/run/icinga2/cmd - - chown "$DAEMON_USER":"$DAEMON_CMDGROUP" /var/run/icinga2/cmd - chmod 2710 /var/run/icinga2/cmd - - chown "$DAEMON_USER":"$DAEMON_GROUP" /var/run/icinga2 - chmod 0755 /var/run/icinga2 - fi -} - -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 HUP --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 deleted file mode 100644 index df45df74..00000000 --- a/logrotate.d/icinga2 +++ /dev/null @@ -1,23 +0,0 @@ -/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/rc0.d/K01icinga2 b/rc0.d/K01icinga2 deleted file mode 120000 index 005f4ff1..00000000 --- a/rc0.d/K01icinga2 +++ /dev/null @@ -1 +0,0 @@ -../init.d/icinga2 \ No newline at end of file diff --git a/rc1.d/K01icinga2 b/rc1.d/K01icinga2 deleted file mode 120000 index 005f4ff1..00000000 --- a/rc1.d/K01icinga2 +++ /dev/null @@ -1 +0,0 @@ -../init.d/icinga2 \ No newline at end of file diff --git a/rc2.d/S05icinga2 b/rc2.d/S05icinga2 deleted file mode 120000 index 005f4ff1..00000000 --- a/rc2.d/S05icinga2 +++ /dev/null @@ -1 +0,0 @@ -../init.d/icinga2 \ No newline at end of file diff --git a/rc3.d/S05icinga2 b/rc3.d/S05icinga2 deleted file mode 120000 index 005f4ff1..00000000 --- a/rc3.d/S05icinga2 +++ /dev/null @@ -1 +0,0 @@ -../init.d/icinga2 \ No newline at end of file diff --git a/rc4.d/S05icinga2 b/rc4.d/S05icinga2 deleted file mode 120000 index 005f4ff1..00000000 --- a/rc4.d/S05icinga2 +++ /dev/null @@ -1 +0,0 @@ -../init.d/icinga2 \ No newline at end of file diff --git a/rc5.d/S05icinga2 b/rc5.d/S05icinga2 deleted file mode 120000 index 005f4ff1..00000000 --- a/rc5.d/S05icinga2 +++ /dev/null @@ -1 +0,0 @@ -../init.d/icinga2 \ No newline at end of file diff --git a/rc6.d/K01icinga2 b/rc6.d/K01icinga2 deleted file mode 120000 index 005f4ff1..00000000 --- a/rc6.d/K01icinga2 +++ /dev/null @@ -1 +0,0 @@ -../init.d/icinga2 \ No newline at end of file diff --git a/systemd/system/icinga2.service.d/limits.conf b/systemd/system/icinga2.service.d/limits.conf deleted file mode 100644 index ad24f7ea..00000000 --- a/systemd/system/icinga2.service.d/limits.conf +++ /dev/null @@ -1,9 +0,0 @@ -# Icinga 2 sets some default values to extend OS defaults -# -# Please refer to our troubleshooting documentations for details -# and reasons on these values. -[Service] -TasksMax=infinity - -# May also cause problems, uncomment if you have any -#LimitNPROC=62883 diff --git a/systemd/system/multi-user.target.wants/icinga2.service b/systemd/system/multi-user.target.wants/icinga2.service deleted file mode 120000 index 563c749e..00000000 --- a/systemd/system/multi-user.target.wants/icinga2.service +++ /dev/null @@ -1 +0,0 @@ -/lib/systemd/system/icinga2.service \ No newline at end of file -- 2.43.0