Commit Graph

13049 Commits

Author SHA1 Message Date
Julian Brost d892fc77f3
Merge pull request #9036 from Icinga/feature/icingadb-environment
Icinga DB: decouple environment from Icinga 2 Environment constant
2021-11-05 16:15:23 +01:00
Julian Brost 3c8672b4dc Icinga DB: increase Redis schema version
PR #9036 introduces some incompatible changes to the Redis schema, most
importantly where Icinga DB has to read the environment from: now it has to use
a new top-level key of the icinga:stats message instead of a value in the
IcingaApplication part of that message.
2021-11-05 14:14:37 +01:00
Julian Brost 6007848146 IcingaDB: export environment_id via API
Primarily required for Icinga DB integration tests at the moment, but could
also be helpful in other situations.
2021-11-05 14:14:37 +01:00
Julian Brost 4ade4c757b IcingaDB: write new environment to icinga:stats stream 2021-11-05 14:14:37 +01:00
Julian Brost 525dd50859 IcingaDB: introduce a new environment ID derived from the CA public key
In order to avoid changes to the environment ID, it is now no longer derived
from the Environment constant but instead from the public key of the CA
certificate. This ensures that it is different between clusters by default, so
no additional changes have to be done to allow two clusters to use Icinga DB to
write into the same database.

To prevent the ID from changing when the CA certificate is replaced, it is also
persisted into the file /var/lib/icinga2/icingadb.env, so if that file exists,
it takes precedence over the CA certificate.
2021-11-05 14:14:37 +01:00
Julian Brost 6cd3a483a0 tlsutility: move hex encoding into a separate function BinaryToHex 2021-11-05 14:14:37 +01:00
Julian Brost f976e351f4
Merge pull request #9044 from Icinga/bugfix/idb-dump-buf-lost
Icinga DB init. dump: flush both buffered states and state checksums
2021-11-04 12:26:28 +01:00
Julian Brost 6b3a2ee429
Merge pull request #9029 from Icinga/feature/icingadb-history-deterministic-ids
Icinga DB: make icinga:history:stream:*#event_id deterministic
2021-11-03 12:31:21 +01:00
Alexander A. Klimov 0ff7d0a06e Icinga DB: raise icinga:schema 1 -> 2 2021-11-02 15:00:55 +01:00
Alexander A. Klimov b1714a10c2 Icinga DB: make icinga:history:stream:*#event_id deterministic
... i.e. UUID -> SHA1(env, eventType, x...) given that SHA1(env, x...) = type-specific ID.
Rationale: allow both masters to write the same history concurrently (while not
in split-brain), so that REPLACE INTO deduplicates the same events written twice.

