From 6225d86e1e524e17ddf90a1305233d8492ce69bb Mon Sep 17 00:00:00 2001 From: Lord Hepipud Date: Sat, 22 Aug 2020 14:22:37 +0200 Subject: [PATCH] Improves documentation --- doc/01-Introduction.md | 85 ++++++++++++++++-- doc/02-Installation.md | 8 +- doc/images/02_icons/framework.png | Bin 0 -> 3888 bytes doc/images/02_icons/hyperv.png | Bin 0 -> 3740 bytes doc/images/02_icons/inventory.png | Bin 0 -> 2835 bytes doc/images/02_icons/kickstart.png | Bin 0 -> 904 bytes doc/images/02_icons/mssql.png | Bin 0 -> 3955 bytes doc/images/02_icons/plugins.png | Bin 0 -> 2162 bytes doc/images/02_icons/restapi.png | Bin 0 -> 8647 bytes doc/installation/02-Manual-Installation.md | 4 +- .../03-PowerShell-Gallery-Installation.md | 4 +- doc/installation/04-Icinga-Agent-Wizard.md | 12 +-- 12 files changed, 93 insertions(+), 20 deletions(-) create mode 100644 doc/images/02_icons/framework.png create mode 100644 doc/images/02_icons/hyperv.png create mode 100644 doc/images/02_icons/inventory.png create mode 100644 doc/images/02_icons/kickstart.png create mode 100644 doc/images/02_icons/mssql.png create mode 100644 doc/images/02_icons/plugins.png create mode 100644 doc/images/02_icons/restapi.png diff --git a/doc/01-Introduction.md b/doc/01-Introduction.md index ef46559..c2b2a78 100644 --- a/doc/01-Introduction.md +++ b/doc/01-Introduction.md @@ -1,13 +1,82 @@ -Introduction -=== +# Icinga for Windows -This PowerShell Framework will provide a collection of Cmdlets to entirely manage an Icinga 2 Agent setup and provide check plugins to fetch information from Windows hosts. +Icinga for Windows is the default and official supported solution for monitoring Windows environments and tools. We provide a variety of components to ensure not only the initial installation and configuration is taken care of, but also the update of components including the actual monitoring. -It will ensure all required Icinga configurations are handled and present and offer an easy way to extend the monitoring with custom plugins. The framework will provide a standardised set of Cmdlets, Tools and Providers to make daily work, integrations and testing available to everyone, regardless if you are a Developer, System Engineer or enthusiast. +Get the latest Version from [GitHub](https://github.com/Icinga/icinga-powershell-framework/releases/latest) or [PowerShell Gallery](https://www.powershellgallery.com/packages/icinga-powershell-framework). -The following requirements have to be fullfilled: +## Architecture of the solution -* Windows 7 / Windows 2008 R2 or later -* PowerShell Version 4.x or higher +Icinga for Windows is simply an umbrella name for a bunch of PowerShell modules which have to be installed on the machines directly. Each module is designed to cover certain tasks and use cases, to ensure there is not one huge solution which adds functionality you usually wont use. -If you are ready to get started, take a look at the [Installation Guide](02-Installation.md). +To make sure the solution is extendable, you can install different modules in parallel making use of the other installed Icinga PowerShell modules and extend the abilities or develop your own custom modules. + +## The heart of the solution: Icinga PowerShell Framework + +The Icinga PowerShell Framework is the basic requirement to manage the Icinga Agent and to provide the tool set to execute the PowerShell plugins provided by Icinga. Instead of compiled and complex plugins shipped with the Agent itself, each functionality is separated as module file and loaded during the initialization of the Framework. + +The real benefit is to provide standardized functionality across the board for all current and future plugins/extensions to come including the Icinga Agent management. By doing so, the Framework itself is a huge collection of functions, but decreases the amount of work developers have to invest for creating own plugins or modules. + +## Easy extendability + +Besides the Icinga PowerShell Framework a bunch of different PowerShell modules are already available. They are installed in addition to the Framework and can make use of already available functions - either shipped by the Framework itself or other modules. + +The main goal is to extend the entire Windows monitoring space with a default set of tools every one can use later on to customize the monitoring based on the own needs. + +## Coverage of Icinga for Windows + +### Supported Operating Systems + +We officially support Windows machines running the following operating systems: + +* Windows 8 +* Windows 8.1 +* Windows 10 +* Windows Server 2012 +* Windows Server 2012 R2 +* Windows Server 2016 +* Windows Server 2019 + +It may work on the following systems, but is currently untested, not supported and certain features may not work as expected: + +* Windows 7 +* Windows 2008 R2 + +### Requirements + +#### Minimum Requirements + +In order to make Icinga for Windows work on the above supported machines you will require at least + +* PowerShell 4.0 or later +* .NET Framework 4.0 or later + +If you intend to use the Icinga Agent with the solution, you will require `.NET Framework 4.6 or later` being installed + +#### Recommended + +The recommended environment should contain + +* PowerShell 5.1 or later +* .NET Framework 4.7 or later + +## Available Modules/Extensions + +Below you will find a list of currently available modules published by the Icinga Team. + +### Core Modules + +| Icinga PowerShell Kickstart | Icinga PowerShell Framework | Icinga PowerShell Plugins | +| --- | --- | --- | +| [![Kickstart](images\02_icons\kickstart.png)](https://icinga.com/docs/windows/latest/kickstart/doc/01-Introduction/) | [![Frame](images\02_icons\framework.png)](https://icinga.com/docs/windows/latest/doc/02-Installation/) | [![Frame](images\02_icons\plugins.png)](https://icinga.com/docs/windows/latest/plugins/doc/01-Introduction/) | + +### Extensions + +| Icinga PowerShell REST-Api | Icinga PowerShell Inventory | +| --- | --- | +| [![Rest-API](images\02_icons\restapi.png)](https://icinga.com/docs/windows/latest/restapi/doc/01-Introduction/) | [![Inventory](images\02_icons\inventory.png)](https://icinga.com/docs/windows/latest/inventory/doc/01-Introduction/) | + +### Additional Plugins + +| Icinga PowerShell Hyper-V (soon)| Icinga PowerShell MSSQL (soon) | +| --- | --- | +| ![Hyper-V](images\02_icons\hyperv.png) | ![Inventory](images\02_icons\mssql.png) | diff --git a/doc/02-Installation.md b/doc/02-Installation.md index a5f7154..221f4c0 100644 --- a/doc/02-Installation.md +++ b/doc/02-Installation.md @@ -1,7 +1,9 @@ Installing the Icinga PowerShell Framework === -Installing the Icinga PowerShell Framework is managed by different ways, depending on the user environment including available possibitilies +Installing the Icinga PowerShell Framework is managed by different ways, depending on the user environment including available possibilities. + +Get the latest Version from [GitHub](https://github.com/Icinga/icinga-powershell-framework/releases/latest) or [PowerShell Gallery](https://www.powershellgallery.com/packages/icinga-powershell-framework). Instructions --- @@ -19,11 +21,11 @@ Once the Icinga PowerShell Framework is installed you can try if the installatio Use-Icinga ``` -This command will initialise the entire Icinga PowerShell Framework and load all available Cmdlets. +This command will initialize the entire Icinga PowerShell Framework and load all available Cmdlets. *Note:* Starting with Icinga PowerShell Framework `1.2.0` you can simply use `icinga` to open a Icinga PowerShell Framework shell. -Whenever you intend to use specific Cmdlets of the framework for Icinga Plugins, Testing or configuration you will require to run this command for each new PowerShell instance to initialise the framework. +Whenever you intend to use specific Cmdlets of the framework for Icinga Plugins, Testing or configuration you will require to run this command for each new PowerShell instance to initialize the framework. Icinga Agent installation wizard --- diff --git a/doc/images/02_icons/framework.png b/doc/images/02_icons/framework.png new file mode 100644 index 0000000000000000000000000000000000000000..9dbfe884dd14fde2f4bd82fe08434e0bf7df19f0 GIT binary patch literal 3888 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 eyB;@iC?yWQRbGGh-O7hyM@9tRvk3 literal 0 HcmV?d00001 diff --git a/doc/images/02_icons/hyperv.png b/doc/images/02_icons/hyperv.png new file mode 100644 index 0000000000000000000000000000000000000000..7292cae07f754990a6b49103baf83436829b201b GIT binary patch literal 3740 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 I>^T_sZ-*&GssI20 literal 0 HcmV?d00001 diff --git a/doc/images/02_icons/inventory.png b/doc/images/02_icons/inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..0f60e2b1389014de438a97c4c0937e8e1a11cbc1 GIT binary patch literal 2835 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 literal 0 HcmV?d00001 diff --git a/doc/images/02_icons/kickstart.png b/doc/images/02_icons/kickstart.png new file mode 100644 index 0000000000000000000000000000000000000000..a2a35abf027017b719322fe6587ccf86a2f78632 GIT binary patch literal 904 zcmYjPYfMs696uK>2y{_$`2bBoTPrJHjja!*QWTn&T3AqmK#}&EW~;fGc2jdEQufkn z&D_j#+6bx@lqS-!f?jTIf@Lo&gNQ~go0G6}KeTnWbI$MiKVQzV{PkicgTnv-Ftf8n z8{mx-n?{A_gLIVxUda9p;*~)EEY=MPS|VI01i*M=RzO98oL-(K+YdnK17af&%euD% zK%Sc|5=tr+-$wciVuh@R_X@U?fu!M>G#=SVNt=Vjli0PV=qC-^0XviCOuL2MbqVwy zkG^c;YRTv7*q)(5Q(I>S0>}Sb`BN({+P{tWz7CxTQicxsGsfL_SGhkbd~ug%LXeFg zLQ=jSA1jL~qSZ~WSvGm%(P9-i?R#0Bu>2m&_vv~07w*aI1~7lj95}t%98+Vz{=WCH zNX;gnlRE}Y4CJwlW^tzvAbJ_*X45U(Qsh5=q^MF$CDE2~>S z`J+3*rx{csxS~t;dA^T@ymb`LeBjo_1MQIi=^tCMDJ&?u|2r=zV31NYfxtjb!sZgO zFFC0C6&Zy%XM1mq@NloSc#?y*tm|_q>cA=OVb^X}W+FYgib-lr`lGon1p72*uYksD z>TBz#BB*AZDDn2lVaZTGOq3?o(@+B|ei8xiwTpyyJMlY_)7krBS1G3u))NmgNZHln zP;~l%r_U?kFgtvZ7{RE?D;TA97$NxqMxnDSw8I676+k1Afjerr5vWBoATlH6u8;yH zD4OJ-jRbAg%A-)`YW*;`Z7Bx|iML7bZsa}7f(f&fhC9+bn_*>Z3m+s^<%Cl$nzDib e4FCU+!^5Y5*klv!v@SeE{O#=3>qYvN%G$rolySKL literal 0 HcmV?d00001 diff --git a/doc/images/02_icons/mssql.png b/doc/images/02_icons/mssql.png new file mode 100644 index 0000000000000000000000000000000000000000..cbc220dcbd15fec0ed8913b655a8aef48770f93e GIT binary patch literal 3955 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 N002ovPDHLkV1hBGi4_0< literal 0 HcmV?d00001 diff --git a/doc/images/02_icons/plugins.png b/doc/images/02_icons/plugins.png new file mode 100644 index 0000000000000000000000000000000000000000..458ab61ff54049f18afff700fb211aac617eaf0f GIT binary patch literal 2162 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 literal 0 HcmV?d00001 diff --git a/doc/images/02_icons/restapi.png b/doc/images/02_icons/restapi.png new file mode 100644 index 0000000000000000000000000000000000000000..83bf8a80c8ab5f405cd90828de4df2432c12acca GIT binary patch literal 8647 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 Z_+P_J`c<|;5)1$U002ovPDHLkV1l