The core of our monitoring platform with a powerful configuration language and REST API.
Go to file
Yonas Habteab f66f99516b Checkable: Don't recalculate `next_check` while processing remotely genrated check
Currently, when processing a `CheckResult`, it will first trigger an
`OnNextCheckChanged` event, which is sent to all connected endpoints.
Then, when `Checkable::ProcessCheckResult()` returns, an `OnCheckResult`
event is fired, which is of course also sent to all connected endpoints.

Next, the other endpoints receive the `event::SetNextCheck` cluster
event followed by `event::CheckResult`and invoke
`checkable#SetNextCheck()` and `Checkable#CheckResult()` with the newly
received check. So they also try to recalculate the next check
themselves and invalidate the previously received next check timestamp
from the source endpoint. Since each endpoint randomly initialises its
own scheduling offset, the recalculated next check will always differ by
a split second/millisecond on each of them. As a consequence, two Icinga
DB HA instances will generate two different checksums for the same state
and causes the state histories to be fully resynchronised after a
takeover/Icinga 2 reload.
2024-09-20 12:24:39 +02:00
.github GHA: add openSUSE 15.6 and SLES 15.6 2024-08-06 11:03:02 +02:00
agent Windows agent: Default to lower case FQDN 2020-11-02 14:08:56 +01:00
choco Chocolatey: Add build script for package 2020-03-03 18:48:11 +01:00
cmake Merge pull request #7019 from Icinga/feature/new-json-library 2019-03-18 17:26:57 +01:00
doc Bump Boost shipped for Windows to v1.86 2024-09-17 16:43:42 +02:00
etc Correct typos in documentation and examples 2023-02-14 12:34:10 +01:00
icinga-app Close FDs based on /proc/self/fd 2021-01-12 17:32:28 +01:00
icinga-installer Windows: automatically migrate from mainlog to windowseventlog 2021-06-21 15:15:54 +02:00
itl ITL: apt: render vars.apt_[dist_]upgrade=true as --[dist-]upgrade, not --[dist-]upgrade=true 2022-07-26 18:35:08 +02:00
lib Checkable: Don't recalculate `next_check` while processing remotely genrated check 2024-09-20 12:24:39 +02:00
plugins Replace std/boost::bind() function with lambda expression 2021-03-10 16:29:40 +01:00
test Merge pull request #10128 from Icinga/broken-timeperiod-2.13 2024-09-18 10:36:41 +02:00
third-party Update third-party/nlohmann_json to v3.9.1 2023-07-03 17:40:53 +02:00
tools Bump Boost shipped for Windows to v1.86 2024-09-17 16:43:42 +02:00
.gitattributes Exclude debian/ from git-archive and dist tarballs. 2013-11-11 22:03:31 +01:00
.gitignore SELinux: Let safe-reload run in icinga2_t 2020-02-27 08:45:33 +01:00
.mailmap Update .mailmap 2023-02-16 16:29:58 +01:00
AUTHORS Update AUTHORS 2024-08-06 11:32:36 +02:00
CHANGELOG.md Icinga 2.13.9 2023-12-20 10:11:29 +01:00
CMakeLists.txt CMakeLists.txt: set(CPACK_WIX_INSTALL_SCOPE NONE) 2024-06-12 16:10:54 +02:00
CONTRIBUTING.md GHA: complain if PR adds commits from people not yet listed in ./AUTHORS 2023-11-24 17:26:57 +01:00
COPYING Add newline to COPYING to fix Github license detection 2018-01-17 15:37:18 +01:00
ICINGA2_VERSION Icinga 2.13.9 2023-12-20 10:11:29 +01:00
NEWS icinga.com: Update everything else 2018-10-18 09:50:53 +02:00
README.md Squashed 'third-party/utf8cpp/' changes from 82344d605..79835a5fa 2023-07-03 17:20:34 +02:00
RELEASE.md Merge pull request #9671 from Icinga/docs213 2023-02-16 16:23:21 +01:00
config.h.cmake Use backtrace_symbols() when printing stack traces on FreeBSD 2021-03-01 14:07:09 +01:00
icinga-spec-version.h.cmake Set versions for all internal libraries 2016-08-25 17:56:18 +02:00
icinga-version.h.cmake Fix Windows .exe version v2.12.0 -> 2.12.0 2020-09-11 15:56:51 +02:00
mkdocs.yml Docs: Align local mkdocs config 2019-09-17 12:54:43 +02:00

README.md

Build Status Github Tag

Icinga 2

Icinga Logo

Table of Contents

  1. About
  2. Installation
  3. Documentation
  4. Support
  5. License
  6. Contributing

About

Icinga is a monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting.

Scalable and extensible, Icinga can monitor large, complex environments across multiple locations.

Icinga 2 is the monitoring server and requires Icinga Web 2 on top in your Icinga Stack. The configuration can be easily managed with either the Icinga Director, config management tools or plain text within the Icinga DSL.

Icinga Dashboard

Installation

Once Icinga Server and Web are running in your distributed environment, make sure to check out the many Icinga modules for even better monitoring.

Documentation

The documentation is available on icinga.com/docs.

Support

Check the project website for status updates. Join the community channels for questions or ask an Icinga partner for professional support.

License

Icinga 2 and the Icinga 2 documentation are licensed under the terms of the GNU General Public License Version 2, you will find a copy of this license in the COPYING file included in the source package.

In addition, as a special exception, the copyright holders give permission to link the code of portions of this program with the OpenSSL library under certain conditions as described in each individual source file, and distribute linked combinations including the two.

You must obey the GNU General Public License in all respects for all of the code used other than OpenSSL. If you modify file(s) with this exception, you may extend this exception to your version of the file(s), but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here.

Contributing

There are many ways to contribute to Icinga -- whether it be sending patches, testing, reporting bugs, or reviewing and updating the documentation. Every contribution is appreciated!

Please continue reading in the contributing chapter.

If you are a packager, please read the development chapter for more details.

Security Issues

For reporting security issues please visit this page.