* ack: SHA1(env, "ack_set"|"ack_clear", checkable.name, setTime)
* comment: SHA1(env, "comment_add"|"comment_remove", comment.name)
* downtime: SHA1(env, "downtime_start"|"downtime_end", downtime.name)
* flapping: SHA1(env, "flapping_start"|"flapping_end", checkable.name, startTime)
* notification: SHA1(env, "notification", notification.name, notificationType, sendTime)
* state: SHA1(env, "state_change", checkable.name, changeTime)
2021-11-02 15:00:03 +01:00
Alexander A. Klimov 5c44365c4e Icinga DB: make icinga:history:stream:notification#id deterministic
... i.e. UUID -> SHA1(x..., send time) given that SHA1(x...) = notification id.
Rationale: allow both masters to write the same notification history concurrently (while
not in split-brain), so that REPLACE INTO deduplicates the same events written twice.
2021-11-02 15:00:03 +01:00
Alexander A. Klimov c2422c56fe Icinga DB: make icinga:history:stream:state#id deterministic
... i.e. UUID -> SHA1(x..., check time) given that SHA1(x...) = checkable id.
Rationale: allow both masters to write the same state history concurrently (while
not in split-brain), so that REPLACE INTO deduplicates the same events written twice.
2021-11-02 15:00:03 +01:00
Christian Gut b5132a59ef
check_ssl_cert: support --ignore-tls-renegotiation (#9042)
* check_tls_cert: support  --ignore-tls-renegotiation

Extend template, so we can support --ignore-tls-renegotiation

* Update docs
2021-11-02 12:05:30 +01:00
Alexander A. Klimov 8c2483bae9 doc/win-dev.ps1: actually utilize ThrowOnNativeFailure
refs #8935
2021-10-28 15:51:40 +02:00
Alexander Aleksandrovič Klimov f5f8ccb1f4
Merge pull request #9020 from Icinga/feature/icingaeb-schema-version
Icinga DB: publish Redis schema version via XADD icinga:schema
2021-10-25 13:21:37 +02:00
Alexander A. Klimov d8b4768471 Icinga DB init. dump: flush both buffered states and state checksums
not to dump x states, but only x - (x % bulk) state checksums.
2021-10-21 13:49:24 +02:00
Noah Hilverling a7cbf50674
Merge pull request #9030 from Icinga/Al2Klimov-patch-1
Icinga DB: don't include checkable types in history IDs
2021-10-19 14:52:43 +02:00
Alexander Aleksandrovič Klimov f6b26de20d
Merge pull request #9040 from Icinga/bugfix/icinga-db-runtime-state
Icinga DB: stream runtime state updates only to icinga:runtime:state
2021-10-19 14:40:46 +02:00
Alexander A. Klimov 4b0688047e Icinga DB: stream runtime state updates only to icinga:runtime:state
... where they belong to, not to icinga:runtime.
2021-10-18 18:11:30 +02:00
Alexander Aleksandrovič Klimov 99c5c24a17
InfluxdbCommonWriter#Flush(): fix log message
s/InfluxdbWriter/Influxdb2Writer/

fixes #9035
2021-10-14 12:03:45 +02:00
Alexander Aleksandrovič Klimov a7a2f4bed0
Merge pull request #9032 from Napsty/nrpe-payload-size
Add ITL config option for different NRPE payload size/length
2021-10-12 18:11:31 +02:00
Napsty 195fae6113 Add ITL config option for different NRPE payload size/length 2021-10-12 08:29:07 +02:00
Alexander Aleksandrovič Klimov e0339c387b
Icinga DB: don't include checkable types in history IDs
... as they’re unnecessary for being distinguish across types.
Services always have a ! in the name, hosts never do.
2021-10-11 16:14:30 +02:00
Alexander Aleksandrovič Klimov 30a5ba3961
Merge pull request #9002 from Icinga/feature/icingadb-remove-usernotification-stream
Icinga DB: remove usernotification history stream
2021-10-08 19:16:26 +02:00
Alexander Aleksandrovič Klimov 4190d58668
Merge pull request #9011 from Icinga/bugfix/icingadb-remove-zone-parent-key
Icinga DB: Remove unused Redis key 'icinga:zone:parent'
2021-10-08 17:19:51 +02:00
Alexander Aleksandrovič Klimov ff60c1af37
Merge pull request #8895 from Icinga/bugfix/typo-8766
Fix typo
2021-10-08 17:19:20 +02:00
Noah Hilverling 750e64b974 Icinga DB: Remove unused Redis key 'icinga:zone:parent' 2021-10-08 12:06:14 +02:00
Julian Brost df84a498f4 IcingaDB: actually write parent to parent_id of zones
This fixes that the code used the wrong variable. Previously, it was written to
Redis that each zone is its own parent (if it has a parent at all).
2021-10-08 11:15:54 +02:00
Alexander A. Klimov 3bf180a341 Fix typo
refs #8766
2021-10-08 10:27:35 +02:00
Julian Brost 544b9989f0
Merge pull request #8947 from Icinga/Al2Klimov-patch-1
Typo
2021-10-07 18:07:00 +02:00
Alexander Aleksandrovič Klimov 3d5034c8cc
Merge pull request #8924 from peteeckel/fix/check-postgres-itl-8922
[ITL] Added --datadir, --language and --perflimit for check_postgres
2021-10-04 10:50:50 +02:00
Peter Eckel 688de9dce7 [ITL] Added --datadir, --language and --perflimit for check_postgres 2021-10-01 19:53:53 +02:00
Alexander Aleksandrovič Klimov 4dd00c9eac
Merge pull request #9025 from Icinga/probot/update-authors/master/ed50a9d5295d0ceb26abb8155e28f6260b314ee0
Update AUTHORS
2021-10-01 17:43:46 +02:00
icinga-probot[bot] b267a253bd
Update AUTHORS 2021-10-01 15:42:53 +00:00
Alexander Aleksandrovič Klimov ed50a9d529
Merge pull request #9001 from Icinga/feature/icingadb-add-user-ids-to-notification-history
Icinga DB: Write IDs of notified users into notification history stream
2021-10-01 17:42:48 +02:00
Alexander Aleksandrovič Klimov a866b4211f
Merge pull request #9006 from Icinga/enhance-notification-end-time-docs
Doc: Enhance notification `end` time docs
2021-10-01 17:42:30 +02:00
Alexander Aleksandrovič Klimov 63fca8faa1
Merge pull request #9000 from haxtibal/feature/journaldlogger
JournaldLogger - log to systemd journal
2021-10-01 17:42:10 +02:00
RincewindsHat eb05418116
Update sar-perf origin (#8514) 2021-10-01 17:41:23 +02:00
Peter Eckel fd9f69b3a2
Make http_header repeatable (fixes #8573) (#8574)
* Made http_header repeatable (fixes #8573)

* Removed explicit repeat_key option for a default setting

* Fixed closing backtick
2021-10-01 17:40:38 +02:00
Alexander Aleksandrovič Klimov 0c22a84a01
Merge pull request #8927 from peteeckel/fix/check-ssl-cert-itl-8925
[ITL] Added --proxy for check_ssl_cert
2021-10-01 17:38:14 +02:00
Alexander Aleksandrovič Klimov fe363eafcd
Merge pull request #8929 from peteeckel/fix/check-postgresql-itl-8928
[ITL] Added the option to set PGCONTROLDATA for check_postgres
2021-10-01 17:37:34 +02:00
Alexander A. Klimov 0182d793ac Icinga DB: publish Redis schema version via XADD icinga:schema
... to be able both to subscribe for its change and to just fetch it.
2021-10-01 15:58:57 +02:00
Napsty 57bea5e3c4 Add new check_nrpe parameter -D to disable logging to syslog 2021-09-29 09:46:55 +02:00
Alexander Aleksandrovič Klimov 8a704fb0f0
Merge pull request #9015 from Icinga/probot/update-authors/master/13a2490bda59efa692dc059302a300db942a36d4
Update AUTHORS
2021-09-28 09:57:44 +02:00
icinga-probot[bot] cfd871914b
Update AUTHORS 2021-09-27 14:34:05 +00:00
Alexander Aleksandrovič Klimov 13a2490bda
Merge pull request #9013 from RincewindsHat/correct_some_typos
Correct typos in documentation and examples
2021-09-27 16:33:59 +02:00
Alexander Aleksandrovič Klimov 6cf0673c11
Merge pull request #9010 from Icinga/feature/icingadb-scheduling_source
Make CheckResult#scheduling_source available to Icinga DB
2021-09-27 16:31:16 +02:00
RincewindsHat 767464f947 Correct typos in documentation and examples 2021-09-24 14:33:44 +02:00
Tobias Deiminger eb8f67335e Define SD_JOURNAL_SUPPRESS_LOCATION more locally
add_definitions would set SD_JOURNAL_SUPPRESS_LOCATION for all targets
in directory and sub-directories. However, another future target might
want the opposite, so define it as local as possible to journaldlogger.cpp.

To make this work, we must take journaldlogger.cpp out of the unity
build, because all files from a unity of share compiler definitions.
2021-09-23 16:08:39 +02:00
Tobias Deiminger 272191840f Update documentation for JournaldLogger 2021-09-23 16:08:39 +02:00