From: Michael Friedrich Date: Thu, 15 Aug 2013 15:50:12 +0000 (+0200) Subject: docs: add migration/compat basics X-Git-Tag: v0.0.3~701 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0b892c123f3b37977a9c6201f130638170b9c2ad;p=icinga2 docs: add migration/compat basics --- diff --git a/docs/.gitignore b/docs/.gitignore index 90b1efcea..1dce93ba6 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -1,12 +1,5 @@ Doxyfile icinga2.html -icinga2-intro.html -icinga2-config.html -icinga2-config-syntax.html -icinga2-config-types.html -icinga2-tutorial.html -icinga2-main.html -icinga2-install.html -icinga2-config.xml +icinga2-*.html icinga2.8 .directory diff --git a/docs/Makefile.am b/docs/Makefile.am index d8b82d704..0e262310a 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -2,6 +2,7 @@ EXTRA_DIST = \ icinga2.adoc \ + icinga2-compat.adoc \ icinga2-config.adoc \ icinga2-config-syntax.adoc \ icinga2-config-types.adoc \ @@ -9,6 +10,7 @@ EXTRA_DIST = \ icinga2-intro.adoc \ icinga2-tutorial.adoc \ icinga2-main.adoc \ + icinga2-migration.adoc \ icinga2.8 icinga2docdir = ${docdir} @@ -22,13 +24,15 @@ man8_MANS = \ if AD_COND_doc icinga2doc_DATA += \ icinga2.html \ + icinga2-compat.html \ icinga2-config.html \ icinga2-config-syntax.html \ icinga2-config-types.html \ icinga2-install.html \ icinga2-intro.html \ icinga2-tutorial.html \ - icinga2-main.html + icinga2-main.html \ + icinga2-migration.html .adoc.html: $(AD_ENV) $(AD_ASCIIDOC) -a toc -a numbered -o $@ $< diff --git a/docs/icinga2-compat.adoc b/docs/icinga2-compat.adoc new file mode 100644 index 000000000..64e345b55 --- /dev/null +++ b/docs/icinga2-compat.adoc @@ -0,0 +1,126 @@ +Icinga 2 Compatibility +====================== + +:keywords: Icinga, documentation, migration +:description: Icinga 2 Migration + +Purpose +------- + +Documentation on the compatibility and changes introduced with Icinga 2. + + +Introduction +------------ + +Unlike Icinga 1.x, all used components (not only those for compatibility) run +asynchronous and use queues, if required. That way Icinga 2 does not get blocked +by any event, action or execution. + +Configuration +------------- + +NOTE: If you are upgrading from Icinga 1.x (or Nagios 3.x+) please note that +Icinga 2 introduces a new configuration format. + +Details on the configuration can be found in chapter link::icinga2-config.html[Configuration] + +Icinga 2 ships a config conversion script which will help you migrating the +existing configuration into the new format. Please look into the +'tools/configconvert' directory and follow the 'README' instructions. + +TIP: If you kept planning to clean up your existing configuration, it may be a +good shot to start fresh with a new configuration strategy based on the Icinga 2 +configuration logic. + +Check Plugins +------------- + +All native check plugins can be used with Icinga 2. The configuration of check +commands is changed due to the new configuration format. + +Classic status and log files +---------------------------- + +Icinga 2 will write status.dat and objects.cache in a given interval like known +from Icinga 1.x - including the logs and their archives in the old format and +naming syntax. That way you can point any existing Classic UI installation to +the new locations (or any other addon/plugin using them). + +External Commands +----------------- + +Like known from Icinga 1.x, Icinga 2 also provides an external command pipe +allowing your scripts and guis to send commands to the core triggering various +actions. + +Some commands are not supported though as their triggered functionality is not +available in Icinga 2 anymore. + +For a detailed list, please check: https://wiki.icinga.org/display/icinga2/External+Commands + + +Performance Data +---------------- + +The Icinga 1.x Plugin API defines the performance data format. Icinga 2 parses +the check output accordingly and writes performance data files based on template +macros. File rotation interval can be defined as well. + +Unlike Icinga 1.x you can define multiple performance data writers for all your +graphing addons such as PNP, inGraph or graphite. + + +IDO DB +------ + +Icinga 1.x uses an addon called 'IDOUtils' to store core configuration, status +and historical information in a database schema. Icinga Web and Reporting are +using that database as their chosen backend. + +Icinga 2 is compatible to the IDO db schema but the the underlaying design of +inserting, updating and deleting data is different - asynchronous queueing, +database transactions and optimized queries for performance. + +Furthermore there is no seperated daemon to receive the data through a socket. +Instead the IDO component queues the data and writes directly into the database +using the native database driver library (e.g. libmysqlclient). Unlike Icinga +1.x libdbi as db abstraction layer is not used anymore. + + +Livestatus +---------- + +Icinga 2 supports the livestatus api while using Icinga 1.x an addon named +'mk_livestatus' was required. + +Next to the GET functionality for retrieving configuration, status and +historical data, Icinga 2 livestatus also supports the COMMANDS functionality. + +TIP: Icinga 2 supports tcp sockets natively while the Icinga 1.x addon only +provides unix socket support. + +Checkresult Reaper +------------------ + +Unlike Icinga 1.x Icinga 2 is a multithreaded application and processes check +results in memory. The old checkresult reaper reading files from disk again is +obviously not required anymore for native checks. + +Some popular addons have been injecting their checkresults into the Icinga 1.x +checkresult spool directory bypassing the external command pipe and +PROCESS_SERVICE_CHECK_RESULT mainly for performance reasons. + +In order to support that functionality as well, Icinga 2 got its optional +checkresult reaper. + +Changes +------- + +This is a collection of known changes in behaviour, configuration and outputs. + +NOTE: May be incomplete, and requires updates in the future. + +TODO + +/* vim: set syntax=asciidoc filetype=asciidoc: */ diff --git a/docs/icinga2-migration.adoc b/docs/icinga2-migration.adoc new file mode 100644 index 000000000..99bd03d6a --- /dev/null +++ b/docs/icinga2-migration.adoc @@ -0,0 +1,39 @@ +Icinga 2 Migration +================== + +:keywords: Icinga, documentation, migration +:description: Icinga 2 Migration + +Purpose +------- + +Documentation on the general migration from Icinga 1.x to Icinga 2. + +Requirements +------------ + +Multi-core cpu, ram, fast disks. + +Installation +------------ + +Icinga 1.x and Icinga 2 may run side by side, but it's recommended to backup +your existing 1.x installation before installing Icinga 2 on the same host. + +Compatibility +------------- + +NOTE: The configuration format changed from 1.x to 2.x. Don't panic though. +A conversion script is shipped in 'tools/configconvert' - please check the +'README' file. + +For details check the chapter link:icinga2-compat.html[Compatibility]. + +Changes +------- + +For details check the chapter link:icinga2-compat.html[Changes]. + +TODO + +/* vim: set syntax=asciidoc filetype=asciidoc: */ diff --git a/docs/icinga2.adoc b/docs/icinga2.adoc index 1ec603bd8..a0acc7c45 100644 --- a/docs/icinga2.adoc +++ b/docs/icinga2.adoc @@ -16,6 +16,12 @@ include::icinga2-intro.adoc[] :leveloffset: 1 include::icinga2-install.adoc[] +:leveloffset: 1 +include::icinga2-migration.adoc[] + +:leveloffset: 1 +include::icinga2-compat.adoc[] + :leveloffset: 1 include::icinga2-tutorial.adoc[]