From 6ab38b6c15ac94e6ba96850abd75fb2f00a8df70 Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Mon, 14 Aug 2017 13:13:03 +0200 Subject: [PATCH 1/3] Remove deprecated Classic UI configuration package refs #5301 --- etc/CMakeLists.txt | 1 - etc/icinga/README | 5 -- etc/icinga/cgi.cfg | 77 ------------------ etc/icinga/icinga-classic-apache.conf.cmake | 70 ----------------- etc/icinga/icinga-classic.htpasswd | 3 - icinga2.spec | 86 --------------------- 6 files changed, 242 deletions(-) delete mode 100644 etc/icinga/README delete mode 100644 etc/icinga/cgi.cfg delete mode 100644 etc/icinga/icinga-classic-apache.conf.cmake delete mode 100644 etc/icinga/icinga-classic.htpasswd diff --git a/etc/CMakeLists.txt b/etc/CMakeLists.txt index dd8d47620..3d2c077d7 100644 --- a/etc/CMakeLists.txt +++ b/etc/CMakeLists.txt @@ -15,7 +15,6 @@ # along with this program; if not, write to the Free Software Foundation # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. -configure_file(icinga/icinga-classic-apache.conf.cmake ${CMAKE_CURRENT_BINARY_DIR}/icinga/icinga-classic-apache.conf @ONLY) configure_file(icinga2/init.conf.cmake ${CMAKE_CURRENT_BINARY_DIR}/icinga2/init.conf @ONLY) if(NOT WIN32) diff --git a/etc/icinga/README b/etc/icinga/README deleted file mode 100644 index f06656685..000000000 --- a/etc/icinga/README +++ /dev/null @@ -1,5 +0,0 @@ -# This has been DEPRECATED and will be removed in future releases. -# You can manually configure the Classic UI by keeping a backup of this file. - -This directory contains Icinga 1.x Classic UI configuration -used by packages. diff --git a/etc/icinga/cgi.cfg b/etc/icinga/cgi.cfg deleted file mode 100644 index 255d9d427..000000000 --- a/etc/icinga/cgi.cfg +++ /dev/null @@ -1,77 +0,0 @@ -# Icinga 2 Classic UI configuration -# -# requires icinga-gui package -# check http://docs.icinga.com for option details -# -# This has been DEPRECATED and will be removed in future releases. -# You can manually configure the Classic UI by keeping a backup of this file. - -standalone_installation=1 -physical_html_path=/usr/share/icinga -url_html_path=/icinga -url_stylesheets_path=/icinga/stylesheets -http_charset=utf-8 -refresh_rate=30 -refresh_type=1 -escape_html_tags=1 -result_limit=50 -show_tac_header=1 -use_pending_states=1 -first_day_of_week=0 -suppress_maintenance_downtime=0 -action_url_target=main -notes_url_target=main -use_authentication=1 -use_ssl_authentication=0 -lowercase_user_name=0 -authorized_for_system_information=icingaadmin -authorized_for_configuration_information=icingaadmin -authorized_for_full_command_resolution=icingaadmin -authorized_for_system_commands=icingaadmin -authorized_for_all_services=icingaadmin -authorized_for_all_hosts=icingaadmin -authorized_for_all_service_commands=icingaadmin -authorized_for_all_host_commands=icingaadmin -show_all_services_host_is_authorized_for=1 -show_partial_hostgroups=0 -show_partial_servicegroups=0 -default_statusmap_layout=5 -status_show_long_plugin_output=0 -display_status_totals=0 -highlight_table_rows=1 -add_notif_num_hard=28 -add_notif_num_soft=0 -use_logging=0 -cgi_log_file=/var/log/icinga/gui/icinga-cgi.log -cgi_log_rotation_method=d -cgi_log_archive_path=/var/log/icinga/gui -enforce_comments_on_actions=0 -send_ack_notifications=1 -persistent_ack_comments=0 -lock_author_names=1 -default_downtime_duration=7200 -set_expire_ack_by_default=0 -default_expiring_acknowledgement_duration=86400 -default_expiring_disabled_notifications_duration=86400 -tac_show_only_hard_state=0 -show_tac_header_pending=1 -exclude_customvar_name=PASSWORD,COMMUNITY -exclude_customvar_value=secret -extinfo_show_child_hosts=0 -tab_friendly_titles=1 -###################################### -# STANDALONE (ICINGA 2) OPTIONS -# requires standalone_installation=1 -###################################### -object_cache_file=/var/cache/icinga2/objects.cache -status_file=/var/cache/icinga2/status.dat -resource_file=/etc/icinga/resource.cfg -command_file=/var/run/icinga2/cmd/icinga2.cmd -check_external_commands=1 -interval_length=60 -status_update_interval=10 -log_file=/var/log/icinga2/compat/icinga.log -log_rotation_method=h -log_archive_path=/var/log/icinga2/compat/archives -date_format=us -# EOF diff --git a/etc/icinga/icinga-classic-apache.conf.cmake b/etc/icinga/icinga-classic-apache.conf.cmake deleted file mode 100644 index 6c364172a..000000000 --- a/etc/icinga/icinga-classic-apache.conf.cmake +++ /dev/null @@ -1,70 +0,0 @@ -# SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER -# -# This file contains examples of entries that need -# to be incorporated into your Apache web server -# configuration file. Customize the paths, etc. as -# needed to fit your system. -# -# This has been DEPRECATED and will be removed in future releases. -# You can manually configure the Classic UI by keeping a backup of this file. - -ScriptAlias /icinga/cgi-bin "@CMAKE_INSTALL_FULL_LIBDIR@/icinga/cgi" - - -# SSLRequireSSL - Options ExecCGI - AllowOverride None - - AuthName "Icinga Access" - AuthType Basic - AuthUserFile @CMAKE_INSTALL_FULL_SYSCONFDIR@/icinga/passwd - - - # Apache 2.4 - - Require all granted - # Require local - Require valid-user - - - - # Apache 2.2 - Order allow,deny - Allow from all - # Order deny,allow - # Deny from all - # Allow from 127.0.0.1 - Require valid-user - - - -Alias /icinga "@CMAKE_INSTALL_FULL_DATADIR@/icinga/" - - -# SSLRequireSSL - Options None - AllowOverride All - - AuthName "Icinga Access" - AuthType Basic - AuthUserFile @CMAKE_INSTALL_FULL_SYSCONFDIR@/icinga/passwd - - - # Apache 2.4 - - Require all granted - # Require local - Require valid-user - - - - # Apache 2.2 - Order allow,deny - Allow from all - # Order deny,allow - # Deny from all - # Allow from 127.0.0.1 - Require valid-user - - - diff --git a/etc/icinga/icinga-classic.htpasswd b/etc/icinga/icinga-classic.htpasswd deleted file mode 100644 index c47106b6c..000000000 --- a/etc/icinga/icinga-classic.htpasswd +++ /dev/null @@ -1,3 +0,0 @@ -# This has been DEPRECATED and will be removed in future releases. -# You can manually configure the Classic UI by keeping a backup of this file. -icingaadmin:bRH4xwLfPkKeE diff --git a/icinga2.spec b/icinga2.spec index e77f76ef0..4eaa3e72c 100644 --- a/icinga2.spec +++ b/icinga2.spec @@ -62,9 +62,6 @@ %define icingaweb2name icingaweb2 %define icingaweb2version 2.0.0 -# DEPRECATED -%define icingaclassicconfdir %{_sysconfdir}/icinga - %define logmsg logger -t %{name}/rpm Summary: Network monitoring application @@ -227,35 +224,6 @@ Requires: %{name} = %{version}-%{release} Icinga 2 IDO PostgreSQL database backend. Compatible with Icinga 1.x IDOUtils schema >= 1.12 -# DEPRECATED, disable builds on Amazon -%if !(0%{?amzn}) - -# DEPRECATED -%package classicui-config -Summary: Icinga 2 Classic UI Standalone configuration -Group: Applications/System -BuildRequires: %{apachename} -Requires: %{apachename} -Requires: %{name} = %{version}-%{release} -%if "%{_vendor}" == "suse" -Recommends: icinga-www -# for running logger to log the deprecated warning -%if 0%{?use_systemd} -BuildRequires:util-linux-systemd -Requires: util-linux-systemd -%endif -%endif -Provides: icinga-classicui-config -Conflicts: icinga-gui-config - -# DEPRECATED -%description classicui-config -Icinga 1.x Classic UI Standalone configuration with locations -for Icinga 2. - -# DEPRECATED, disable builds on Amazon -%endif - %if "%{_vendor}" == "redhat" && !(0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") %global selinux_variants mls targeted %{!?_selinux_policy_version: %global _selinux_policy_version %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp 2>/dev/null)} @@ -388,17 +356,6 @@ cd - make install \ DESTDIR="%{buildroot}" -# DEPRECATED, disable builds on Amazon -%if !(0%{?amzn}) - -# install classicui config -install -D -m 0644 etc/icinga/icinga-classic.htpasswd %{buildroot}%{icingaclassicconfdir}/passwd -install -D -m 0644 etc/icinga/cgi.cfg %{buildroot}%{icingaclassicconfdir}/cgi.cfg -install -D -m 0644 etc/icinga/icinga-classic-apache.conf %{buildroot}%{apacheconfdir}/icinga.conf - -# DEPRECATED, disable builds on Amazon -%endif - # remove features-enabled symlinks rm -f %{buildroot}/%{_sysconfdir}/%{name}/features-enabled/*.conf @@ -621,36 +578,6 @@ fi exit 0 -# DEPRECATED, disable builds on Amazon -%if !(0%{?amzn}) - -%post classicui-config -if [ ${1:-0} -eq 1 ] -then - # initial installation, enable features - for feature in statusdata compatlog command; do - ln -sf ../features-available/${feature}.conf %{_sysconfdir}/%{name}/features-enabled/${feature}.conf - done -fi - -%logmsg "The icinga2-classicui-config package has been deprecated and will be removed in future releases." - -exit 0 - -# DEPRECATED -%postun classicui-config -if [ "$1" = "0" ]; then - # deinstallation of the package - remove feature - for feature in statusdata compatlog command; do - rm -f %{_sysconfdir}/%{name}/features-enabled/${feature}.conf - done -fi - -exit 0 - -# DEPRECATED, disable builds on Amazon -%endif - %if "%{_vendor}" == "redhat" && !(0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") %post selinux for selinuxvariant in %{selinux_variants} @@ -771,19 +698,6 @@ fi %{_libdir}/%{name}/libdb_ido_pgsql* %{_datadir}/icinga2-ido-pgsql -# DEPRECATED, disable builds on Amazon -%if !(0%{?amzn}) - -%files classicui-config -%defattr(-,root,root,-) -%attr(0751,%{icinga_user},%{icinga_group}) %dir %{icingaclassicconfdir} -%config(noreplace) %{icingaclassicconfdir}/cgi.cfg -%config(noreplace) %{apacheconfdir}/icinga.conf -%config(noreplace) %attr(0640,root,%{apachegroup}) %{icingaclassicconfdir}/passwd - -# DEPRECATED, disable builds on Amazon -%endif - %if "%{_vendor}" == "redhat" && !(0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") %files selinux %defattr(-,root,root,0755) From f41f220c782dbf9030cd9ed3d194a63f5fbaff9f Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Fri, 22 Sep 2017 12:25:47 +0200 Subject: [PATCH 2/3] Remove Classic UI references from docs refs #5301 --- doc/09-object-types.md | 6 +-- doc/10-icinga-template-library.md | 2 +- doc/14-features.md | 63 ++++++------------------------ doc/23-migrating-from-icinga-1x.md | 8 ++-- doc/24-appendix.md | 18 ++------- 5 files changed, 24 insertions(+), 73 deletions(-) diff --git a/doc/09-object-types.md b/doc/09-object-types.md index 63ede50ef..ae92dfd41 100644 --- a/doc/09-object-types.md +++ b/doc/09-object-types.md @@ -1478,7 +1478,7 @@ Configuration Attributes: ## StatusDataWriter -Periodically writes status data files which are used by the Classic UI and other third-party tools. +Periodically writes status and configuration data files which are used by third-party tools. Example: @@ -1494,8 +1494,8 @@ Configuration Attributes: Name |Description ----------------|---------------- - status\_path |**Optional.** Path to the status.dat file. Defaults to LocalStateDir + "/cache/icinga2/status.dat". - objects\_path |**Optional.** Path to the objects.cache file. Defaults to LocalStateDir + "/cache/icinga2/objects.cache". + status\_path |**Optional.** Path to the `status.dat` file. Defaults to LocalStateDir + "/cache/icinga2/status.dat". + objects\_path |**Optional.** Path to the `objects.cache` file. Defaults to LocalStateDir + "/cache/icinga2/objects.cache". update\_interval|**Optional.** The interval in which the status files are updated. Defaults to 15 seconds. diff --git a/doc/10-icinga-template-library.md b/doc/10-icinga-template-library.md index 6c070b256..0007ca184 100644 --- a/doc/10-icinga-template-library.md +++ b/doc/10-icinga-template-library.md @@ -2644,7 +2644,7 @@ interfacetable_noifloadgradient | **Optional.** Disable color gradient from interfacetable_nohuman | **Optional.** Do not translate bandwidth usage in human readable format. Defaults to false. interfacetable_snapshot | **Optional.** Force the plugin to run like if it was the first launch. Defaults to false. interfacetable_timeout | **Optional.** Define the global timeout limit of the plugin in seconds. Defaults to "15s". -interfacetable_css | **Optional.** Define the css stylesheet used by the generated html files. Possible values are "classic", "icinga", "icinga-alternate1" or "nagiosxi". +interfacetable_css | **Optional.** Define the css stylesheet used by the generated html files. Possible values are "classic", "icinga" or "icinga-alternate1". interfacetable_config | **Optional.** Specify a config file to load. interfacetable_noconfigtable | **Optional.** Disable configuration table on the generated HTML page. Defaults to false. interfacetable_notips | **Optional.** Disable the tips in the generated html tables. Defaults to false. diff --git a/doc/14-features.md b/doc/14-features.md index f356e3073..5c658d299 100644 --- a/doc/14-features.md +++ b/doc/14-features.md @@ -435,16 +435,17 @@ The [MK Livestatus](https://mathias-kettner.de/checkmk_livestatus.html) project implements a query protocol that lets users query their Icinga instance for status information. It can also be used to send commands. -> **Tip** -> -> Only install the Livestatus feature if your web interface or addon requires -> you to do so (for example, [Icinga Web 2](02-getting-started.md#setting-up-icingaweb2)). -> Icinga Classic UI 1.x and Icinga Web 1.x do not use Livestatus as backend. - The Livestatus component that is distributed as part of Icinga 2 is a re-implementation of the Livestatus protocol which is compatible with MK Livestatus. +> **Tip** +> +> Only install the Livestatus feature if your web interface or addon requires +> you to do so. +> [Icinga Web 2](02-getting-started.md#setting-up-icingaweb2) does not need +> Livestatus. + Details on the available tables and attributes with Icinga 2 can be found in the [Livestatus Schema](24-appendix.md#schema-livestatus) section. @@ -454,14 +455,8 @@ You can enable Livestatus using icinga2 feature enable: After that you will have to restart Icinga 2: -RHEL/CentOS 7/Fedora, SLES 12, Debian Jessie/Stretch, Ubuntu Xenial: - # systemctl restart icinga2 -Debian/Ubuntu, RHEL/CentOS 6 and SUSE: - - # service icinga2 restart - By default the Livestatus socket is available in `/var/run/icinga2/cmd/livestatus`. In order for queries and commands to work you will need to add your query user @@ -635,12 +630,8 @@ status updates in a regular interval. # icinga2 feature enable statusdata -Icinga 1.x Classic UI requires this data set as part of its backend. - -> **Note** -> -> If you are not using any web interface or addon which uses these files, -> you can safely disable this feature. +If you are not using any web interface or addon which uses these files, +you can safely disable this feature. ## Compat Log Files @@ -648,11 +639,11 @@ Icinga 1.x Classic UI requires this data set as part of its backend. The Icinga 1.x log format is considered being the `Compat Log` in Icinga 2 provided with the `CompatLogger` object. -These logs are not only used for informational representation in +These logs are used for informational representation in external web interfaces parsing the logs, but also to generate -SLA reports and trends in Icinga 1.x Classic UI. Furthermore the -[Livestatus](14-features.md#setting-up-livestatus) feature uses these logs for answering queries to -historical tables. +SLA reports and trends. +The [Livestatus](14-features.md#setting-up-livestatus) feature uses these logs +for answering queries to historical tables. The `CompatLogger` object can be enabled with @@ -662,34 +653,6 @@ By default, the Icinga 1.x log file called `icinga.log` is located in `/var/log/icinga2/compat`. Rotated log files are moved into `var/log/icinga2/compat/archives`. -The format cannot be changed without breaking compatibility to -existing log parsers. - - # tail -f /var/log/icinga2/compat/icinga.log - - [1382115688] LOG ROTATION: HOURLY - [1382115688] LOG VERSION: 2.0 - [1382115688] HOST STATE: CURRENT;localhost;UP;HARD;1; - [1382115688] SERVICE STATE: CURRENT;localhost;disk;WARNING;HARD;1; - [1382115688] SERVICE STATE: CURRENT;localhost;http;OK;HARD;1; - [1382115688] SERVICE STATE: CURRENT;localhost;load;OK;HARD;1; - [1382115688] SERVICE STATE: CURRENT;localhost;ping4;OK;HARD;1; - [1382115688] SERVICE STATE: CURRENT;localhost;ping6;OK;HARD;1; - [1382115688] SERVICE STATE: CURRENT;localhost;processes;WARNING;HARD;1; - [1382115688] SERVICE STATE: CURRENT;localhost;ssh;OK;HARD;1; - [1382115688] SERVICE STATE: CURRENT;localhost;users;OK;HARD;1; - [1382115706] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;localhost;disk;1382115705 - [1382115706] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;localhost;http;1382115705 - [1382115706] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;localhost;load;1382115705 - [1382115706] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;localhost;ping4;1382115705 - [1382115706] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;localhost;ping6;1382115705 - [1382115706] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;localhost;processes;1382115705 - [1382115706] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;localhost;ssh;1382115705 - [1382115706] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;localhost;users;1382115705 - [1382115731] EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;localhost;ping6;2;critical test| - [1382115731] SERVICE ALERT: localhost;ping6;CRITICAL;SOFT;2;critical test - - ## Check Result Files Icinga 1.x writes its check result files to a temporary spool directory diff --git a/doc/23-migrating-from-icinga-1x.md b/doc/23-migrating-from-icinga-1x.md index 4faeccc3b..4dd6e8397 100644 --- a/doc/23-migrating-from-icinga-1x.md +++ b/doc/23-migrating-from-icinga-1x.md @@ -959,7 +959,7 @@ Please check the migration hints for a detailed > **Note** > -> The Classic UI feature named `Command Expander` does not work with Icinga 2. +> The Icinga 1.x feature named `Command Expander` does not work with Icinga 2. #### Environment Macros @@ -1252,7 +1252,7 @@ notification configuration problem in Icinga 1.x: * Service A should notify contact X via SMS * Service B should notify contact X via Mail * Service C should notify contact Y via Mail and SMS -* Contact X and Y should also be used for authorization (e.g. in Classic UI) +* Contact X and Y should also be used for authorization The only way achieving a semi-clean solution is to @@ -1421,11 +1421,11 @@ The format is **not** compatible with Icinga 1.x. ### Logging Icinga 1.x supports syslog facilities and writes its own `icinga.log` log file -and archives. These logs are used in Icinga 1.x Classic UI to generate +and archives. These logs are used in Icinga 1.x to generate historical reports. Icinga 2 compat library provides the CompatLogger object which writes the icinga.log and archive -in Icinga 1.x format in order to stay compatible with Classic UI and other addons. +in Icinga 1.x format in order to stay compatible with addons. The native Icinga 2 logging facilities are split into three configuration objects: SyslogLogger, FileLogger, StreamLogger. Each of them has their own severity and target configuration. diff --git a/doc/24-appendix.md b/doc/24-appendix.md index f57c1bf33..aa293d047 100644 --- a/doc/24-appendix.md +++ b/doc/24-appendix.md @@ -133,21 +133,9 @@ command tables. Object | Prefix ------------------------|------------------------ -CheckCommand | check_ -EventCommand | event_ -NotificationCommand | notification_ - -### Status Files - -Status files used by Icinga 1.x Classic UI: `status.dat`, `objects.cache`. - -Icinga 2 specific extensions: - -* host and service objects support 'check_source' (added in Classic UI 1.10.0) -* command objects support custom variables (added in Classic UI 1.11.2) -* host and service objects support 'is_reachable' (added in Classic UI 1.11.3) -* 2.2 adds custom attributes with arrays and dictionaries. They are dumped as JSON encoded string and `_is_json` -is set as additional custom variable in `objects.cache`. +CheckCommand | check\_ +EventCommand | event\_ +NotificationCommand | notification\_ ### DB IDO Schema From 07a93a903612a0f4af2306a656bf0730d030bfd3 Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Fri, 22 Sep 2017 12:28:26 +0200 Subject: [PATCH 3/3] Docs: Add a note for upgrading with removed classicui-config package refs #5301 --- doc/16-upgrading-icinga-2.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/16-upgrading-icinga-2.md b/doc/16-upgrading-icinga-2.md index 5c22f2b43..d8e1ac77e 100644 --- a/doc/16-upgrading-icinga-2.md +++ b/doc/16-upgrading-icinga-2.md @@ -15,6 +15,10 @@ The [setup CLI commands](06-distributed-monitoring.md#distributed-monitoring-set default [ApiListener configuration](06-distributed-monitoring.md#distributed-monitoring-apilistener) have been adjusted to these paths too. +The config meta package `classicui-config` and the configuration files +have been removed. You can keep old packages or manually configure +this legacy interface. + ## Upgrading to v2.7 v2.7.0 provided new notification scripts and commands. Please ensure to