The core of our monitoring platform with a powerful configuration language and REST API.
Go to file
Tobias Deiminger 173caa42aa Add a JournaldLogger
As proposed in #8857, this adds a Logger subclass that writes structured
log messages via journald's native protocol by calling sd_journal_sendv.
The feature therefore depends on the systemd library. sd_journal_sendv is
available since the early days (systemd v38), so a version check is
probably superflous.

We add the following fields to each record:
- MESSAGE: The log message
- PRIORITY (aka severity): Numeric severity as in RFC5424 section 6.2.1
- SYSLOG_FACILITY: Numeric facility as in RFC5424 section 6.2.1
- SYSLOG_IDENTIFIER: If provided, use value from configuration.
  Else use systemd's default behaior, which is to determine the field
  by using libc's program_invocation_short_name, resulting in "icinga2".
- ICINGA2_FACILITY: Facility as in Log::Log(..., String facility, ...),
  e.g. "ApiListener"
- some more fields are added automatically by systemd

Fields are stored indexed, so we can do fast queries for certain field
values. Example:

$ journalctl -t icinga2 ICINGA2_FACILITY=ApiListener -n 5

Syslog compatiblity is ratained because good old tag, severity and facility
is stored along, and systemd can forward to syslog daemons.

See also https://systemd.io/JOURNAL_NATIVE_PROTOCOL/.
2021-09-23 16:08:11 +02:00
.github GHA: drop EOL Ubuntu groovy 2021-08-02 11:42:44 +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 InfluxdbCommonWriter: actually verify TLS server certificates 2021-08-13 17:24:24 +02:00
etc Introduce Influxdb2Writer 2021-07-20 16:21:36 +02: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 Merge pull request #8683 from BausPhi/feature/command-template-thola 2021-06-24 18:11:38 +02:00
lib Add a JournaldLogger 2021-09-23 16:08:11 +02:00
plugins Replace std/boost::bind() function with lambda expression 2021-03-10 16:29:40 +01:00
test Merge pull request #8815 from Icinga/feature/make-base-value-format-test-easier-to-understand 2021-08-03 11:37:09 +02:00
third-party Fix building with Boost 1.71. 2020-01-25 19:07:44 +01:00
tools Introduce Influxdb2Writer 2021-07-20 16:21:36 +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 2021-07-15 11:24:30 +02:00
AUTHORS Update AUTHORS 2021-08-04 15:31:49 +00:00
CHANGELOG.md CHANGELOG: Add 2.13 changelog 2021-08-02 16:51:45 +02:00
CMakeLists.txt Compile with -D_GNU_SOURCE 2021-03-01 14:07:11 +01:00
CONTRIBUTING.md Docs: enable syntax highlighting 2020-12-09 12:32:09 +01:00
COPYING Add newline to COPYING to fix Github license detection 2018-01-17 15:37:18 +01:00
ICINGA2_VERSION Increase VERSION file 2021-07-30 14:52:58 +02:00
NEWS icinga.com: Update everything else 2018-10-18 09:50:53 +02:00
README.md README.md: remove misleading badge 2021-08-05 11:41:57 +02:00
RELEASE.md RELEASE.md: Re-provision Build Server 2021-07-01 12:16:30 +02: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

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.