The former implementation had 5 threads permanently spinning fast (10ms sleep) while waiting for a REST connection to process. This causes higher load in general and it breaks systems where "Turn on PowerShell Script Block Logging policy" is enabled, because then each PS statement including Start-Sleep is logged - resulting in 500 event log entries per second. It's a suggested setting in some hardening guidelines. We can easily replace the Queue with a BlockingCollection backed by a ConcurrentQueue, which has the built-in feature to sleep until there are new items. Now the REST API threads consumes zero CPU time while waiting. |
||
|---|---|---|
| .github/ISSUE_TEMPLATE | ||
| cache | ||
| custom | ||
| doc | ||
| lib | ||
| RoleCapabilities | ||
| templates | ||
| .gitattributes | ||
| .gitignore | ||
| icinga-powershell-framework.psd1 | ||
| icinga-powershell-framework.psm1 | ||
| LICENSE | ||
| PSScriptAnalyzerSettings.psd1 | ||
| README.md | ||
Icinga PowerShell Framework
The Icinga PowerShell Framework provides a wide range of configuration and check possibilities to ensure an easy integration and full monitoring of Windows environments. Each single chapter of this documentation will describe parts of the module and the possibilities.
Before you continue, please take a look at the Installation Guide
Documentation
Please take a look at the following content to get to know the possibilities of the module including examples on how to use it.
- Introduction
- Installation Guide
- Repository Management
- JEA
- Icinga Integration
- Framework Usage Examples
- Icinga PowerShell Framework as Service
- Knowledge Base
- Changelog
Developer Guide
If you wish to extend the Framework by yourself or write custom plugins for your environment, please have a look at the Developer Guide for detailed explanations of functions and code examples.
Contributing
The Icinga PowerShell Framework is an Open Source project and lives from your contributions. No matter whether these are feature requests, issues, translations, documentation or code.
- Please check whether a related issue alredy exists on our Issue Tracker
- Send a Pull Request
- The master branch shall never be corrupt!