From 7f28718cadd7ea708342739893b5bbd08f22bd5c Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Fri, 30 Aug 2019 14:04:05 +0200 Subject: [PATCH] Docs: Prefer the Powershell commands on Windows --- doc/06-distributed-monitoring.md | 32 ++++++------ doc/15-troubleshooting.md | 46 ++++++++++++++++-- ...inga2_windows_cmd_admin_net_start_stop.png | Bin 11824 -> 0 bytes 3 files changed, 56 insertions(+), 22 deletions(-) delete mode 100644 doc/images/distributed-monitoring/icinga2_windows_cmd_admin_net_start_stop.png diff --git a/doc/06-distributed-monitoring.md b/doc/06-distributed-monitoring.md index fd05d1f38..e5941ca36 100644 --- a/doc/06-distributed-monitoring.md +++ b/doc/06-distributed-monitoring.md @@ -916,20 +916,26 @@ the following line: > Packages >= 2.9 provide an option in the setup wizard to disable this. > Defaults to disabled. -Validate the configuration on Windows open an administrator terminal +Validate the configuration on Windows open an administrative Powershell and run the following command: ``` -C:\WINDOWS\system32>cd "C:\Program Files\ICINGA2\sbin" -C:\Program Files\ICINGA2\sbin>icinga2.exe daemon -C +C:\> cd C:\Program Files\ICINGA2\sbin + +C:\Program Files\ICINGA2\sbin> .\icinga2.exe daemon -C ``` **Note**: You have to run this command in a shell with `administrator` privileges. -Now you need to restart the Icinga 2 service. Run `services.msc` from the start menu -and restart the `icinga2` service. Alternatively, you can use the `net {start,stop}` CLI commands. +Now you need to restart the Icinga 2 service. Run `services.msc` from the start menu and restart the `icinga2` service. +Alternatively open an administrative Powershell and run the following commands: + +``` +C:\> Restart-Service icinga2 + +C:\> Get-Service icinga2 +``` -![Icinga 2 Windows Service Start/Stop](images/distributed-monitoring/icinga2_windows_cmd_admin_net_start_stop.png) Now that you've successfully installed a Windows agent, please proceed to the [detailed configuration modes](06-distributed-monitoring.md#distributed-monitoring-configuration-modes). @@ -2679,7 +2685,7 @@ By default ICMP requests are disabled in the Windows firewall. You can change that by [adding a new rule](https://support.microsoft.com/en-us/kb/947709). ``` -C:\WINDOWS\system32>netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow +C:\> netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow ``` #### Icinga 2 @@ -2688,7 +2694,7 @@ If your master/satellite nodes should actively connect to the Windows agent you'll also need to ensure that port `5665` is enabled. ``` -C:\WINDOWS\system32>netsh advfirewall firewall add rule name="Open port 5665 (Icinga 2)" dir=in action=allow protocol=TCP localport=5665 +C:\> netsh advfirewall firewall add rule name="Open port 5665 (Icinga 2)" dir=in action=allow protocol=TCP localport=5665 ``` #### NSClient++ API @@ -2697,7 +2703,7 @@ If the [check_nscp_api](06-distributed-monitoring.md#distributed-monitoring-wind plugin is used to query NSClient++, you need to ensure that its port is enabled. ``` -C:\WINDOWS\system32>netsh advfirewall firewall add rule name="Open port 8443 (NSClient++ API)" dir=in action=allow protocol=TCP localport=8443 +C:\> netsh advfirewall firewall add rule name="Open port 8443 (NSClient++ API)" dir=in action=allow protocol=TCP localport=8443 ``` For security reasons, it is advised to enable the NSClient++ HTTP API for local @@ -2709,14 +2715,6 @@ are not recommended with using the legacy HTTP API. The Icinga 2 package on Windows already provides several plugins. Detailed [documentation](10-icinga-template-library.md#windows-plugins) is available for all check command definitions. -Add the following `include` statement on all your nodes (master, satellite, agent): - -``` -vim /etc/icinga2/icinga2.conf - -include -``` - Based on the [master with agents](06-distributed-monitoring.md#distributed-monitoring-master-agents) scenario we'll now add a local disk check. diff --git a/doc/15-troubleshooting.md b/doc/15-troubleshooting.md index 4263d2d66..5422f2c49 100644 --- a/doc/15-troubleshooting.md +++ b/doc/15-troubleshooting.md @@ -108,6 +108,16 @@ You can also start `perfmon` and analyze specific performance counters. Keep notes which could be important for your monitoring, and add service checks later on. +> **Tip** +> +> Use an administrative Powershell to gain more insights. + +``` +cd C:\ProgramData\icinga2\var\log\icinga2 + +Get-Content .\icinga2.log -tail 10 -wait +``` + ## Enable Debug Output ### Enable Debug Output on Linux/Unix @@ -121,6 +131,13 @@ Enable the `debuglog` feature: The debug log file can be found in `/var/log/icinga2/debug.log`. +You can tail the log files with an administrative shell: + +``` +cd /var/log/icinga2 +tail -f debug.log +``` + Alternatively you may run Icinga 2 in the foreground with debugging enabled. Specify the console log severity as an additional parameter argument to `-x`. @@ -133,18 +150,29 @@ and `debug`. ### Enable Debug Output on Windows -Open a command prompt with administrative privileges and enable the debug log feature. +Open a Powershell with administrative privileges and enable the debug log feature. ``` -C:> icinga2.exe feature enable debuglog +C:\> cd C:\Program Files\ICINGA2\sbin + +C:\Program Files\ICINGA2\sbin> .\icinga2.exe feature enable debuglog ``` Ensure that the Icinga 2 service already writes the main log into `C:\ProgramData\icinga2\var\log\icinga2`. -Restart the Icinga 2 service and open the newly created `debug.log` file. +Restart the Icinga 2 service in an administrative Powershell and open the newly created `debug.log` file. ``` -C:> net stop icinga2 -C:> net start icinga2 +C:\> Restart-Service icinga2 + +C:\> Get-Service icinga2 +``` + +You can tail the log files with an administrative Powershell: + +``` +C:\> cd C:\ProgramData\icinga2\var\log\icinga2 + +C:\ProgramData\icinga2\var\log\icinga2> Get-Content .\debug.log -tail 10 -wait ``` ## Configuration Troubleshooting @@ -188,6 +216,14 @@ Object 'localhost!ssh' of type 'Service': [...] ``` +On Windows, use an administrative Powershell: + +``` +C:\> cd C:\Program Files\ICINGA2\sbin + +C:\Program Files\ICINGA2\sbin> .\icinga2.exe object list +``` + You can also filter by name and type: ``` diff --git a/doc/images/distributed-monitoring/icinga2_windows_cmd_admin_net_start_stop.png b/doc/images/distributed-monitoring/icinga2_windows_cmd_admin_net_start_stop.png deleted file mode 100644 index 506d5987d39c2e1e8ce0d26d9ee9147eca41576c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11824 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