-# Configuration: First Steps <a id="configuration"></a>
+# Configuration <a id="configuration"></a>
-This chapter provides an introduction into best practices for your Icinga 2 configuration.
-The configuration files which are automatically created when installing the Icinga 2 packages
-are a good way to start with Icinga 2.
+The Icinga [configuration](https://icinga.com/products/configuration/)
+can be easily managed with either the [Icinga Director](https://icinga.com/docs/director/latest/),
+config management tools or plain text within the [Icinga DSL](04-configuration.md#configuration).
+
+Before looking into web based configuration or any sort of automation,
+we recommend to start with the configuration files and fully understand
+the possibilities of the Icinga DSL (Domain Specific Language).
+
+The package installation provides example configuration which already
+monitors the local Icinga server. You can view the monitoring details
+in Icinga Web.
+
+
The [Language Reference](17-language-reference.md#language-reference) chapter explains details
on value types (string, number, dictionaries, etc.) and the general configuration syntax.
There are many ways of creating Icinga 2 configuration objects:
+* The [Icinga Director](https://icinga.com/docs/director/latest/) as web based and/or automation configuration interface
* Manually with your preferred editor, for example vi(m), nano, notepad, etc.
-* A configuration tool for Icinga 2 e.g. the [Icinga Director](https://github.com/Icinga/icingaweb2-module-director)
* Generated by a [configuration management tool](13-addons.md#configuration-tools) such as Puppet, Chef, Ansible, etc.
* A custom exporter script from your CMDB or inventory tool
* etc.
Please ensure to have read the [introduction](06-distributed-monitoring.md#distributed-monitoring) at first glance.
If you happen to have further questions, do not hesitate to join the
-[community support channels](https://icinga.com/community/)
+[community forum](https://community.icinga.com)
and ask community members for their experience and best practices.
## Your Configuration <a id="your-configuration"></a>
include_recursive "objects.d"
```
-This approach is used by the [Icinga 2 Puppet module](https://github.com/Icinga/puppet-icinga2).
+This approach is used by the [Icinga 2 Puppet module](https://icinga.com/products/integrations/puppet/).
If you plan to setup a distributed setup with HA clusters and clients, please refer to [this chapter](#06-distributed-monitoring.md#distributed-monitoring-top-down)
for examples with `zones.d` as configuration directory.
```
The `ZoneName` and `TicketSalt` constants are required for remote client
-and distributed setups only.
+and distributed setups. The `node setup/wizard` CLI tools take care of
+populating these values.
### zones.conf <a id="zones-conf"></a>