Yonas Habteab
cf5ec5e341
Send heartbeat every 20s and not 10s
2020-07-09 13:22:08 +02:00
Yonas Habteab
3ecaf1e4a4
Use executionEnd instead of GetTime()
2020-07-09 10:44:38 +02:00
Alexander A. Klimov
645dcbdc9e
Introduce Endpoint#icinga_version
...
... and set it to e.g. 21200 via icinga::Hello.
2020-07-07 18:24:06 +02:00
Alexander A. Klimov
bbe0f2d8c4
mkclass: make .ti class members atomic if possible
...
... not to have to lock the objects while setting attributes.
2020-07-07 18:24:06 +02:00
Mattia Codato
e8c8a7d9dd
Refactor GetSingleObjectByNameUsingPermissions
2020-07-07 15:45:58 +02:00
Mattia Codato
c304b59990
Add GetSingleObjectByNameUsingPermissions function
2020-07-07 14:23:36 +02:00
Mattia Codato
704aa0f685
Change result
2020-07-06 17:30:18 +02:00
Mattia Codato
33926ba983
Check if executions are not null
2020-07-06 16:21:05 +02:00
Yonas Habteab
24c6210ef2
Fix don't set LC_NUMERIC twice
2020-07-06 13:12:56 +02:00
Mattia Codato
6a5deaf7d4
Fix update executions. Fix code indentation
2020-07-03 16:36:58 +02:00
Mattia Codato
a33560548c
Refactor MacroResolver::OverrideMacros
2020-07-03 15:53:51 +02:00
Mattia Codato
be2701bc8a
Add overrideMacros property to MacroResolver
2020-07-03 15:13:51 +02:00
Mattia Codato
b07471d803
AuthenticatedApiUser name refactor
2020-07-03 11:17:36 +02:00
Mattia Codato
08c6e9bc42
Make authenticatedApiUser a static property of ActionsHandler
2020-07-03 11:00:40 +02:00
Mattia Codato
27a6fd6b40
Get API user from ActionsHandler
2020-07-03 10:16:23 +02:00
Mattia Codato
670835fd9a
Get last CheckResult
2020-07-03 08:43:50 +02:00
Mattia Codato
41b379523e
Fix indentation
2020-07-03 08:38:39 +02:00
Mattia Codato
6102cf0625
Call notificationCommand->Execute
2020-07-02 12:20:16 +02:00
Mattia Codato
f2e9aee158
Update execMacros
2020-07-02 10:31:24 +02:00
Mattia Codato
ee2f7bafdd
Move some checks. Add macros parameters to ExecuteCommand message
2020-07-01 14:27:00 +02:00
Mattia Codato
edbd8688fb
Update status code
2020-07-01 08:19:35 +02:00
Mattia Codato
cb32786880
Use RelayMessage to broadcast the updated executions
2020-06-30 17:50:08 +02:00
Mattia Codato
626080f610
Remove unnecessary check
2020-06-30 15:53:25 +02:00
Mattia Codato
15dac85583
Use HttpUtility::GetLastParameter to get endpoint
2020-06-30 15:51:15 +02:00
Mattia Codato
8f3617d074
Fix response strings
2020-06-30 15:48:29 +02:00
Mattia Codato
5c06256ac5
Use dynamic_pointer_cast
2020-06-30 15:41:47 +02:00
Mattia Codato
94be948ff6
Unify how to take macros parameter
2020-06-30 13:51:42 +02:00
Mattia Codato
e4e0115c9d
Get local endpoint if FromClient is not set and origin is local
2020-06-30 13:47:13 +02:00
Mattia Codato
22dc2f2393
Use SyncSendMessage for remote endpoint and call ExecuteCommandAPIHandler for local endpoint
2020-06-30 13:43:00 +02:00
Mattia Codato
7077605880
Use the right method to get the notification command
2020-06-29 13:55:20 +02:00
Mattia Codato
3f1b51b355
Use RelayMessage instead of SyncSendMessage
2020-06-29 09:28:02 +02:00
Mattia Codato
da82c17891
Call Endpoint::GetByName only once
2020-06-26 16:38:40 +02:00
Mattia Codato
50693d7ea9
Add newline at the end of file
2020-06-26 16:36:57 +02:00
Mattia Codato
fd761397ac
Unify result status strings
2020-06-26 15:39:42 +02:00
Mattia Codato
899076c77b
Code format
2020-06-26 14:29:03 +02:00
Mattia Codato
35bb329a59
Implement ClusterEvents::UpdateExecutionsAPIHandler
2020-06-26 12:33:44 +02:00
Mattia Codato
82444a59e2
Fix resolve macros. Check if endpoint is local or remote
2020-06-26 12:32:12 +02:00
Mattia Codato
714e75bbd1
Remove wait parameter, ttl is required, remove unnecessary checks
2020-06-26 09:33:23 +02:00
Benjamin Groeber
cc6fa66ba6
Allow apiactions to return sucecss http codes different from 200
2020-06-23 11:52:22 +02:00
Benjamin Groeber
e9b6c68fd5
Use tabs instead of spaces
2020-06-23 11:44:26 +02:00
Benjamin Groeber
2bb6f9d38d
Fix formatting of long fn
2020-06-23 11:41:49 +02:00
Benjamin Groeber
159e3d2945
Remove superfluous else clause
2020-06-23 11:41:15 +02:00
Andrea Avancini
823fe34d24
Parameter evaluation, macro resolution, update executions, send ExecuteCommand message for ExecuteCommand Endpoint
2020-06-18 15:27:31 +02:00
Alexander A. Klimov
19c632e44b
Add timeout for boost::asio::ssl::stream#async_shutdown()
...
refs #7203
2020-06-17 10:33:35 +02:00
Alexander A. Klimov
647f1547a9
Generalize I/O timeout emulation
2020-06-17 10:31:40 +02:00
Noah Hilverling
df43cf573c
Merge pull request #8053 from Icinga/bugfix/segfault-map-reduce-filter-null-8047
...
Ensure the custom function is not null in Array#{sort,map,reduce,filter,any,all}()
2020-06-16 15:25:11 +02:00
Henrik Triem
f2765d54ce
Merge pull request #8015 from Icinga/bugfix/streamlogger-flush-lock
...
StreamLogger#Flush(): lock self
2020-06-09 14:26:50 +02:00
Alexander A. Klimov
9c85401914
Ensure the custom function is not null in Array#{sort,map,reduce,filter,any,all}()
...
refs #8047
2020-06-09 12:35:04 +02:00
Alexander A. Klimov
11c6c11076
Add Checkable#last_check_started
...
refs #7888
2020-06-09 12:03:02 +02:00
Alexander A. Klimov
cd2ffd175b
CheckerComponent#Stop(): don't wait for checks
...
refs #7888
2020-06-09 12:03:02 +02:00
Noah Hilverling
45ee6b3b71
Merge pull request #7995 from Icinga/bugfix/pki-save-cert-key-7992
...
icinga2 pki save-cert: allow to specify --key and --cert
2020-06-03 15:51:18 +02:00
Noah Hilverling
84b052b314
Merge pull request #7926 from Icinga/bugfix/jsonrpcconnection-handleandwriteheartbeats-m_endpoint-getname
...
JsonRpcConnection#HandleAndWriteHeartbeats(): check !!#m_Endpoint
2020-06-03 15:46:38 +02:00
Alexander A. Klimov
9cb3779ec2
Add stub for event::UpdateExecutions
...
refs #8034
2020-06-02 17:16:30 +02:00
Alexander A. Klimov
120440b84f
Introduce Checkable#executions
...
refs #8034
2020-06-02 17:09:13 +02:00
Alexander A. Klimov
d6fad3232b
Introduce Checkable#pending_executions
...
refs #8034
2020-06-02 16:59:42 +02:00
Alexander A. Klimov
fc220bac69
Add stub for event::ExecutedCommand
...
refs #8034
2020-06-02 13:44:15 +02:00
Alexander A. Klimov
3f07dd6cae
Add stub for event::ExecuteCommand w/ source
...
refs #8034
2020-06-02 11:52:58 +02:00
Alexander A. Klimov
752df8ea28
Add stub for /v1/actions/execute-command
...
refs #8034
2020-06-02 11:43:32 +02:00
Alexander A. Klimov
5b7f7344df
/v1/actions/add-comment: add param expiry
...
refs #4663
2020-05-27 11:41:22 +02:00
Noah Hilverling
7395465089
Merge pull request #8014 from Icinga/bugfix/icinga-db-ack-expire-8012
...
Icinga DB: record ack expiries
2020-05-19 11:16:28 +02:00
Alexander A. Klimov
f21b60e390
StreamLogger#Flush(): lock self
...
... just to be sure.
2020-05-15 15:33:37 +02:00
Alexander A. Klimov
c4a8afbe5f
Icinga DB: record ack expiries
...
refs #8012
2020-05-15 12:02:51 +02:00
Alexander A. Klimov
fc72cca70e
Icinga DB: don't use the work queue for publishing stats
2020-05-15 11:17:25 +02:00
Alexander A. Klimov
127961b727
PluginUtility::ParseCheckOutput(): if it doesn't look like perfdata, it's not perfdata
...
refs #8006
2020-05-14 10:53:13 +02:00
Alexander A. Klimov
3617f05836
icinga2 pki save-cert: allow to specify --key and --cert
...
refs #7992
2020-04-28 17:34:00 +02:00
Noah Hilverling
d5d89b7f39
Merge pull request #7970 from Icinga/bugfix/reconnect-loop
...
RequestCertificateHandler(): don't disconnect nodes already integrated into the cluster
2020-04-27 13:05:22 +02:00
Alexander A. Klimov
35f25e99b4
IcingaDB::SerializeState(): include whether an ack is sticky
2020-04-20 14:53:55 +02:00
Alexander A. Klimov
5a5cf1a2eb
RequestCertificateHandler(): don't disconnect nodes already integrated into the cluster
...
... not to cause a reconnect loop.
2020-04-08 13:29:55 +02:00
Alexander Aleksandrovič Klimov
2e22ceb23e
Merge pull request #7936 from Icinga/bugfix/config-sync-failed-reload-7742
...
ApiListener::ConfigUpdateHandler(): make the whole process mutually exclusive
2020-04-07 15:55:14 +02:00
Alexander A. Klimov
720a88c29a
PerfdataValue: add UoMs
...
* {,{K,M,G,T,P,E,Z,Y}{,i}}B
=> bytes
* {,{k,m,g,t,p,e,z,y}{,i}}b
=> bits
* packets
* {n,u,m,}s m h d
=> seconds
* {n,u,m,,k,M,G,T,P,E,Z,Y}{{A,O,V,W},{A,W}{s,m,h}}
=> amperes, ohms, volts, watts, ampere-seconds, watt-hours
* lm dBm
=> lumens decibel-milliwatts
* {n,u,m,,k}g t
=> grams
* C F K
=> degrees-celsius, degrees-fahrenheit, degrees-kelvin
* {m,,h}l
=> liters
refs #7225
2020-04-03 12:47:36 +02:00
Markus Frosch
b5fa7569f2
apilistener: Make SO_REUSEPORT optional
2020-03-31 18:03:59 +02:00
Michael Insel
51e534ff4c
Fix CA verification regression
...
Uninitialized bool values may evaluate to true while it should be false.
2020-03-29 16:05:29 +02:00
Alexander A. Klimov
8050bd9e76
PerfdataValue#Parse(): don't complain on unknown UoMs
...
refs #7225
2020-03-25 13:05:22 +01:00
Alexander A. Klimov
38f3108c1a
ApiListener::HandleConfigUpdate(): make the whole process mutually exclusive
...
refs #7742
2020-03-23 17:33:14 +01:00
Alexander A. Klimov
dc3062a9b0
ApiListener::ConfigUpdateHandler(): block as less as possible
...
refs #7742
2020-03-23 17:31:59 +01:00
Alexander A. Klimov
210acfbf1d
Livestatus: append app name to program_version
...
refs #7895
2020-03-19 10:33:01 +01:00
Alexander A. Klimov
5e7a675009
JsonRpcConnection#HandleAndWriteHeartbeats(): check !!#m_Endpoint
2020-03-18 11:58:27 +01:00
Noah Hilverling
595ffc438e
Icinga DB - Flapping history: Add percent_state_change_start/end
2020-03-10 14:44:08 +01:00
Noah Hilverling
5ec31aed14
Downtime, Comment, Notification: Add host_id, if object_type is service
2020-03-09 10:50:02 +01:00
Noah Hilverling
4c9e4959f3
Merge pull request #7823 from Icinga/bugfix/unify-application-start-times
...
Fix timing point for Application::GetStartTime() (related to command endpoint grace period)
2020-03-09 09:45:57 +01:00
Alexander A. Klimov
aa258685be
Checkable#next_update: always use #check_interval if !#enable_active_checks
2020-03-06 10:03:56 +01:00
Noah Hilverling
e4c920b69e
Merge pull request #7887 from Icinga/bugfix/icingadb-sendevent
...
Drop IcingaDB#HandleEvents()
2020-03-05 16:22:22 +01:00
Alexander A. Klimov
0e24462064
Fire Checkable::OnFlappingChange only if flapping is enabled
...
refs #7885
2020-03-04 14:58:32 +01:00
Alexander A. Klimov
ff0efbc2a2
Drop IcingaDB#HandleEvents()
2020-03-04 14:37:17 +01:00
Alexander A. Klimov
54d555bd92
Drop IcingaDB#SendEvent()
2020-03-04 14:36:43 +01:00
Alexander A. Klimov
867481de7c
Connect IcingaDB::StateChangeHandler to Checkable::OnAcknowledgementSet instead of calling it in IcingaDB#SendEvent()
2020-03-04 14:36:07 +01:00
Alexander A. Klimov
efa548fbdf
Connect IcingaDB::UpdateState to Checkable::OnNewCheckResult instead of calling it in IcingaDB#SendEvent()
2020-03-04 14:34:43 +01:00
Noah Hilverling
cef4c46ba8
Merge pull request #7886 from Icinga/bugfix/icingadb-flapping-history-more-ends-than-starts-7885
...
IcingaDB: make signal handlers synchronous
2020-03-04 13:39:31 +01:00
Alexander A. Klimov
0d58f87b37
IcingaDB: make signal handlers synchronous
...
refs #7885
2020-03-04 11:09:35 +01:00
Noah Hilverling
8f061ae80e
Fix OnHostProblemChanged signal
2020-03-04 10:55:07 +01:00
Noah Hilverling
6e3c928205
Merge pull request #7837 from Icinga/bugfix/coroutine-exception
...
IoEngine#SpawnCoroutine(): always terminate coroutines cleanly
2020-03-03 11:19:18 +01:00
Noah Hilverling
c9ab04d511
Merge pull request #7841 from Icinga/bugfix/jsonrpcconnection-sendmessage-keepalive
...
JsonRpcConnection#Send*Message(): keep this alive
2020-03-03 10:46:33 +01:00
Noah Hilverling
b6b7856796
Merge pull request #7861 from Icinga/bugfix/command-endpoint-check-timeout
...
Fix 'check_timeout' not being forwarded to agent command endpoints
2020-02-28 17:42:22 +01:00
Michael Friedrich
13d2416e29
Fix regression from JsonRPC PKI CA verification checks
...
refs #7835
2020-02-27 12:31:02 +01:00
Michael Friedrich
8e62fc8efb
Fix 'check_timeout' not being forwarded to agent command endpoints
...
fixes #6992
2020-02-27 11:46:52 +01:00
Michael Friedrich
06d0c3ea4e
Merge pull request #7843 from Icinga/feature/cli-pki-verify
...
CLI: Add `pki verify` command for better TLS certificate troubleshooting
2020-02-25 09:07:24 +01:00
Michael Friedrich
fdb13d1b7d
TlsUtility: Replace deprecated OpenSSL function with ASN1_STRING_get0_data()
2020-02-21 13:02:58 +01:00
Michael Friedrich
456b0779bb
JsonRpcConnection PKI: Document swalled exception
2020-02-20 15:15:54 +01:00
Michael Friedrich
12b6c1aab9
CLI: Improve error handling for 'pki verify' command
2020-02-20 15:10:57 +01:00
Alexander A. Klimov
63a8c1b7ef
Log: trim trailing newlines
...
refs #7828
2020-02-19 11:27:58 +01:00
Alexander A. Klimov
0f84ce0470
Consider a JsonRpcConnection being seen on a single byte of TLS payload, not only a whole message
2020-02-19 11:11:53 +01:00
Alexander A. Klimov
b65aed1dd3
IoEngine#SpawnCoroutine(): always terminate coroutines cleanly
2020-02-19 10:51:26 +01:00
Michael Friedrich
e4e26d66a6
Build fix
2020-02-17 18:40:28 +01:00
Michael Friedrich
6f263a4922
Add `pki verify` CLI command: print, signed by CA, valid CA, CN match
2020-02-17 18:10:51 +01:00
Michael Friedrich
a91b9f2ddf
Pki: Extend GetCertificateInformation() with version, serial, signature algorithm, SANs
2020-02-17 17:44:10 +01:00
Michael Friedrich
24397fbee8
CA Proxy: Catch exceptions from VerifyCertificate()
2020-02-17 17:43:11 +01:00
Michael Friedrich
548eb933c9
TlsUtility: Add getters for version, signature algorithm, SANs
2020-02-17 17:42:20 +01:00
Henrik Triem
099cc5d8df
Merge pull request #7833 from Icinga/feature/version-build-info-openssl
...
CLI: Add OpenSSL version to 'Build' section in --version
2020-02-17 17:07:51 +01:00
Alexander A. Klimov
fbce756007
JsonRpcConnection#Send*Message(): keep this alive
2020-02-17 16:12:07 +01:00
Michael Friedrich
cfd9b80027
Merge pull request #7838 from Icinga/bugfix/catch-exception-in-node-setup
...
Catch exception when trusted cert is not readable during node setup on agent/satellite
2020-02-14 09:51:17 +01:00
Michael Friedrich
71c7eebe4e
CLI: Add OpenSSL version to 'Build' section in --version
...
This helps to see against which OpenSSL version Icinga was built.
Inspired by #5572
2020-02-14 08:55:39 +01:00
Michael Insel
e4f25269fe
Fix Build
...
I have no idea how this got lost.
2020-02-14 07:56:23 +01:00
Michael Insel
90ac6cd9a1
CLI: Catch exception when trusted cert is not readable
...
This catches an exception when the trusted cert is not readable during
node setup.
2020-02-13 20:03:17 +01:00
Michael Friedrich
82e055bfb6
CLI: Clean up 'pki save-cert' command and remove deprecated params
...
This got obsoleted 4 years ago in a monster commit.
b297e8cfa7
2020-02-13 16:14:01 +01:00
Michael Friedrich
e1557def94
CLI: Verify --trustedcert being a client, non CA certificate in 'node setup'
...
This commit also cleans some shell output with master vs. parent.
2020-02-13 16:09:16 +01:00
Michael Friedrich
a7436394cd
TlsUtility: Add IsCa() function to verify given certificate being a CA certificate
2020-02-13 16:03:43 +01:00
Michael Friedrich
d53eb34520
Unify Application::GetStartTime() and drop GetMainTime()
...
This essentially moves the start time into the scope when main
starts to "do something", after the reload and configuration handling
is done.
2020-02-11 17:26:15 +01:00
Michael Friedrich
57facbddd5
Merge pull request #7697 from Icinga/bugfix/icingadb-compiler-warnings
...
IcingaDB: Fix enumeral mismatch compiler warnings
2020-02-11 17:22:28 +01:00
Michael Friedrich
ae8a0b6a64
Introduce Application::GetUptime()
2020-02-11 16:47:50 +01:00
Michael Friedrich
3a4fb840d4
Tests: Add multi parent dependency test case
2020-02-11 15:13:25 +01:00
Michael Friedrich
9b0365ab43
Fix logical error with zero dependencies in IsReachable()
2020-02-11 15:13:25 +01:00
Henrik Triem
d0c0beb8be
Change behaviour of multiple dependencies (all failed = unreachable)
2020-02-11 15:13:25 +01:00
Michael Insel
5930d640e4
IcingaDB: Fix enumeral mismatch compiler warnings
...
This fixes 3 enumeral mismatch compiler warnings when building the
IcingaDB target.
2020-02-10 18:56:11 +01:00
Michael Friedrich
2f82047737
Merge pull request #7769 from Icinga/bugfix/m_lexbuffer
...
Make ConfigCompiler#m_LexBuffer a String
2020-02-10 16:27:42 +01:00
Michael Friedrich
04edda531c
Merge pull request #7788 from Icinga/bugfix/windows-timeout-unknown-state
...
Terminate windows check processes with UNKNOWN state on timeout
2020-02-10 15:34:28 +01:00
Michael Friedrich
ccd354c16c
Merge pull request #7810 from Icinga/bugfix/spawncoroutine-copy
...
IoEngine#SpawnCoroutine(): don't copy parameter
2020-02-10 15:31:31 +01:00
Michael Friedrich
d99f76bdae
Merge pull request #7767 from Icinga/bugfix/replay-log-windows-rename
...
Ensure that log replay files are properly renamed on Windows
2020-02-10 11:42:25 +01:00
Michael Friedrich
8324970ab9
Merge pull request #7809 from Icinga/bugfix/handshake-timeout-7805
...
Close connections w/o sucessful TLS handshakes during 10s
2020-02-07 16:01:30 +01:00
Michael Friedrich
7488d2614b
Merge pull request #7811 from Icinga/bugfix/config-sync-log
...
Cluster config sync: Use a more friendly message when configs are equal and don't need a reload
2020-02-06 14:32:46 +01:00
Michael Friedrich
bf2d6abfad
Merge pull request #7747 from Icinga/bugfix/heartbeat-unauthenticated-7746
...
Don't send event::Heartbeat to unauthenticated peers
2020-02-06 14:32:25 +01:00
Michael Friedrich
f961370e36
ApiEvents: Fix AcknowledgementCleared code quality
2020-02-06 13:03:04 +01:00
Alexander A. Klimov
35c9f2e7b3
Close connections w/o sucessful TLS handshakes during 10s
...
refs #7805
2020-02-05 15:53:56 +01:00
Alexander A. Klimov
0ed0f73d9d
IoEngine#SpawnCoroutine(): remove redundand overload
2020-02-05 15:31:57 +01:00
Michael Friedrich
cdfc6e6f50
Cluster config sync: Use a more friendly message when configs are equal and don't need a reload
...
This also adds an entry to the troubleshooting docs.
2020-02-05 15:31:41 +01:00
Alexander A. Klimov
d98493c90f
IoEngine#SpawnCoroutine(): don't copy parameter
2020-02-05 15:30:03 +01:00
Noah Hilverling
572c912c96
Merge pull request #7804 from Icinga/bugfix/not-overdue-active-checks-disabled-7790
...
Checkable#next_update: ignore re-scheduled #next_check if !#enable_active_checks
2020-01-31 14:17:30 +01:00
Alexander Aleksandrovič Klimov
431e4f64c9
Merge pull request #7794 from Icinga/bugfix/icingadb-fix-last-update
...
IcingaDB: Fix last_update
2020-01-31 12:12:49 +01:00
Alexander A. Klimov
86bbb79869
Checkable#next_update: ignore re-scheduled #next_check if !#enable_active_checks
...
refs #7790
2020-01-31 11:49:47 +01:00
Noah Hilverling
b77bc7b963
IcingaDB: Fix last_update
2020-01-29 14:43:29 +01:00
Michael Friedrich
5812dae55b
Dev: Allow to delay main worker process in order to attach with LLDB
...
Introduce `-DInternal.DebugWorkerDelay=120` and sleep inside `RunWorker()`.
Rationale: With 2.11 we've introduced a real umbrella process where the
main process is spawned as child fork. Running icinga2 in foreground on
a macOS shell with LLDB will now exit, and not follow the child process.
LLDB doesn't support `follow-fork-mode child` like GDB and therefore we
need to:
- Print the child process PID
- Sleep for X seconds to allow the developer to run `lldb -p <PID>`, set breakpoints, etc.
This commit also documents all available debug build enabled internal constants.
2020-01-29 13:21:05 +01:00
Michael Insel
d7dfa6f1df
Terminate windows check processes with UNKNOWN state on timeout
...
On Windows this terminates checks that reached the timeout with the UNKNOWN
state instead the WARNING state.
Co-authored-by: araujorm <araujorm@users.noreply.github.com>
2020-01-27 21:43:01 +01:00
Michael Friedrich
e1939368b2
Merge pull request #7765 from Icinga/bugfix/opentsdb-graphite-reconnect
...
Graphite/OpenTSDB: Ensure that Reconnect failure is detected
2020-01-27 14:32:26 +01:00
Alexander A. Klimov
530d84ae3b
Make ConfigCompiler#m_LexBuffer a String
...
... to reduce malloc()s.
2020-01-21 13:38:59 +01:00
Michael Friedrich
0da46c1d4b
Ensure that log replay files are properly renamed on Windows
...
rename() without _unlink() before doesn't work on Windows.
This commits also adds an error message which was swallowed
previously.
2020-01-20 11:41:43 +01:00
Michael Friedrich
3533ddd010
Graphite/OpenTSDB: Ensure that Reconnect failure is detected
...
fixes #7729
2020-01-18 17:09:09 +01:00
Noah Hilverling
0d28ef5abe
IcingaDB::UpdateState: Check for Redis connection before calling FireAndForgetQuery()
2020-01-17 13:53:05 +01:00
Alexander Aleksandrovič Klimov
f11cccf874
Merge pull request #7760 from Icinga/bugfix/icingadb-manually-rescheduling-a-check-does-not-update-next_update-and-next_check-7707
...
IcingaDB: Fix rescheduling a check not always updating state in Redis
2020-01-16 11:58:28 +01:00
Noah Hilverling
cbe1c181a1
IcingaDB: Fix rescheduling check not always updating state in Redis
...
fixes #7707
2020-01-16 10:51:56 +01:00
Michael Friedrich
8f5375d2bb
Use IoEngine::Spawn wrapper in RedisConnection class
...
This avoids multiple locations for `asio::spawn` calls.
2020-01-16 09:53:24 +01:00
Alexander A. Klimov
3d841d5f64
Don't send event::Heartbeat to unauthenticated peers
...
refs #7746
2020-01-13 11:21:38 +01:00
Eric Lippmann
cb21086d6c
Merge pull request #7737 from Icinga/bugfix/revert-notification-result
...
Revert NotificationResult
2020-01-09 10:06:39 +01:00
Noah Hilverling
6575ce920e
Merge pull request #7721 from Icinga/bugfix/icingadb-pending
...
IcingaDB: suppress state sync until config sync finished
2020-01-08 17:30:22 +01:00
Stuart Henderson
6744b1af54
cope with OS which don't fill in si_pid in siginfo
...
Icinga processes check si_pid on IPC signals to ensure that the signal
comes from an expected process. OpenBSD doesn't currently fill in si_pid
in siginfo (leaving it 0) so signals never pass this check, resulting
in startup failing to complete (the worker doesn't see the umbrella's
signal and vice-versa) - issue #7505 .
Relax the requirement so that either 0 or the wanted pid is accepted.
2020-01-07 22:08:38 +00:00
Noah Hilverling
275ab08303
IcingaDB - Runtime updates: Use one pub/sub channel per config object type
2020-01-07 16:40:29 +01:00
Michael Friedrich
7e1e8b3393
Revert "Add NotificationResult class"
...
This reverts commit 9621fd2e4b
.
2020-01-07 14:26:09 +01:00
Michael Friedrich
3605076f8b
Revert "Add OnNewNotificationResult signal and ProcessNotificationResult handler"
...
This reverts commit ac483f2a8a
.
2020-01-07 14:26:07 +01:00
Michael Friedrich
152709071d
Revert "Implement last_notification_result handling for Notification objects"
...
This reverts commit 1706b297a5
.
2020-01-07 14:21:06 +01:00
Michael Friedrich
d242b41704
Revert "Make NotificationResult available for events: Cluster and Features"
...
This reverts commit 566e59bbfa
.
2020-01-07 14:20:59 +01:00
Michael Friedrich
55e13fd001
Revert "Fix license headers"
...
This reverts commit 48b3d25ce2
.
2020-01-07 14:20:45 +01:00
Alexander A. Klimov
f6f7d9b635
IcingaDB: suppress state sync until config sync finished
2019-12-18 13:41:56 +01:00
Michael Friedrich
387c2c8b79
Merge pull request #7717 from Icinga/bugfix/redisconnection-shared_ptr
...
RedisConnection: replace std::shared_ptr<T> with Shared<T>::Ptr
2019-12-18 13:32:16 +01:00
Michael Friedrich
cbbff6b37d
Merge pull request #7716 from Icinga/bugfix/redisconnection-long-logs
...
RedisConnection: shorten log messages
2019-12-18 13:31:51 +01:00
Alexander A. Klimov
de5b3eb2c7
RedisConnection: replace std::shared_ptr<T> with Shared<T>::Ptr
2019-12-17 12:13:30 +01:00
Alexander A. Klimov
955b612703
RedisConnection: shorten log messages
2019-12-17 11:49:54 +01:00
Alexander A. Klimov
b1cc0cd767
Document RedisConnection
2019-12-17 11:44:00 +01:00
Michael Friedrich
cd44c5371a
Merge pull request #7713 from Icinga/bugfix/coroutine-stack-size-linux
...
Boost Coroutines: Increase the default stack size from 64 to 256KB
2019-12-13 17:30:23 +01:00
Michael Friedrich
f62f2eb25e
Boost Coroutines: Increase the default stack size from 64 to 256KB
...
refs #7532
2019-12-13 17:20:06 +01:00
Alexander A. Klimov
c6ea9bc7fe
IcingaDB: update icinga:nextupdate:* on Checkable#next_check changes
...
refs #7707
2019-12-10 16:11:51 +01:00
Noah Hilverling
77e02031f9
Merge pull request #7690 from Icinga/feature/flapping-acknowledgement-start-time-7689
...
IcingaDB: include consistent IDs, start time and end time in icinga:history:stream:{flapping,acknowledgement}
2019-12-10 14:49:17 +01:00
Noah Hilverling
ee40fedb2a
Merge pull request #7700 from Icinga/bugfix/icingadb-don-t-hash-hashes-7692
...
IcingaDB: don't hash hashes
2019-12-10 13:39:12 +01:00
Alexander A. Klimov
78189d70ef
IcingaDB: don't hash hashes
...
refs #7692
2019-12-10 11:23:05 +01:00
Alexander A. Klimov
d69cb676a7
Introduce IcingaDB#GetObjectIdentifiersWithoutEnv()
...
refs #7692
2019-12-10 11:22:35 +01:00
Alexander A. Klimov
4f68cfd299
IcingaDB: include consistent IDs, start time and end time in icinga:history:stream:{flapping,acknowledgement}
...
refs #7689
2019-12-10 10:44:26 +01:00
Alexander A. Klimov
829d07aefe
Introduce Checkable#acknowledgement_last_change
...
refs #7689
2019-12-10 10:44:23 +01:00
Alexander A. Klimov
98ba1c03d0
Make Checkable#flapping_last_change consistent across nodes
...
refs #7689
2019-12-10 10:11:24 +01:00
Michael Friedrich
f47142cf72
Merge pull request #7686 from Icinga/bugfix/open-connections
...
Fix open connections when agent waits for CA approval
2019-12-09 19:25:13 +01:00
Michael Friedrich
ce1a71cfec
Merge pull request #7695 from Icinga/bugfix/double-ack
...
Refuse acking an already acked checkable
2019-12-09 19:23:41 +01:00
Noah Hilverling
e8f352f4d7
IcingaDB history: Add cancelled_by & removed_by to downtime & comment history
2019-12-09 10:30:52 +01:00
Noah Hilverling
f0b8892e4a
Merge pull request #7676 from Icinga/feature/icingadb-localendpoint-id
...
IcingaDB#GetStats(): add endpoint_id to IcingaApplication
2019-12-06 16:59:36 +01:00
Noah Hilverling
5e23414197
Merge pull request #7699 from Icinga/bugfix/icingadb-hash-arrays-7691
...
Get rid of IcingaDB#CalculateCheckSum*()
2019-12-06 16:37:24 +01:00
Alexander A. Klimov
e109063333
IcingaDB#GetStats(): add endpoint_id to IcingaApplication
2019-12-06 15:52:47 +01:00
Alexander A. Klimov
783586978f
Get rid of IcingaDB#CalculateCheckSumProperties()
...
refs #7691
2019-12-06 11:25:41 +01:00
Alexander A. Klimov
9a678dce8e
Get rid of IcingaDB#CalculateCheckSumVars()
...
refs #7691
2019-12-06 11:24:33 +01:00
Alexander A. Klimov
b5ada44330
Get rid of IcingaDB#CalculateCheckSumMetadata()
...
refs #7691
2019-12-06 11:23:13 +01:00
Michael Friedrich
65ab6b256f
Merge pull request #7696 from Icinga/bugfix/metrics-zero-thresholds
...
Metrics: Always send '0' as value for thresholds
2019-12-06 11:01:35 +01:00
Alexander A. Klimov
c91154a14c
Get rid of IcingaDB#CalculateCheckSumString()
...
refs #7691
2019-12-06 10:54:11 +01:00
Alexander A. Klimov
6fc4efccc7
Get rid of IcingaDB#CalculateCheckSumArray()
...
refs #7691
2019-12-06 10:47:48 +01:00
Alexander Aleksandrovič Klimov
202e90b626
Merge pull request #7693 from Icinga/feature/icingadb-remove-unnecessar-service-host-ids
...
IcingaDB: Remove unnecessary service_/host_ids
2019-12-05 15:04:52 +01:00
Michael Friedrich
ee72791f25
Metrics: Always send '0' as value for thresholds
...
fixes #7666
2019-12-05 13:05:59 +01:00
Alexander A. Klimov
da6a9174d1
Checkable#ClearAcknowledgement(): OnAcknowledgementCleared() at most once
2019-12-05 11:54:33 +01:00
Alexander A. Klimov
798ea54173
Refuse acking an already acked checkable
2019-12-05 11:08:16 +01:00
Noah Hilverling
5b8b777691
IcingaDB: Add timestamp to stats stream
2019-12-05 10:34:41 +01:00
Noah Hilverling
71ef1de964
Merge pull request #7667 from Icinga/feature/icingadb-acks-history
...
IcingaDB: populate icinga:history:stream:acknowledgement
2019-12-05 09:20:36 +01:00
Noah Hilverling
3e832900f6
IcingaDB: Remove unnecessary service_/host_ids
2019-12-05 07:35:05 +01:00
Alexander A. Klimov
04e13e784d
IcingaDB: populate icinga:history:stream:acknowledgement
2019-12-04 15:02:14 +01:00
Noah Hilverling
92e51a3f87
Merge pull request #7684 from Icinga/bugfix/is_handled-host-down-7673
...
IcingaDB: update service state on Host#problem change
2019-12-04 14:43:09 +01:00
Alexander Aleksandrovič Klimov
5d40a71f8b
Merge pull request #7669 from Icinga/feature/icingadb-notification-recipients
...
IcingaDB: Add notification recipients
2019-12-04 11:00:53 +01:00
Noah Hilverling
ea6e937760
IcingaDB: Add notification recipients
2019-12-04 10:10:36 +01:00
Michael Insel
9d55a8264d
Fix open connections when agent waits for CA approval
...
This closes the agent connection when the certificate sign requests
waits for CA approval.
refs #7680
2019-12-03 21:19:39 +01:00
Alexander A. Klimov
5c45c198ff
IcingaDB#SerializeState(): correct Checkable#is_{problem,handled}
...
refs #7673
2019-12-03 17:44:48 +01:00
Alexander A. Klimov
798c56b809
IcingaDB: update service state on Host#problem change
...
refs #7673
2019-12-03 17:37:51 +01:00
Alexander Aleksandrovič Klimov
bb9b70d466
Merge pull request #7685 from Icinga/bugfix/pending-checkable-problem
...
Checkable#GetProblem(): consider PENDING not a problem
2019-12-03 17:27:01 +01:00
Alexander A. Klimov
ea5403a55c
Extend Checkable::OnAcknowledgementCleared by removedBy
2019-12-03 17:00:54 +01:00
Alexander A. Klimov
1931501040
Checkable#GetProblem(): consider PENDING not a problem
2019-12-03 16:56:43 +01:00
Michael Friedrich
4e74eff7a2
Merge pull request #7417 from Icinga/feature/lambda-use
...
DSL: Add support for Lambda Closures ()use(x)=>x and ()use(x)=>{return x}
2019-12-03 16:05:57 +01:00
Noah Hilverling
b84ceccfb7
Merge pull request #7662 from Icinga/feature/icingadb-overdue
...
IcingaDB: populate icinga:nextupdate:*
2019-12-03 15:38:17 +01:00
Michael Friedrich
857e32ad1d
Merge pull request #7681 from syseleven/improve-error-message
...
Improve error message for POST queries
2019-12-03 13:14:23 +01:00
Noah Hilverling
2af6f24fc4
Merge pull request #7678 from Icinga/feature/icingadb-stats-stream
...
IcingaDB#PublishStats(): make icinga:stats a stream
2019-12-03 12:53:40 +01:00
Noah Hilverling
355973d600
Merge pull request #7656 from Icinga/bugfix/icingadb-command-arg-value-null
...
IcingaDB: don't always set icinga:config:*command:{argument,envvar}#value
2019-12-03 12:53:03 +01:00
Alexander A. Klimov
416e1d72bf
IcingaDB#PublishStats(): make icinga:stats a stream
2019-12-03 12:01:13 +01:00
Alexander A. Klimov
c01c22ae76
IcingaDB: don't always set icinga:config:*command:{argument,envvar}#value
2019-12-03 11:57:21 +01:00
Matthias Baur
177c45d787
Improve error message for POST queries
...
If the user does a POST query but forgets to add the
'X-HTTP-Method-Override: GET' HTP header, the error message was
misleading. This changes the error message to a more detailed message
which might give the user a better understanding what the problem
could be.
Fixes #7675 .
2019-12-03 11:39:40 +01:00
Alexander A. Klimov
9be3b60f76
DSL: allow ()use(x)=>x and ()use(x)=>{return x}
2019-12-03 11:19:34 +01:00
Alexander A. Klimov
df7184ad64
IcingaDB: populate icinga:nextupdate:*
2019-12-02 17:21:03 +01:00
Alexander A. Klimov
e391c0e7b5
RedisConnection: introduce extensible priorities
2019-12-02 17:21:00 +01:00
Alexander Aleksandrovič Klimov
d2d48a2120
Merge pull request #7674 from Icinga/feature/icingadb-remove-unused-checksums
...
IcingaDB: Remove unused checksums
2019-12-02 16:38:28 +01:00
Noah Hilverling
1b60419a1b
Merge pull request #7677 from Icinga/bugfix/icingadb-add-ack-comment
...
IcingaDB#SendAddedComment(): suppress ack comments
2019-12-02 16:09:25 +01:00
Alexander A. Klimov
e7aa021bd8
IcingaDB#SendAddedComment(): suppress ack comments
2019-12-02 16:06:11 +01:00
Noah Hilverling
8b6c3bdc92
Merge pull request #7660 from Icinga/bugfix/icingadb-subscription
...
IcingaDB: get rid of icinga:{subscription,event}*
2019-12-02 10:31:53 +01:00
Noah Hilverling
284d131f61
Merge pull request #7653 from Icinga/bugfix/icingadb-expire_time-null
...
IcingaDB: don't always set Comment#expire_time
2019-12-02 10:30:09 +01:00
Noah Hilverling
66eafd6ad2
IcingaDB: Remove unused checksums
2019-12-02 09:28:04 +01:00
Michael Insel
859658ab98
Fix TLS context copies in ApiListener
...
This avoids copying the TLS context in the ApiListener class and removes
the obsolete variable.
This is a follow-up from #7654
2019-11-29 16:03:38 +01:00
Alexander A. Klimov
10c1d0e4c8
IcingaDB: don't always set Comment#expire_time
2019-11-27 15:58:19 +01:00
Noah Hilverling
ce4409d1d2
Merge pull request #7657 from Icinga/feature/icingadb-host_id
...
IcingaDB: always set *#host_id
2019-11-27 14:38:22 +01:00
Noah Hilverling
0652aa0a6f
Merge pull request #7652 from Icinga/bugfix/icingadb-output-null
...
IcingaDB#SendStatusUpdate(): don't always set icinga:history:stream:state#{,long_}output
2019-11-27 14:29:26 +01:00
Alexander A. Klimov
ba6550dc58
IcingaDB: get rid of icinga:{subscription,event}*
2019-11-27 11:42:09 +01:00
Noah Hilverling
473f932483
Merge pull request #7659 from Icinga/bugfix/notification_history-send_time
...
Notification_history: Rename event_time to send_time
2019-11-27 10:44:57 +01:00
Michael Friedrich
aee80d7f24
Merge pull request #7654 from Icinga/bugfix/apilistener-const-sslcontext
...
Fix TLS context not being updated on signed certificate messages on agents
2019-11-27 09:18:16 +01:00
Alexander A. Klimov
0671d19e12
Notification_history: Rename event_time to send_time
2019-11-26 18:13:31 +01:00
Alexander A. Klimov
1bee5425b9
IcingaDB: always set icinga:history:stream:*#host_id
2019-11-26 17:36:14 +01:00
Noah Hilverling
ed1cede0a7
Merge pull request #7646 from Icinga/feature/remove-comment-author
...
/v1/actions/remove-comment: let users specify themselves
2019-11-26 16:07:09 +01:00
Noah Hilverling
8a14f0e6f7
Merge pull request #7643 from Icinga/bugfix/icingadb-recover
...
IcingaDB: handle Redis restarts
2019-11-26 16:05:04 +01:00
Noah Hilverling
6508e880b4
Merge pull request #7655 from Icinga/bugfix/commenttype
...
CommentType: remove unused variants
2019-11-26 15:47:45 +01:00
Noah Hilverling
a98c5e965c
Merge pull request #7645 from Icinga/feature/remove-downtime-author
...
/v1/actions/remove-downtime: let users specify themselves
2019-11-26 15:41:44 +01:00
Alexander A. Klimov
95f13d864f
IcingaDB#SendStatusUpdate(): don't always set icinga:history:stream:state#{,long_}output
2019-11-26 14:28:14 +01:00
Alexander A. Klimov
e522db20b1
RedisConnection#Connect(): don't give up
2019-11-26 14:16:39 +01:00
Alexander A. Klimov
dcfc494d4d
CommentType: remove unused variants
2019-11-26 11:29:04 +01:00
Michael Insel
8431ea52ee
Make SSL context const again
...
Turns out that the switch to the class member variable inside the lambda
expression is sufficient to fix the issue.
2019-11-25 23:42:32 +01:00
Michael Insel
016a6c3f25
Fix ApiListener const SSL context
...
This makes the SSL context in ApiListener::SpawnCoroutine non-const to
address an issue when an agent recieves an signed certificate from the
master and tries to update the SSL context. This also uses the class
member variable which is captured by `this` in the lamda expression.
fixes #7650
2019-11-25 22:21:09 +01:00
Alexander A. Klimov
407d6c0219
IcingaDB#SendStatusUpdate(): avoid CheckResult::Ptr(nullptr)->GetCheckSource()
2019-11-25 17:15:47 +01:00
Alexander A. Klimov
80bf316e7b
/v1/actions/remove-acknowledgement: let users specify themselves
2019-11-21 16:29:26 +01:00
Alexander A. Klimov
d84efecb62
/v1/actions/remove-comment: let users specify themselves
2019-11-21 15:53:40 +01:00
Alexander A. Klimov
a361bf716e
/v1/actions/remove-downtime: let users specify themselves
2019-11-21 15:48:55 +01:00
Alexander A. Klimov
e7ce71095a
IcingaDB: handle Redis restarts
2019-11-21 12:55:01 +01:00
Noah Hilverling
c8935bf14f
IcingaDB: Update Redis port to use Icinga-Redis
2019-11-21 09:59:21 +01:00
Michael Friedrich
1a503b554b
Merge pull request #7357 from Ant1x/feature/opentsdb-tags
...
OpenTsdbWriter - Custom Tag Support
2019-11-15 14:52:49 +01:00
Michael Friedrich
88c1a197b4
Merge pull request #7567 from Icinga/bugfix/apt-dist-upgrade-7558
...
MacroProcessor::ResolveArguments(): skip null argument values
2019-11-15 14:43:33 +01:00
Michael Friedrich
87248f703c
Merge pull request #7632 from Icinga/feature/dsl-get-templates
...
DSL: Add get_template{,s}
2019-11-15 14:42:48 +01:00
Alexander A. Klimov
5c347ef7bd
DSL: introduce x?y:z
2019-11-15 13:38:01 +01:00
Michael Friedrich
b3eb9c6a07
Merge pull request #7439 from Icinga/feature/timeperiod-seconds
...
LegacyTimePeriod: support specifying seconds
2019-11-15 13:02:05 +01:00
Michael Friedrich
b1787883f7
Merge pull request #7535 from tigercomputing/Icinga/feature/config-stage-activate-parameter
...
API /v1/config/stages 'activate' parameter
2019-11-15 12:58:03 +01:00
Michael Friedrich
38080405df
Merge pull request #7528 from Icinga/bugfix/api-put-error-handling
...
API: Handle permission exceptions soon enough, returning 404
2019-11-15 11:53:59 +01:00
Noah Hilverling
b6db34747a
IcingaDB: Remove redundant last_{hard/soft}_state
2019-11-14 10:57:11 +01:00
Noah Hilverling
fa892b613d
Merge pull request #7608 from Icinga/bugfix/icinga-history-stream-downtime
...
IcingaDB: avoid duplicates in icinga:history:stream:downtime
2019-11-12 11:40:45 +01:00
Noah Hilverling
4ea236aa64
IcingaDB: Fix state on unchecked objects
2019-11-11 15:28:16 +01:00
Michael Friedrich
1cda421bad
DSL: Add get_template{,s}
...
Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2019-11-08 11:13:26 +01:00
Alexander A. Klimov
1e2739aed6
IcingaDB::NotificationSentToAllUsersHandler(): copy set once, not N*(1+M) times
2019-11-07 17:23:48 +01:00
Noah Hilverling
42f959874e
IcingaDB: Add user notification history
2019-11-07 15:57:31 +01:00
Alexander A. Klimov
592872a6c3
IcingaDB: avoid duplicates in icinga:history:stream:downtime
2019-11-06 10:41:54 +01:00
Alexander A. Klimov
4e8584ee9e
IcingaDB: correct icinga:history:stream:state#{,last_}soft_state and icinga:history:stream:notification#state for hosts
2019-11-04 16:40:04 +01:00
Alexander A. Klimov
6c7a9eb651
IcingaDB#SendStatusUpdate(): add icinga:history:stream:state#previous_soft_state
2019-11-04 12:59:57 +01:00
Michael Friedrich
9d9804d50a
Styleguide for IcingaDB
2019-11-02 18:01:31 +01:00
Michael Friedrich
631a4ee9fa
Fix header guards
2019-11-02 17:24:34 +01:00
Michael Friedrich
904f2ce7d4
IcingaDB: Silence some developer logging
2019-11-02 15:47:51 +01:00
Michael Friedrich
36d18ed23a
IcingaDB: Log where we are connecting to
2019-11-02 15:47:46 +01:00
Michael Friedrich
9235246985
Fix rebase against master branch
2019-11-02 14:18:20 +01:00
Michael Friedrich
61d9130dd0
Fix Copyright headers
2019-11-02 14:00:24 +01:00
Michael Friedrich
f9b3e88bbb
Fix non-unity builds
2019-11-02 14:00:24 +01:00
Noah Hilverling
b65e5f5547
IcingaDB/Comment: Add is_sticky
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
071a1489aa
PUBLISH to icinga:stats with high priority
...
refs #57
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
67909210a6
RedisConnection: introduce high-priority queue
...
refs #57
2019-11-02 14:00:24 +01:00
Noah Hilverling
91ecfc35cf
Ensure that execution_time never goes below 0
2019-11-02 14:00:24 +01:00
Noah Hilverling
4e43c766ca
Improve CommentHistory
2019-11-02 14:00:24 +01:00
Noah Hilverling
6a7e83a5e6
Improve Downtime & DowntimeHistory
2019-11-02 14:00:24 +01:00
Noah Hilverling
0aa885573d
Fix notification history not setting text if notification is triggered by checkresult
2019-11-02 14:00:24 +01:00
Noah Hilverling
4a43dd1ce6
Rename event_type state to state_change
2019-11-02 14:00:24 +01:00
Noah Hilverling
5eb1c42a28
History: Use same names for event_time and event_type
2019-11-02 14:00:24 +01:00
Alexander Aleksandrovič Klimov
04dfbb07ce
Rename ICINGA2_WITH_REDIS to ICINGA2_WITH_ICINGADB
2019-11-02 14:00:24 +01:00
Alexander Aleksandrovič Klimov
13ab7eb609
Rename redis to icingadb
2019-11-02 14:00:24 +01:00
Alexander Aleksandrovič Klimov
f51454af65
git ls-files -z |xargs -0 perl -pi -e 's/RedisWriter/IcingaDB/g'
2019-11-02 14:00:24 +01:00
Alexander Aleksandrovič Klimov
c7e9997294
RedisWriter#SerializeState(): don't stringify previous_hard_state
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
617a4a2e92
RedisWriter: drop icinga:history:stream:notification#{,long_}output and add #{author,text}
2019-11-02 14:00:24 +01:00
Alexander Aleksandrovič Klimov
badcb5662c
RedisWriter: add icinga:state:stream:*#previous_hard_state
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
746a48e2ca
RedisWriter: add icinga:history:stream:{state,notification}#previous_hard_state
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
4a7a8cb6f8
RedisWriter: add icinga:history:stream:*#endpoint_id
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
8613365f1c
RedisWriter: add icinga:{state:stream:*,history:stream:*:state}#check_source
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
f314489d23
Merge host and service histories
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
e6043e908a
RedisWriter: adjust icinga:history:stream:*:flapping schema
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
0510e0cad0
Replace duration with flexible_duration
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
c89f354a84
Replace is_fixed with is_flexible
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
9d0e402d92
RedisWriter#SendStartedDowntime(): send also a config update
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
747521fa84
RedisWriter#SendStatusUpdate(): handle pending checkable
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
82898b31ae
RedisWriter: fix missing m_Rcon!=null checks
2019-11-02 14:00:24 +01:00
Noah Hilverling
52fb723d91
RedisWriter: Do not split up comments/downtimes into host/service keys
2019-11-02 14:00:24 +01:00
Noah Hilverling
846f327054
RedisWriter: Use TimestampToMilliseconds() instead of multiplying inline
2019-11-02 14:00:24 +01:00
Noah Hilverling
042ed8b9e9
RedisWriter: Add downtime schedule history event
2019-11-02 14:00:24 +01:00
Noah Hilverling
6f0822cbe8
RedisWriter: Use ms instead of seconds for timestamps
2019-11-02 14:00:24 +01:00
Noah Hilverling
5edf3623c5
RedisWriter-History: Add event_id and event_type to history entries
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
fb6d31fcde
RedisWriter: populate icinga:history:stream:*:flapping
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
81873248e1
RedisWriter: populate icinga:history:stream:*:comment
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
6c536c97e8
RedisWriter: populate icinga:history:stream:*:downtime
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
feeae9d518
RedisWriter: populate icinga:history:stream:*:state
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
d0165773d2
RedisWriter: populate icinga:history:stream:*:notification
2019-11-02 14:00:24 +01:00
Noah Hilverling
33bdc8b5c3
RedisWriter: Rename check_period to check_timeperiod
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
21a900cd9d
RedisWriter#SerializeState(): serialize also Checkable#next_update
...
refs #54
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
9a3ab8c547
Adjust IoEngine usage
2019-11-02 14:00:24 +01:00
Noah Hilverling
9f077e8216
RedisWriter: Streamline JSON key names
2019-11-02 14:00:24 +01:00
Noah Hilverling
1566c4f9ac
Fix runtime update of state not being published
2019-11-02 14:00:24 +01:00
Noah Hilverling
07515d4446
Fix RedisWriter not clearing "icinga:config:state:*" keys on initial dump
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
b0cd306b61
RedisWriter#InsertObjectDependencies(): PUBLISH icinga:config:update ... for all dependencies
2019-11-02 14:00:24 +01:00
Noah Hilverling
322f3fbb0d
RedisWriter: Fix state sync prefix
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
fe49141490
RedisWriter#SendStatusUpdate(): ensure valid UTF-8 output
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
d9ff921934
RedisWriter: publish the current config dump state via icinga:dump
...
refs #53
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
1d3109458d
RedisConnection: merge write queues
...
refs #50
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
3b61b3d37a
RedisConnection: log messages
...
refs #50
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
430c769371
RedisConnection: handle errors as expected
...
refs #50
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
06d88477bd
RedisConnection: forward I/O errors to async-ly waiting requestors
...
refs #50
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
fa5c9ac985
RedisConnection: don't read the response before the request has been written
...
refs #50
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
132b2dcb77
Get rid of hiredis
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
a5971df039
RedisConnection: I/O the Redis protocol by itself (PoC)
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
752c5998df
Prefer vector#emplace_back over #push_back
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
e60ca9bca9
RedisWriter#InsertObjectDependencies(): don't change config objects' attributes in-place
...
refs #52
2019-11-02 14:00:24 +01:00
Noah Hilverling
d5d3f3e60c
Remove unused function CollectScalarVars()
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
53d04cc4e8
RedisWriter#RedisGet(): std::move() query
...
refs #49
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
fb98d3edef
RedisConnection#ExecuteQuer{y,ies}(): std::move() queries
...
refs #49
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
bb333b535b
RedisConnection#ExecuteQueries(): fire all queries at once
...
refs #49
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
74eccf60f2
Fix memory leak
2019-11-02 14:00:23 +01:00
Noah Hilverling
11d5415193
RedisWriter: Add depth attribute to zone
2019-11-02 14:00:23 +01:00
Noah Hilverling
8421a98a2c
Fix command arguments and envvars
2019-11-02 14:00:23 +01:00
Noah Hilverling
9308acfcd5
RedisWriter: Json encode command field command
2019-11-02 14:00:23 +01:00
Noah Hilverling
e41bcbc81c
Do not store timeperiod range in separate key (timerange)
2019-11-02 14:00:23 +01:00
Noah Hilverling
74b6839704
Add JsonEncode to customvar value
2019-11-02 14:00:23 +01:00
Noah Hilverling
fc718d99a7
Rename :overwrite: keys to :override:
2019-11-02 14:00:23 +01:00
Noah Hilverling
0bfdaccc7a
Split up redis arrays into single entries
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
6fd6f74b0f
Fix missing ( )
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
07823c4b90
RedisWriter#CreateConfigUpdate(): don't require prepared commands
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
1d126b66e9
RedisWriter#InsertObjectDependencies(): reduce memory allocations
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
def3c7df32
RedisWriter#CreateConfigUpdate(): reduce memory allocations
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
c24092a64e
RedisWriter#GenerateHmsetStatements(): reduce memory allocations
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
23448b0322
Make RedisWriter#ChunkObjects()'s result type more explicit
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
0534141aaf
Remove redundand vector#reserve()
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
7d0fc91c1b
RedisWriter#GetTypeObjectKeys(): move() the result
2019-11-02 14:00:23 +01:00
Noah Hilverling
13295acb72
RedisWriter: Write objects of same type in parallel
2019-11-02 14:00:23 +01:00
Noah Hilverling
68c88b3edf
Implement new Redis schema
...
WIP
WIP
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
1dcec6e77a
RedisConnection#SendMessageInternal(): lock only while actually using shared objects
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
50594ec1c8
Replace std::bind() with lambdas
...
refs #48
2019-11-02 14:00:23 +01:00
Noah Hilverling
a6ec60a992
RedisWriter: Use IcingaApplication environment
2019-11-02 14:00:23 +01:00
Noah Hilverling
c5b0884e44
RedisWriter: Heartbeat should occur every second
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
f601ba51e0
Revert "Eventqueue: Remove unused code"
...
This reverts commit a7873da89d
.
2019-11-02 14:00:23 +01:00
Jean Flach
23099904c0
Publish when config_dump_in progress
2019-11-02 14:00:23 +01:00
Jean Flach
7890c37357
Revert "Merge branch 'bugfix/execute-quieries' into 'feature/redis'"
...
This reverts commit f6c1fc3b43b1895eb87c1657f3e3355bfe9ddaac, reversing
changes made to ad1d448bcdead76a2bd45171a6efcd700b1c23d0.
2019-11-02 14:00:23 +01:00
Jean Flach
0ad008f465
Handle transaction vectors better
2019-11-02 14:00:23 +01:00
Jean Flach
b95e39952e
Use transaction for config dump
...
This wraps the config dump HMSETs into a transaction.
2019-11-02 14:00:23 +01:00
Jean Flach
d2dc0047a3
Lock before queueing multiple queries
2019-11-02 14:00:23 +01:00
Jean Flach
03a61347cd
Fix Service's name
2019-11-02 14:00:23 +01:00
Jean Flach
037357aea5
Add severity
2019-11-02 14:00:23 +01:00
Jean Flach
57b9fc94c3
Remove is_active_check
2019-11-02 14:00:23 +01:00
Jean Flach
6705158d31
Remove unused variable
2019-11-02 14:00:23 +01:00
Jean Flach
accadb5dfb
Only dump relevant object types
2019-11-02 14:00:23 +01:00
Jean Flach
dc5dc46364
Use ReflectionType instead of dynamic casts
2019-11-02 14:00:23 +01:00
Jean Flach
5cfd3c1ab0
Rewrite config dump
2019-11-02 14:00:23 +01:00
Jean Flach
e90fb43b91
Fix empty perf data strings
2019-11-02 14:00:23 +01:00
Jean Flach
446796dadb
Fix output and longOutput
2019-11-02 14:00:23 +01:00
Jean Flach
50aa0eb1d3
Fix command line string
2019-11-02 14:00:23 +01:00
Jean Flach
553f6f6ba9
Change commandline and performancedata
2019-11-02 14:00:23 +01:00
Noah Hilverling
3439ea755f
Fix that state does not get synced on acknowledgement removal
2019-11-02 14:00:23 +01:00
Noah Hilverling
992727707d
Redis: Encode check command
2019-11-02 14:00:23 +01:00
Jean Flach
08bfbbc070
Encode perfdata
2019-11-02 14:00:23 +01:00
Jean Flach
933de15c36
Remove TODO
2019-11-02 14:00:23 +01:00
Noah Hilverling
3fb3e8bb6d
Remove dev debug log
2019-11-02 14:00:23 +01:00
Noah Hilverling
2202bde56c
Add downtime handlers to state sync
2019-11-02 14:00:23 +01:00
Jean Flach
af05a354fa
Stop json-encoding everything
2019-11-02 14:00:23 +01:00
Jean Flach
d104eb4ac1
Fix timeout
2019-11-02 14:00:23 +01:00
Jean Flach
6ce4612cd7
Export last hard/soft state dummies
2019-11-02 14:00:23 +01:00
Jean Flach
e2caa47f18
Fix is_handled
2019-11-02 14:00:23 +01:00
Noah Hilverling
328adf1fc4
Add host/service state sync to acknowledgement
2019-11-02 14:00:23 +01:00
Jean Flach
916bfd20fb
Update state sync
2019-11-02 14:00:23 +01:00
Noah Hilverling
9aec47efb3
Use OnStateChange instead of OnStateChanged
2019-11-02 14:00:23 +01:00
Jean Flach
02ecc3e445
Add additional fields
2019-11-02 14:00:23 +01:00
Jean Flach
a7e615fbc0
Fix one unchecked checkresult access
2019-11-02 14:00:23 +01:00
Jean Flach
9b9cf6d5b0
Update sate sync
...
fix a crash, possibly two
2019-11-02 14:00:23 +01:00
Jean Flach
d8737b238a
Update state sync
2019-11-02 14:00:23 +01:00
Jean Flach
223ca6c6a0
Clean up code
2019-11-02 14:00:23 +01:00
Jean Flach
f68ad634b2
Rename state stream keys
2019-11-02 14:00:23 +01:00
Jean Flach
3def496b62
Update state sync
...
Makes state serialization its own function to be used also when writing
out the initial state
2019-11-02 14:00:23 +01:00
Jean Flach
fcb3752973
Remove debug log message
2019-11-02 14:00:23 +01:00
Jean Flach
3da4cef1e6
Update state sync
2019-11-02 14:00:23 +01:00
Jean Flach
2215e9e16f
Implement minimal state sync
2019-11-02 14:00:23 +01:00
Jean Flach
c825a3f4b5
Remove unnecessary parameter
2019-11-02 14:00:23 +01:00
Jean Flach
5f64d809d7
Check if RedisConnection exists before checking connection
2019-11-02 14:00:23 +01:00
Jean Flach
a056e14834
Fix another RedisWriter crash
...
Same as the other fix, this makes us lose events
2019-11-02 14:00:23 +01:00
Jean Flach
eec1928a0b
Fix segfault on startup
2019-11-02 14:00:23 +01:00
Jean Flach
67208c4f07
Handle runtime config updates
...
fixes #37
2019-11-02 14:00:23 +01:00
Noah Hilverling
f4145579ca
Add missing include
2019-11-02 14:00:23 +01:00
Jean Flach
47905a25e8
Improve event payload
...
Adds host/service_id Acknowledgement events. AcknowledgementSet events also send the comment_id.
fixes #29
2019-11-02 14:00:23 +01:00
Jean Flach
e889de966e
Publish dump event
...
fixes #34
2019-11-02 14:00:23 +01:00
Jean Flach
5e3e114a16
Handle icingadb- / icinga-type mismatches
...
fixes servicedowntimes being written to hostdowntimes (and vice versa)
2019-11-02 14:00:23 +01:00
Jean Flach
3c651b4c99
Fix icingadb specific type names
2019-11-02 14:00:23 +01:00
Jean Flach
77ce8f67bd
Add downtimes sync
2019-11-02 14:00:23 +01:00
Jean Flach
36588ce31a
Code formatting
2019-11-02 14:00:23 +01:00
Jean Flach
1d21626b30
Code style
2019-11-02 14:00:23 +01:00
Jean Flach
0634e27d6d
Add new connection handling
2019-11-02 14:00:23 +01:00
Jean Flach
f89e649871
Add recursive callback to manage auth and db select
2019-11-02 14:00:23 +01:00
Jean Flach
b59189b8d3
Simplify vector usage
...
Also leak less memory ;)
2019-11-02 14:00:23 +01:00
Jean Flach
6aaa35a0a6
Rewrite the RedisWriter
...
There should be more atomic commits but the whole thing was a mess. This
commit changes the synchrounous Redis connection into an asynchronous
one in its own class RedisConnection.
The RedisConnection uses a Workqueue with commands to fire against the
Redis server. When a response is required a callback must be supplied,
refer to RedisWriter::RedisGet().
Known Issues:
- Authentication has no error handling and can break the connection
- Error handling in general is iffy due to the nature of the async redis
connection
- Getting a reply out of RedisConnection is not trivial
- HandleRW... sunt dracones
2019-11-02 14:00:23 +01:00
Jean Flach
64515b81e3
Add disconnect
2019-11-02 14:00:23 +01:00
Jean Flach
d96dcf869e
Add RedisConnection object
...
This works using an async Redis connection. Multiple connections are not
possible. The connection is fed from a workqueue filled with
RedisCommands in the way of a vector of strings.
2019-11-02 14:00:23 +01:00
Jean Flach
0456298c58
Reformat code
...
CLion is now pretty close at what we use with Icinga, other changes do
make sense to me.
2019-11-02 14:00:23 +01:00
Jean Flach
8f411c7475
Support comments for icingadb
...
This splits comments into Host and Service comments
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
ed3db5b491
Fix elephant oversight
2019-11-02 14:00:23 +01:00
Jean Flach
315e9ffad8
Stringify flat values
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
d0a45521a9
Unify schema structure
...
refs #15
2019-11-02 14:00:23 +01:00
Jean Flach
c4962559ff
Remove parent_checksum
...
parent_checksum is always the first element in all_parents_checksums
2019-11-02 14:00:23 +01:00
Jean Flach
a47e16fb5b
Rename command_checksums
2019-11-02 14:00:23 +01:00
Jean Flach
65c38a3958
ignore user/usergroup for property checksum
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
3a8cf8d74d
RedisWriter: dump missing checksums for notifications
...
refs #18
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
4d40293217
RedisWriter: dump all_parents_checksum and all_parents_checksums for zones
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
cd05240624
RedisWriter: dump period_checksum for users
2019-11-02 14:00:23 +01:00
Michael Friedrich
de99d68351
Only use the type for commands in the object identifier checksum
2019-11-02 14:00:23 +01:00
Jean Flach
c70316a835
Sync ranges_checksum for timeperiods
...
Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
3e0a2f59e2
RedisWriter: make config object identifiers type-aware
...
SHA1(PackObject([Environment, Type, __name]))
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
b04b1d954e
RedisWriter: compute checksums of command arguments and env vars
...
refs #14
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
a908f84750
Revert unneccessary dynamic_pointer_cast
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
1b81b85582
RedisWriter: dump zone_checksum for endpoints
...
refs #11
2019-11-02 14:00:23 +01:00
Michael Friedrich
d65fb529eb
Simplify host_checksum
2019-11-02 14:00:23 +01:00
Jean Flach
d09a435fe3
Export usergroup(s)_checksum(s)
...
Warning: ugly code
2019-11-02 14:00:23 +01:00
Michael Friedrich
876d98a13f
Add 'parent_checksum' for zone objects
2019-11-02 14:00:23 +01:00
Michael Friedrich
bb2e7854fd
Add command_endpoint, event/check_command, action/notes_url, icon_image checksums for host/service objects
2019-11-02 14:00:23 +01:00
Michael Friedrich
4fb73a44bd
Add 'host_checksum' for services
2019-11-02 14:00:23 +01:00
Michael Friedrich
48f1ce215b
Drop obsolete delete query on config dump
2019-11-02 14:00:23 +01:00
Michael Friedrich
e31679b2de
Update Redis prefix namespaces and move their declaration into the class
...
icinga:config:object:<type>:<sha1>
icinga:config:checksum:<type> <sha1>
icinga:config:customvar:<type> <sha1>
icinga:status:object:<type>:<sha1>
This avoids multiple definitions all over the code. Maybe we want
to make the schema configurable at some point.
2019-11-02 14:00:23 +01:00
Michael Friedrich
3ce8f5599e
Fix missing object locks
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
413e351805
RedisWriter: dump custom vars verbosely
2019-11-02 14:00:23 +01:00
Michael Friedrich
e4355f27c9
Send zone_checksum globally, if 'zone' attribute is set
2019-11-02 14:00:23 +01:00
Jean Flach
a4b0f9125e
Only sync zone_checksum when object in zone
2019-11-02 14:00:23 +01:00
Jean Flach
85f621cb90
Add zone checksum for redis to checkables
2019-11-02 14:00:23 +01:00
Michael Friedrich
c5e913dfd4
Fix error handling for GetSubscriptionTypes()
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
50d83e850f
RedisWriter: dump endpoints' zones' identifiers (zone_checksum)
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
550e385b9e
RedisWriter: fix checksums of disappeared config objects not being deleted
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
d15769fa34
RedisWriter: fix disappeared config objects not being deleted
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
e7411ea158
RedisWriter#UpdateAllConfigObjects(): use one transaction per config object type
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
1ad9c80143
RedisWriter: sync all config objects atomically
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
c92827fa5e
RedisWriter: dump monitored objects' groups' identifiers (group_checksums)
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
724ce1f172
RedisWriter: dump also environment_checksum (per config object)
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
4eee9572ab
RedisWriter: identify config objects by SHA1(PackObject([Environment, __name]))
2019-11-02 14:00:23 +01:00
Michael Friedrich
fae5b88e48
Add all stats similar to /v1/status
2019-11-02 14:00:23 +01:00
Michael Friedrich
d7f6d7994b
Move stats into a separate file
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
3229982bee
RedisWriter: compute name_checksum as expected
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
f05a5eecc2
Centralize identifier computation
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
a5aef627f8
RedisWriter: use __name as object key
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
3ea3b2ba27
RedisWriter: checksum package, source_location and templates separately in metadata_checksum
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
e980485e23
RedisWriter: Explicitly checksum Zone#endpoints
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
dcdf6b8a44
RedisWriter: Exclude explicitly checksummed properties from properties_checksum
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
dc73db01b8
RedisWriter: use one checksum algo for everything
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
b32b81d957
RedisWriter: Pack objects consistently for hashing
2019-11-02 14:00:23 +01:00
Michael Friedrich
60a5a14aa2
Checksums
2019-11-02 14:00:23 +01:00
Michael Friedrich
79f06a90d4
WIP
2019-11-02 14:00:23 +01:00
Michael Friedrich
782486ce9c
Ensure that arrays are sorted for checksum calculation
2019-11-02 14:00:23 +01:00
Michael Friedrich
26a2095426
Implement config object check sums, shot one
2019-11-02 14:00:23 +01:00
Michael Friedrich
8c38c7eddc
Ensure that type names are lower cases for Redis lookups
2019-11-02 14:00:23 +01:00
Michael Friedrich
33a00e4b5a
Move UpdateObjectAttrs into the objects scope
2019-11-02 14:00:23 +01:00
Michael Friedrich
f715d479e7
Rename source file
2019-11-02 14:00:23 +01:00
Michael Friedrich
ddf2aea065
Compile redis into the icinga2 binary; apply more C++11 code changes
2019-11-02 14:00:23 +01:00
Michael Friedrich
61edfcb68d
Apply code style
2019-11-02 14:00:23 +01:00
Jean Flach
5eab856673
Publish events to one enpoint
2019-11-02 14:00:23 +01:00
Jean Flach
c8561676ec
Add limit for subscriptions
2019-11-02 14:00:23 +01:00
Gunnar Beutner
f631bf8cb5
Use sets for subscriptions
...
refs #5656
2019-11-02 14:00:23 +01:00
Gunnar Beutner
06211c3ac7
Implement support for the new config/state schema
...
fixes #5671
2019-11-02 14:00:23 +01:00
Gunnar Beutner
1725038ca8
Implement pipelining support for Redis queries
...
fixes #5670
2019-11-02 14:00:23 +01:00
Jean Flach
7c8412928e
Subscriptions
...
fixes #5656
2019-11-02 14:00:23 +01:00
Jean Flach
1ada53dd57
Trim event queue
...
TODO: make configurable
refs #5119
2019-11-02 14:00:23 +01:00
Gunnar Beutner
b6c86f98ec
Clean up the code a bit
2019-11-02 14:00:23 +01:00
Gunnar Beutner
fff1049ba0
Ensure that the WorkQueue name is set
2019-11-02 14:00:23 +01:00
Gunnar Beutner
b75e21a998
Redis support (WIP)
2019-11-02 14:00:23 +01:00
Michael Friedrich
7e369c0443
Merge pull request #7546 from Icinga/feature/zone-in-zone-7530
...
DaemonUtility#ValidateConfigFiles(): re-try unknown zones once they may have become known
2019-10-31 16:34:08 +01:00
Alexander Aleksandrovič Klimov
3804f4edcc
I like to move it, move it
2019-10-28 13:46:33 +01:00
Ant1x
166e79fee1
Added OpenTSDB Metric prefix naming support
...
Added OpenTSDB Generic Metric functionality
2019-10-24 00:04:12 +11:00
Ant1x
0b8fdfd7f2
Removed dictionary cloning behaviour.
...
Added configuration caching on instantiation.
2019-10-24 00:04:12 +11:00
Ant1x
c2c4b97ea5
Adjusted explicit String cast
2019-10-24 00:04:12 +11:00
Ant1x
619a487733
Added validation function comments
2019-10-24 00:04:12 +11:00
Ant1x
90c42e1bbc
Re-worded debug log message
2019-10-24 00:04:12 +11:00
Ant1x
3cd6b66cd4
Initial commit, add custom tag functionality
2019-10-24 00:04:12 +11:00
Michael Friedrich
e0ef5fe9de
Merge pull request #7458 from Icinga/feature/config-parser-cleanup
...
Config parser: introduce optional_newlines
2019-10-22 17:29:59 +02:00
Michael Friedrich
3b49c10d0a
Merge pull request #7584 from Icinga/bugfix/cluster-sync-checksums-timestamps
...
Cluster Config Sync: Check the timestamp prior to config file checksums for changes
2019-10-22 17:22:27 +02:00
Michael Friedrich
6103f53c5b
Merge pull request #7541 from Icinga/bugfix/heredoc-eof
...
Config lexer: complain on EOF in heredocs, i.e. {{{abc<EOF>
2019-10-22 17:19:27 +02:00
Michael Friedrich
cb20b4829a
Cluster Config Sync: Check the timestamp prior to config file checksums
...
Otherwise old configuration received from a secondary master/satellite
could always trigger a config change & reload.
2019-10-22 14:07:10 +02:00
Alexander A. Klimov
768044a754
Replace std::shared_ptr<NamespaceValue> with NamespaceValue::Ptr
...
refs #7361
2019-10-21 17:10:51 +02:00
Alexander A. Klimov
aa4cad7482
Replace std::shared_ptr<Expression> with Expression::Ptr
...
refs #7361
2019-10-21 17:10:51 +02:00
Alexander A. Klimov
4438ccbf9e
Introduce SharedObject
...
refs #7361
2019-10-21 17:10:51 +02:00
Alexander A. Klimov
ba1ce9c853
Replace std::shared_ptr<boost::asio::ssl::context> with Shared<boost::asio::ssl::context>::Ptr
2019-10-21 16:12:46 +02:00
Alexander A. Klimov
a1fef92835
Replace std::shared_ptr<boost::asio::ip::tcp::acceptor> with Shared<boost::asio::ip::tcp::acceptor>::Ptr
2019-10-21 16:12:46 +02:00
Alexander A. Klimov
26ce2cfb73
Replace std::shared_ptr<AsioTcpStream> with Shared<AsioTcpStream>::Ptr
2019-10-21 16:12:46 +02:00
Alexander A. Klimov
a1683568a1
Replace std::shared_ptr<AsioTlsStream> with Shared<AsioTlsStream>::Ptr
2019-10-21 16:12:35 +02:00
Alexander A. Klimov
b046ffe152
Introduce Shared<T>
2019-10-21 11:07:42 +02:00
Michael Friedrich
3e6fc9bfa1
Merge pull request #7457 from Icinga/feature/config-parser-malloc
...
Config parser: save some memory allocations
2019-10-17 17:19:30 +02:00
Alexander A. Klimov
e4bdcedbca
MacroProcessor::ResolveArguments(): skip null argument values
...
refs #7558
2019-10-08 17:06:06 +02:00
Michael Friedrich
e7c07062f8
Avoid syncing .authorititative marker received from < 2.11 parent nodes
2019-10-02 10:49:02 +02:00
Alexander A. Klimov
eacdb3dac7
DaemonUtility#ValidateConfigFiles(): re-try unknown zones once they may have become known
...
refs #7530
2019-09-30 10:26:13 +02:00
Alexander A. Klimov
672f497c3a
Config lexer: complain on EOF in heredocs, i.e. {{{abc<EOF>
2019-09-26 13:10:19 +02:00
Michael Friedrich
f0fcfdf910
Merge pull request #7538 from Icinga/bugfix/dependency-ignore_on_error-7536
...
Dependency#OnAllConfigLoaded(): don't link *this with the child if *this is going to be dropped
2019-09-25 12:12:22 +02:00