]> granicus.if.org Git - icinga2/commitdiff
Add troubleshooting chapter, fix addon chapter.
authorMichael Friedrich <michael.friedrich@gmail.com>
Thu, 22 May 2014 23:01:06 +0000 (01:01 +0200)
committerMichael Friedrich <michael.friedrich@gmail.com>
Thu, 22 May 2014 23:01:06 +0000 (01:01 +0200)
Fixes #5611
Fixes #6275

doc/1-about.md
doc/2-getting-started.md
doc/3-monitoring-basics.md
doc/5-addons-plugins.md [new file with mode: 0644]
doc/6-addons-plugins.md [deleted file]
doc/6-configuring-icinga-2.md [moved from doc/5-configuring-icinga-2.md with 100% similarity]
doc/7-troubleshooting.md [new file with mode: 0644]
doc/8-development.md [deleted file]
doc/8-migration.md [moved from doc/7-migration.md with 100% similarity]

index 3393c9b37b9358895588c0804138887f4e7c0cab..d6d9c852fbb170b4fcec131eab670a91a54094c3 100644 (file)
@@ -27,6 +27,19 @@ is appreciated!
 
 Please get in touch with the Icinga team at [https://www.icinga.org/ecosystem/].
 
+## <a id="development"></a> Icinga 2 Development
+
+You can follow Icinga 2's development closely by checking
+out these resources:
+
+* Development Bug Tracker: [https://dev.icinga.org/projects/i2?jump=issues] ([http://www.icinga.org/faq/how-to-report-a-bug/])
+* Git Repositories: [https://git.icinga.org/?p=icinga2.git;a=summary] (mirror at [https://github.com/Icinga/icinga2])
+* Git Checkins Mailinglist: [https://lists.icinga.org/mailman/listinfo/icinga-checkins]
+* Development Mailinglist: [https://lists.icinga.org/mailman/listinfo/icinga-devel]
+* \#icinga-devel on irc.freenode.net [http://webchat.freenode.net/?channels=icinga-devel] including a Git Commit Bot
+
+For general support questions, please refer to [https://www.icinga.org/support/].
+
 ## <a id="demo-vm"></a> Demo VM
 
 Icinga 2 is available as [Vagrant Demo VM](#vagrant).
index f4dde87dbb65409e9496e9958350586f934c782f..76bf66a3609dca7899248eee130ce04cf1cdcb28 100644 (file)
@@ -4,6 +4,8 @@ This tutorial is a step-by-step introduction to installing Icinga 2 and
 available Icinga web interfaces. It assumes that you are familiar with
 the system you're installing Icinga 2 on.
 
+Details on troubleshooting problems can be found [here](#troubleshooting).
+
 ## <a id="setting-up-icinga2"></a> Setting up Icinga 2
 
 First of all you will have to install Icinga 2. The preferred way of doing this
index d36ff9953c49add6b18e5ebed71e944e27eef323..2e51865141a4a017a4625685aea1573d076a7ff4 100644 (file)
@@ -43,6 +43,8 @@ check command.
 The `address` custom attribute is used by check commands to determine which network
 address is associated with the host object.
 
+Details on troubleshooting check problems can be found [here](#troubleshooting).
+
 ### <a id="host-states"></a> Host States
 
 Hosts can be in any of the following states:
@@ -247,9 +249,10 @@ The user `icingaadmin` in the example below will get notified only on `WARNING`
       email = "icinga@localhost"
     }
 
-If you don't set the `states` and `types`
-configuration attributes for the `User` object, notifications for all states and types
-will be sent.
+If you don't set the `states` and `types` configuration attributes for the `User`
+object, notifications for all states and types will be sent.
+
+Details on troubleshooting notification problems can be found [here](#troubleshooting).
 
 You should choose which information you (and your notified users) are interested in
 case of emergency, and also which information does not provide any value to you and
diff --git a/doc/5-addons-plugins.md b/doc/5-addons-plugins.md
new file mode 100644 (file)
index 0000000..8609987
--- /dev/null
@@ -0,0 +1,57 @@
+# <a id="addons-plugins"></a> Icinga Addons and Plugins
+
+## <a id="addons"></a> Addons
+
+### <a id="addons-graphing-reporting"></a> Graphing Addons
+
+#### <a id="addons-graphing-pnp"></a> PNP
+
+PNP (http://www.pnp4nagios.org) must be configured using the "bulk mode with npcd and npcdmod"
+hence Icinga 2's [PerfdataWriter](#performance-data) acts as npcdmod. NPCD will collect
+the rotated performance data files.
+
+#### <a id="addons-graphing-pnp"></a> inGraph
+
+inGraph (https://www.netways.org/projects/ingraph/wiki) requires only the ingraph-collector
+configured pointed to the perfdata files Icinga 2's [PerfdataWriter](#performance-data) will
+write to the performance data spool directory.
+
+#### <a id="addons-graphing-pnp"></a> Graphite
+
+There are Graphite addons available collecting the performance data files as well. But
+natively you just use the [GraphiteWriter](#graphite-carbon-cache-writer) feature.
+
+#### <a id="addons-reporting"></a> Icinga Reporting
+
+By enabling the DB IDO feature you can use the Icinga Reporting package.
+
+
+### <a id="addons-visualization"></a> Visualization
+
+#### <a id="addons-visualization-nagvis"></a> NagVis
+
+Either using Livestatus or DB IDO as backend you can create your own network maps
+based on your monitoring configuration and status data using NagVis (http://www.nagvis.org).
+
+### <a id="addons-web-interfaces"></a> Web Interfaces
+
+Next to the Icinga supported web interfaces (Classic UI 1.x, Web 1.x, Web 2) there are a
+couple of community provided web interfaces too:
+
+* Thruk (http://www.thruk.org) based on the Livestatus feature
+
+
+
+## <a id="plugins"></a> Plugins
+
+Additional plugins next to the [Monitoring Plugins](https://www.monitoring-plugins.org)
+are available at the [Monitoring Exchange](#https://www.monitoringexchange.org) platform.
+
+More details on the plugins can also be found on the Icinga Wiki at https://www.icinga.org
+
+## <a id="plugin-api"></a> Plugin API
+
+Currently Icinga 2 supports the native plugin API specification from the `Monitoring Plugins`
+project.
+
+The `Monitoring Plugin API` is defined in the [Monitoring Plugins Development Guidelines](https://www.monitoring-plugins.org/doc/guidelines.html).
diff --git a/doc/6-addons-plugins.md b/doc/6-addons-plugins.md
deleted file mode 100644 (file)
index ac7b5cb..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# <a id="addons-plugins"></a> Icinga Addons and Plugins
-
-## <a id="plugin-api"></a> Plugin API
-
-Currently Icinga 2 supports the native plugin API specification from the `Monitoring Plugins`
-project.
-
-The `Monitoring Plugin API` is defined in the [Monitoring Plugins Development Guidelines](https://www.monitoring-plugins.org/doc/guidelines.html).
\ No newline at end of file
diff --git a/doc/7-troubleshooting.md b/doc/7-troubleshooting.md
new file mode 100644 (file)
index 0000000..f4d8c7d
--- /dev/null
@@ -0,0 +1,152 @@
+# <a id="troubleshooting"></a> Icinga 2 Troubleshooting
+
+For a more verbose output of the Icinga 2 daemon increase the
+`severity` attribute of the [logs](#logging) to `notice` or
+`debug`.
+
+Additionally you can enable the debug log using
+
+    # icinga2-enable-feature debuglog
+    # service icinga2 restart
+    # tail -f /var/log/icinga2/debug.log
+
+## <a id="troubleshooting-information-required"></a> Which information is required
+
+* Which distribution and version
+* How was Icinga 2 installed (and which repository in case)
+* Run `icinga2 --version`
+* Provide complete configuration snippets explaining your problem in detail
+* Provide complete logs targetting your problem
+* If the check command failed - what's the output of your manual plugin tests?
+* In case of [debugging](#debug) Icinga 2, the full back traces and outputs
+
+## <a id="checks-not-executed"></a> Checks are not executed
+
+* Check the debug log if the check command gets executed
+* Verify that failed depedencies do not prevent the command execution
+* Make sure that the plugin is executable by the Icinga 2 user (run a manual test)
+
+    # sudo -u icinga /usr/lib/nagios/plugins/check_ping -4 -H 127.0.0.1 -c 5000,100% -w 3000,80%
+
+## <a id="notifications-not-sent"></a> Notifications are not sent
+
+* Check the debug log if a notification is triggered
+* If yes, verify that all conditions are satisfied
+* Any errors on the notification command execution logged?
+
+Verify the following configuration
+
+* Is the host/service the `enable_notifications` attribute set, and if, to which value?
+* Do the notification attributes `states`, `types`, `period` match the notification conditions?
+* Do the user attributes `states`, `types`, `period` match the notification conditions?
+* Are there any notification `begin` and `end` times configured?
+
+* Does the referenced NotificationCommand work executed as Icinga user on the shell?
+
+## <a id="feature-not-working"></a> Feature is not working
+
+* Make sure that the feature configuration is enabled by symlink from `features-available/`
+to `features-enabled` and that the latter is included in [icinga2.conf](#icinga2-conf).
+* Are the feature attributes set correctly according to the documentation?
+* Any errors on the logs?
+
+## <a id="configuration-attribute-inheritance"></a> Configuration attributes are inherited from
+
+Icinga 2 allows you to import templates using the [import](#import) keyword. If these template
+contain additional attributes your objects will automatically inherit them. You can override
+or modify these attributes in the current object.
+
+
+## <a id="check-command-definitions"></a> Where are the check command definitions
+
+Icinga 2 ships additional [plugin check command definitions](#plugin-check-commands) which are
+included using
+
+    include <itl>
+    include <plugins>
+
+in [icinga2.conf](#icinga2-conf). These configurations will be overridden on upgrade, so please
+send modifications as proposed patches upstream. The default include path is set to
+`LocalStateDir + "/share/icinga2/includes"`.
+
+You should add your own command definitions to a new file in `conf.d/` called `commands.conf`
+or similar.
+
+
+## <a id="debug"></a> Debug Icinga 2
+
+Make sure that the debug symbols are available for Icinga 2.
+The Icinga 2 packages provide a debug package which must be
+installed separately for all involved binaries, like `icinga2-bin`
+or `icinga2-ido-mysql`.
+
+    # yum install icinga2-bin-debuginfo icinga2-ido-mysql-debuginfo
+
+Compiled binaries require the `-DCMAKE_BUILD_TYPE=RelWithDebInfo` or
+`-DCMAKE_BUILD_TYPE=Debug` cmake build flags.
+
+### <a id="development-debug-gdb"></a> GDB
+
+Call GDB with the binary and all arguments and run it in foreground.
+
+    # gdb --args /usr/sbin/icinga2 -c /etc/icinga2/icinga2.conf -x
+
+### <a id="development-debug-gdb-run"></a> GDB Run
+
+Run the application.
+
+    (gdb) r
+
+Kill the running application.
+
+    (gdb) k
+
+Continue after breakpoint.
+
+    (gdb) c
+
+### <a id="development-debug-gdb-backtrace"></a> GDB Backtrace
+
+If Icinga 2 aborted its operation abnormally, generate a backtrace.
+
+    (gdb) bt
+    (gdb) bt full
+
+>**Tip**
+>
+> If you're opening an issue at [https://dev.icinga.org] make sure
+> to attach as much details as possible.
+
+
+### <a id="development-debug-gdb-backtrace-stepping"></a> GDB Backtrace Stepping
+
+Identifying the problem may require stepping into the backtrace analysing
+the current scope, attributes and possible unmet requirements. `p` prints
+the value of the selected variable or function call result.
+
+    (gdb) up
+    (gdb) down
+    (gdb) p checkable
+    (gdb) p checkable.px->m_Name
+
+
+### <a id="development-debug-gdb-breakpoint"></a> GDB Breakpoints
+
+Set a breakpoint to a specific function call, or file specific line.
+
+    (gdb) b checkable.cpp:125
+    (gdb) b icinga::Checkable::SetEnablePerfdata
+
+GDB will ask about loading the required symbols later, select `yes` instead
+of `no`.
+
+Then run Icinga 2 until it reaches the first breakpoint. Continue with `c`
+afterwards.
+
+    (gdb) run
+    (gdb) c
+
+If you want to delete all breakpoints, use `d` and select `yes`.
+
+    (gdb) d
+
diff --git a/doc/8-development.md b/doc/8-development.md
deleted file mode 100644 (file)
index f5bad74..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-# <a id="icinga-2-development"></a> Icinga 2 Development
-
-You can follow Icinga 2's development closely by checking
-out these resources:
-
-* Development Bug Tracker: [https://dev.icinga.org/projects/i2?jump=issues] ([How to report a bug](http://www.icinga.org/faq/how-to-report-a-bug/))
-* Git Repositories: [https://git.icinga.org/?p=icinga2.git;a=summary] (mirror at [https://github.com/Icinga/icinga2])
-* Git Checkins Mailinglist: [https://lists.icinga.org/mailman/listinfo/icinga-checkins]
-* Development Mailinglist: [https://lists.icinga.org/mailman/listinfo/icinga-devel]
-* \#icinga-devel on irc.freenode.net [http://webchat.freenode.net/?channels=icinga-devel] including a Git Commit Bot
-
-For general support questions, please refer to [https://www.icinga.org/support/].
-
-
-## <a id="development-debug"></a> Debug Icinga 2
-
-Make sure that the debug symbols are available for Icinga 2.
-The Icinga 2 packages provide a debug package which must be
-installed separately for all involved binaries, like `icinga2-bin`
-or `icinga2-ido-mysql`.
-
-    # yum install icinga2-bin-debuginfo icinga2-ido-mysql-debuginfo
-
-Compiled binaries require the `-DCMAKE_BUILD_TYPE=RelWithDebInfo` or
-`-DCMAKE_BUILD_TYPE=Debug` cmake build flags.
-
-### <a id="development-debug-gdb"></a> GDB
-
-Call GDB with the binary and all arguments and run it in foreground.
-
-    # gdb --args /usr/sbin/icinga2 -c /etc/icinga2/icinga2.conf -x
-
-### <a id="development-debug-gdb-run"></a> GDB Run
-
-Run the application.
-
-    (gdb) r
-
-Kill the running application.
-
-    (gdb) k
-
-Continue after breakpoint.
-
-    (gdb) c
-
-### <a id="development-debug-gdb-backtrace"></a> GDB Backtrace
-
-If Icinga 2 aborted its operation abnormally, generate a backtrace.
-
-    (gdb) bt
-    (gdb) bt full
-
->**Tip**
->
-> If you're opening an issue at [https://dev.icinga.org] make sure
-> to attach as much details as possible.
-
-
-### <a id="development-debug-gdb-backtrace-stepping"></a> GDB Backtrace Stepping
-
-Identifying the problem may require stepping into the backtrace analysing
-the current scope, attributes and possible unmet requirements. `p` prints
-the value of the selected variable or function call result.
-
-    (gdb) up
-    (gdb) down
-    (gdb) p checkable
-    (gdb) p checkable.px->m_Name
-
-
-### <a id="development-debug-gdb-breakpoint"></a> GDB Breakpoints
-
-Set a breakpoint to a specific function call, or file specific line.
-
-    (gdb) b checkable.cpp:125
-    (gdb) b icinga::Checkable::SetEnablePerfdata
-
-GDB will ask about loading the required symbols later, select `yes` instead
-of `no`.
-
-Then run Icinga 2 until it reaches the first breakpoint. Continue with `c`
-afterwards.
-
-    (gdb) run
-    (gdb) c
-
-If you want to delete all breakpoints, use `d` and select `yes`.
-
-    (gdb) d
-
similarity index 100%
rename from doc/7-migration.md
rename to doc/8-migration.md