Julian Brost
c154d4d50e
Merge pull request #8466 from Icinga/feature/one-connection
...
ApiListener#NewClientHandlerInternal(): reject connections from already connected endpoints
2020-11-24 16:33:15 +01:00
Noah Hilverling
83b4d8e69d
Config sync: Only remove files, if timestamp changed
2020-11-24 10:44:38 +01:00
Alexander Aleksandrovič Klimov
39bc1590f6
Merge pull request #8440 from Icinga/bugfix/message-routing-for-global-zones
...
Fix cluster message routing for global zones
2020-11-24 10:41:17 +01:00
Alexander Aleksandrovič Klimov
e84a4a290d
Merge pull request #8450 from Icinga/bugfix/do-not-accept-api-updates-for-unknown-zone
...
API: Don't accept object updates for unknown global zone
2020-11-24 10:40:20 +01:00
Alexander A. Klimov
5cfac1f643
Fix function and variable names
...
refs #8034
2020-11-23 16:43:47 +01:00
Alexander A. Klimov
fa61711c21
Introduce ReportIdoCheck()
...
... for code deduplication
refs #8034
2020-11-23 16:40:32 +01:00
Alexander A. Klimov
0ad1ab20aa
Fix code style
...
refs #8034
2020-11-23 16:39:24 +01:00
Julian Brost
3f15963651
Remove SpinLock
...
No longer needed as its only user now uses std::mutex.
2020-11-17 09:40:34 +01:00
Julian Brost
70c9d49ebc
ApiListener: merge new config validation and actication functions
...
Merge AsyncTryActivateZonesStage and TryActivateZonesStageCallback and
name the result TryActivateZonesStage. The old split was a leftover from
the one being a callback function with no actual meaningful separation.
2020-11-17 09:37:13 +01:00
Noah Hilverling
2d1980c10d
Merge pull request #8476 from Icinga/docs/api-action-api-function
...
Clarify difference between API actions and functions in their docstrings
2020-11-17 08:17:05 +01:00
Julian Brost
e4610e7dbd
Use std::mutex instead of Spinlock
2020-11-16 17:38:03 +01:00
Julian Brost
74b65f1642
API filesync: wait for validation process to exit
...
This avoid having to pass a lock implictly using the captured variables
of a lambda.
2020-11-16 17:10:57 +01:00
Julian Brost
4c8c4c75ec
Add Process::WaitForResult to allow waiting for the process to finish
2020-11-16 17:10:26 +01:00
Alexander Aleksandrovič Klimov
5f3b5934fa
Merge pull request #8195 from Icinga/feature/terminate-pretty-json-output-w-n-8194
...
JsonEncode(): suffix pretty JSON w/ \n
2020-11-13 17:08:46 +01:00
Alexander Aleksandrovič Klimov
66c4dc35a8
Merge pull request #7931 from Icinga/feature/program_version-livestatus-7895
...
Livestatus: append app name to program_version
2020-11-13 17:08:11 +01:00
Julian Brost
d1edcb909c
Close anonymous connections after 10 seconds
...
Anonymous connections are normally only used for requesting a
certificate and are closed after this request is received. However, the
request is only sent if the child has successfully verified the
certificate of its parent so that it is an authenticated connection from
its perspective. In case this verification fails, both ends view it as
an anonymous connection and never actually use it but attempt a
reconnect after 10 seconds leaking the connection. Therefore close it
after a timeout.
2020-11-12 18:01:11 +01:00
Alexander Aleksandrovič Klimov
8ca765d730
Merge pull request #8455 from Icinga/bugfix/replay-object-deletion
...
Log config object deletions to replay log
2020-11-12 15:08:55 +01:00
Julian Brost
01a278bb5e
Clarify difference between API actions and functions in their docstrings
2020-11-12 14:23:41 +01:00
Noah Hilverling
5f6042d92f
Fix 'emoving' typo
2020-11-09 16:35:16 +01:00
Julian Brost
cb476172ec
Fix cluster message routing for global zones
...
RelayMessageOne used to relay the message only to one other endpoint for
other zones, which is fine, as long as the target zone is a child/parent
zone but breaks if the target zone is a global one. In this case, the
message has to be forwarded within the local zone as well as to one node
in each child zone.
2020-11-09 15:43:43 +01:00
Julian Brost
be53b0af9e
Log config object deletions to replay log
...
The initial config object sync for each new connection (in
`ApiListener::SendRuntimeConfigObjects()`) only considers currently
existing objects and has no way to pass the information that objects
were deleted in the meantime.
This commit logs config object deletions to the replay log if required
so that there is a chance that it will be propagated to nodes that were
offline when the deletion happened.
Note that this can only be considered a workaround as the replay log
might be pruned or could even be completely disabled. Also, there still
seems to be a race-condition between the config sync and replay log of
multiple new connections at the same time.
2020-11-09 14:09:44 +01:00
Alexander A. Klimov
29e5d7def7
Include HTTP status codes in log
...
refs #7053
2020-11-09 10:20:13 +01:00
Noah Hilverling
8ba5f72533
API: Don't accept object updates for unknown zone
2020-11-06 17:27:10 +01:00
Alexander A. Klimov
20b7c395ba
Relativize future removals of deprecated features
...
... as (of course) we won't remove them as long as
it's easier than not removing them.
2020-11-06 12:31:10 +01:00
Alexander Aleksandrovič Klimov
1450e1bb7f
Merge pull request #8108 from Icinga/bugfix/api-incorrect-response-header-6747
...
API: Send Content-Type as api response header too
2020-11-03 18:50:31 +01:00
Alexander Aleksandrovič Klimov
939f4591a4
Merge pull request #8087 from Icinga/bugfix/log-cout-permission-error-8086
...
Display Logmessage if an permission error occurs
2020-11-03 17:23:06 +01:00
Yonas Habteab
488e6bfb67
HTTP Request: Log an exception message if an error occurs
2020-11-02 15:01:48 +01:00
Alexander Aleksandrovič Klimov
4f6fecc74c
Merge pull request #8101 from Icinga/bugfix/timestamps-checkresult-differ-across-nodes-8092
...
State timestamps set by the same check result differ across nodes
2020-10-30 17:24:15 +01:00
Alexander Aleksandrovič Klimov
1b9f161aea
Merge pull request #8123 from MEschenbacher/confirmingstrings
...
ido_pgsql: do not set standard_conforming_strings to off
2020-10-29 17:06:46 +01:00
Alexander Aleksandrovič Klimov
9c232e942b
Merge pull request #8085 from Icinga/bugfix/not-set-lcnumeric-twice-7563
...
Fix LC_NUMERIC set twice and use a wrong value
2020-10-29 16:47:43 +01:00
Maximilian Eschenbacher
d8089560dd
ido_pgsql: do not set standard_conforming_strings to off
...
Before postgres 9.1, this setting defaulted to off and icinga2 code was
making heavy use of this feature. Since postgres 9.1, this settings
defaults to on. During the adoption of postgres >= 9.1, the icinga2
postgres ido code maintained compatibility by setting it to off
explicitly.
In the mean time, the postgres ido code has been converted to using the
`E'...'` escape literal syntax exclusively.
The last remaining step is now to no longer force the setting to off
because no query is using the feature any longer.
Closes github issue #8122 .
2020-10-29 16:28:18 +01:00
Alexander Aleksandrovič Klimov
a226db4f17
Merge pull request #8245 from Ragnra/bugfix/opentsdb-tag-doublespace-8244
...
Fixes an issue with opentsdb and a double space
2020-10-29 16:23:01 +01:00
Alexander Aleksandrovič Klimov
b5b1ee715b
Merge pull request #8184 from sbraz/boost
...
Fix ‘fs::copy_option’ has not been declared with boost 1.74.0
2020-10-29 16:19:07 +01:00
Alexander Aleksandrovič Klimov
1e281b060a
Merge pull request #7952 from Icinga/fix/SO_REUSEPORT-optional
...
apilistener: Make SO_REUSEPORT optional
2020-10-29 15:56:56 +01:00
Alexander Aleksandrovič Klimov
3fa1eab344
Merge pull request #7736 from froehl/7735
...
API-Event StateChange & CheckResult: Added acknowledgement and downtime_depth…
2020-10-29 13:41:52 +01:00
Alexander A. Klimov
bb851b0558
Merge branch 'master' into feature/v1-actions-execute-command-8034
2020-10-28 18:37:08 +01:00
Alexander A. Klimov
38110e55d3
ApiListener#NewClientHandlerInternal(): reject connections from already connected endpoints
2020-10-26 15:20:58 +01:00
Julian Brost
c30d8ff373
Remove Utility::GetEnv from header
...
It is never used and not even implemented anywhere, probably a leftover.
2020-10-20 12:19:15 +02:00
Alexander Aleksandrovič Klimov
a32c1bf910
Merge pull request #7864 from Icinga/bugfix/icinga2-doesn-t-close-connections-7203
...
Add timeout for boost::asio::ssl::stream#async_shutdown()
2020-10-19 15:25:12 +02:00
Alexander A. Klimov
40ac05c182
Introduce Endpoint#capabilities
...
refs #8034
2020-10-19 13:04:20 +02:00
Alexander A. Klimov
9e29936b8f
Fix missing include
...
refs #8034
2020-10-19 13:04:20 +02:00
Alexander Aleksandrovič Klimov
f60ae93717
Merge pull request #7870 from Icinga/bugfix/last-zone-sync-stage-validation-failed-7642
...
Clear ApiListener#last_failed_zones_stage_validation on config::Update if config not changed
2020-10-19 12:31:01 +02:00
Alexander Aleksandrovič Klimov
4926353269
Merge pull request #8277 from Icinga/bugfix/latency-8196
...
Call Process::InitializeSpawnHelper() ASAP
2020-10-16 16:49:06 +02:00
Noah Hilverling
03af068302
IDO: Make sure to insert program status during reconnect()
2020-10-16 12:30:57 +02:00
Alexander Aleksandrovič Klimov
9dd197d0af
Merge pull request #8165 from Icinga/bugfix/service-get-severity-deadlock-8160
...
ProcessCheckResult(): Make sure hosts aren't locked during Service::GetSeverity()
2020-10-16 10:41:23 +02:00
Alexander Aleksandrovič Klimov
be8dd201eb
Merge pull request #8229 from Icinga/bugfix/downtime-checkable-getname
...
Check !!downtime->GetCheckable() before downtime->GetCheckable()->GetName()
2020-10-16 10:39:57 +02:00
Alexander Aleksandrovič Klimov
d6a4db935f
Merge pull request #8374 from Icinga/bugfix/docker-memory-leak
...
icinga2 daemon: reap remaining child processes after reload
2020-10-16 10:33:49 +02:00
Alexander Aleksandrovič Klimov
9969090976
Merge pull request #8380 from Icinga/bugfix/ido-do-not-log-if-paused-2.13
...
IDO: Do not log stats, if paused
2020-10-16 10:33:16 +02:00
Noah Hilverling
8db82ff87d
IDO: Do not log stats, if paused
2020-10-15 10:48:41 +02:00
Alexander Aleksandrovič Klimov
1f55338cbd
Merge pull request #8166 from Icinga/bugfix/logrotate-crash-8050
...
Ensure the daemon doesn't get killed by logrotate
2020-10-15 10:39:47 +02:00
Alexander Aleksandrovič Klimov
a54bd52d5c
Merge pull request #8371 from Icinga/bugfix/7567
...
Revert "MacroProcessor::ResolveArguments(): skip null argument values"
2020-10-15 10:39:12 +02:00
Alexander A. Klimov
91265a5b0e
icinga2 daemon: reap remaining child processes after reload
...
... as we may be PID 1.
2020-10-15 10:25:14 +02:00
Alexander Aleksandrovič Klimov
72c67fc065
Merge pull request #8370 from Icinga/bugfix/reload-hang-8173
...
Application#RunEventLoop(): don't wait for the thread pool to stop on shutdown
2020-10-14 18:11:23 +02:00
Alexander Aleksandrovič Klimov
79210a5542
Merge pull request #8367 from Icinga/bugfix/ido-hash-groups
...
*DbObject#CalculateConfigHash(): sort groups to be hashed
2020-10-14 16:23:24 +02:00
Alexander Aleksandrovič Klimov
4bb6f4c910
Merge pull request #8364 from Icinga/bugfix/configsyncstagelock-unlock-owner-213
...
Make ApiListener::m_ConfigSyncStageLock a SpinLock
2020-10-14 16:01:00 +02:00
Alexander Aleksandrovič Klimov
e8316952f8
Merge pull request #8363 from Icinga/bugfix/ido-commit-25000-213
...
IDO MySQL: actually COMMIT after 25000 async queries
2020-10-14 16:00:39 +02:00
Alexander A. Klimov
d3f6a97a7e
Ensure the daemon doesn't get killed by logrotate
...
refs #8050
2020-10-14 14:02:44 +02:00
Alexander A. Klimov
fbfa931b31
Clear ApiListener#last_failed_zones_stage_validation on config::Update if config not changed
...
refs #7642
2020-10-14 12:17:14 +02:00
Alexander Aleksandrovič Klimov
876fa8ba97
Merge pull request #8242 from Icinga/bugfix/reminder-notifications-before-suppressed-8201
...
Don't send reminder notifications before suppressed ones
2020-10-14 11:03:28 +02:00
Alexander Aleksandrovič Klimov
28f1f70321
Merge pull request #8326 from Icinga/bugfix/do-not-update-customvar-status-on-heavy-config-update
...
Do not upsert customvar status on heavy config update
2020-10-14 11:00:29 +02:00
Alexander Aleksandrovič Klimov
354a854d7a
Merge pull request #8318 from Icinga/bugfix/exceptions-in-config-sync
...
Catch exceptions in the thread running HandleConfigUpdate
2020-10-14 10:58:23 +02:00
Alexander A. Klimov
a083635de4
Make ApiListener::m_ConfigSyncStageLock a SpinLock
2020-10-14 10:47:08 +02:00
Alexander A. Klimov
4af450141b
Introduce SpinLock
2020-10-14 10:47:08 +02:00
Alexander A. Klimov
cd72eaf2b9
IDO MySQL: actually COMMIT after 25000 async queries
2020-10-14 10:40:57 +02:00
Julian Brost
e04d618ede
Catch exceptions in the thread running HandleConfigUpdate
...
With dc3062a9b0
, exceptions in this code
path were no longer caught properly. This commit restores exception
handling for this function.
2020-10-13 14:07:44 +02:00
Alexander A. Klimov
cb00a7fd6a
*DbObject#CalculateConfigHash(): sort groups to be hashed
...
... to ensure consistent hashes across config reloads.
This will likely cause a heavy update once for all objects in >1 group,
but it will ensure that this happens the last time.
2020-10-13 13:47:49 +02:00
Noah Hilverling
04fc0014ce
IDO-Logging: Increase logging threshold for nearly empty queue
2020-10-13 09:15:20 +02:00
Noah Hilverling
d377996176
IDO-Logging: Don't log when not connected
2020-10-13 09:15:14 +02:00
Noah Hilverling
82c4d58d14
IDO-Logging: Remove useless ETA
2020-10-13 09:15:09 +02:00
Noah Hilverling
be3eb0821a
IDO-Logging: Add log timeout to log every 5 minutes
2020-10-13 09:15:03 +02:00
Noah Hilverling
22c14fd964
IDO: Always insert customvar status on heavy config update
2020-10-13 08:54:58 +02:00
Yonas Habteab
3f3e04eb69
Allow to create api user w/ password
...
fixes #8164
2020-10-09 20:15:44 +02:00
Alexander A. Klimov
0a1a286913
Don't send reminder notifications before suppressed ones
...
refs #8201
2020-09-30 10:30:21 +02:00
Alexander A. Klimov
177f930375
Call Process::InitializeSpawnHelper() ASAP
...
refs #8196
2020-09-23 11:49:13 +02:00
Henrik Triem
7a759a6427
IDO: Implement more accurate logging for query stats
2020-09-22 13:44:02 +02:00
Henrik Triem
3c556350c8
WorkQueue: Allow choosing stats log level
2020-09-22 13:44:02 +02:00
Paul Denning
570a59a2f4
Fixed problem with opentsdb sending metrics
...
There is a double space between the value and the tags causing an error with missing tag when ingesting the data
refs #8244
2020-09-18 19:41:48 +10:00
Fabian Röhl
ca487ed732
#7735 API-Event StateChange & CheckResult: Added acknowledgement and downtime_depth
2020-09-18 08:20:29 +02:00
Alexander A. Klimov
fe4a44096a
Merge branch 'feature/v1-actions-execute-command-8034-deadline-timer' into feature/v1-actions-execute-command-8034
...
refs #8034
2020-09-15 18:14:01 +02:00
Alexander A. Klimov
8b0ba2275a
Check !!downtime->GetCheckable() before downtime->GetCheckable()->GetName()
...
... not to crash while removing a downtime from a disappeared checkable.
2020-09-11 14:47:46 +02:00
Alexander A. Klimov
d69c6879fa
Application#RunEventLoop(): don't wait for the thread pool to stop on shutdown
...
refs #8173
2020-09-03 14:04:42 +02:00
Alexander A. Klimov
3adba5c542
JsonEncode(): suffix pretty JSON w/ \n
...
refs #8194
2020-09-02 16:11:43 +02:00
Mattia Codato
6801419bd6
Add newline ad the end of file
2020-08-26 16:41:02 +02:00
Mattia Codato
19628252f8
Add timer to clean deadlined executions
2020-08-26 15:48:04 +02:00
Louis Sautier
c30bae2994
Fix ‘fs::copy_option’ has not been declared with boost 1.74.0
...
It was deprecated in
f199152b7d
2020-08-20 18:35:51 +02:00
Alexander A. Klimov
ade891bbf5
Revert "MacroProcessor::ResolveArguments(): skip null argument values"
...
This reverts commit e4bdcedbca
.
2020-08-13 10:39:55 +02:00
Mattia Codato
80dc908fca
Use ExecuteCommand::ExecuteOverride also for ido check
2020-08-13 09:26:19 +02:00
Noah Hilverling
ddf1e50d93
ProcessCheckResult(): Make sure hosts aren't locked during Service::GetSeverity()
2020-08-11 15:24:54 +02:00
Mattia Codato
df2b82f7fe
Remove an useless check
2020-08-05 16:14:57 +02:00
Mattia Codato
7474ab6de5
Set exit code 126 if endpoint doens't support the new executeCommand API
2020-08-05 15:53:34 +02:00
Mattia Codato
7c004af6be
Check child endpoint versions and check child zone can access to the target endpoint
2020-08-05 14:08:54 +02:00
Mattia Codato
a90068cc78
Check satellites Icinga version before relay the execute command message
2020-08-05 10:01:29 +02:00
mcodato
730075a177
Merge pull request #1 from Al2Klimov/version
...
Introduce Endpoint#icinga_version
2020-08-05 09:23:28 +02:00
Mattia Codato
ac71cc67f8
Use local zone for update executions
2020-08-04 16:09:21 +02:00
Mattia Codato
c6c1849106
Change checkable with the endpoint zone for execute command relay message
2020-08-04 14:32:36 +02:00
Mattia Codato
951388797a
Forward the execute command through the zones
2020-08-03 21:09:57 +02:00
Eric Lippmann
e8745f7e96
Merge pull request #7816 from Icinga/feature/notification-timeperiod-6167
...
Re-send notifications previously suppressed by their time periods
2020-08-03 10:04:27 +02:00
Mattia Codato
c2f8d6df44
Use ternary operator to get ExecuteOverride or checkable command
2020-08-03 08:07:32 +02:00
Mattia Codato
9c4a3aed1b
Use ExecuteOverride to override the command
2020-07-31 17:28:33 +02:00
Mattia Codato
d7dadbfc66
Use MacroResolver::OverrideMacros on *task files
2020-07-31 14:21:09 +02:00
Mattia Codato
cf1430c409
Fix update execution
2020-07-31 14:07:48 +02:00
Mattia Codato
604b938ade
Fix macros substitutions
2020-07-31 11:15:17 +02:00
Mattia Codato
44fc841ee1
Notify to all nodes that execution has completed
2020-07-31 10:42:01 +02:00
Mattia Codato
a5698d5fde
Check if last check result is null before executing the command
2020-07-31 08:53:10 +02:00
Alexander A. Klimov
c515822649
Re-send notifications previously suppressed by their time periods
...
refs #6167
2020-07-29 17:13:41 +02:00
Noah Hilverling
2648a82de0
Merge pull request #7894 from Icinga/bugfix/don-t-wait-for-checks-on-reload-7888
...
CheckerComponent#Stop(): don't wait for checks
2020-07-29 16:35:09 +02:00
Noah Hilverling
a615b2126e
Merge pull request #8142 from Icinga/bugfix/don-not-close-connection-on-missing-heartbeat-8095
...
Remove all codes related to the heartbeat timeout
2020-07-29 15:33:22 +02:00
Noah Hilverling
97fc70ccb2
Merge pull request #7836 from Icinga/bugfix/jsonrpcconnection-m_seen
...
Consider a JsonRpcConnection being seen on a single byte of TLS payload, not only a whole message
2020-07-29 15:02:48 +02:00
Yonas Habteab
964a90fa4b
Remove all codes related to the heartbeat timeout
...
until now, if the timeout is exceeded, the connection is immediately terminated.
But since we do not want to disconnect even if the timeout is exceeded, it is
better to send the messages without timeout and have deleted everything that
related to the heartbeat timeout. We also have another mechanism in
JRPC::CheckLiveness that does the disconnect.
2020-07-29 14:27:55 +02:00
Mattia Codato
75e0e164e4
Fix indentation
2020-07-29 09:54:18 +02:00
Mattia Codato
064d5e9194
Keep consistency with other methods in case of missing API listener
2020-07-29 08:57:22 +02:00
Mattia Codato
edb5c47a9d
Execute notification command only if there is a source param
2020-07-29 08:52:15 +02:00
Mattia Codato
a834b5cecd
Remove unused key in the execution
2020-07-29 08:46:09 +02:00
Mattia Codato
2cda17a99b
Remove pending key when the execution is completed
2020-07-29 08:45:19 +02:00
Mattia Codato
5a4fa69650
Fix logs
2020-07-29 08:43:30 +02:00
Mattia Codato
1e59810ddd
Fix indentation
2020-07-29 08:38:49 +02:00
Alexander A. Klimov
37c2c7ba90
Checkable#Start(): if #last_check_started > last check, set #next_check to #last_check_started
...
refs #7888
2020-07-28 11:54:13 +02:00
Alexander A. Klimov
4585a404d6
Checkable#ExecuteCheck(): set #last_check_started to now before #UpdateNextCheck()
...
refs #7888
2020-07-28 11:54:13 +02:00
Alexander A. Klimov
9dc297987e
Sync Checkable#last_check_started
...
refs #7888
2020-07-28 11:54:13 +02:00
Mattia Codato
bf07ada3df
Remove arguments from 'throw' inc case of ExecuteEventHandler error
2020-07-23 13:34:26 +02:00
Mattia Codato
aadedc0d1c
Throw an exception in case of error during ExecuteEventHandler if source is not set
2020-07-23 13:23:13 +02:00
Mattia Codato
53659066f2
Remove unuseful variables
2020-07-23 13:20:31 +02:00
Mattia Codato
b30960fda5
Add try catch for ExecuteEventHandler
2020-07-23 13:03:30 +02:00
Mattia Codato
14c02ec654
Remove unuseful check result for notification command
2020-07-23 12:58:50 +02:00
Mattia Codato
9940aaf90c
Refactor SendEventExecuteCommand function
2020-07-23 11:31:44 +02:00
Mattia Codato
6656afb259
Code refactoring: create sendEventExecuteCommand function
2020-07-23 08:26:31 +02:00
Mattia Codato
e690eaf3c4
Run ExecutedCommandAPIHandler in case of command not found and if source is set
2020-07-22 17:22:50 +02:00
Mattia Codato
4e3a38f320
Unify code to check if command exists
2020-07-22 14:16:41 +02:00
Mattia Codato
96dc349240
Fix scriptfunc for dummychecktask, exceptionchecktask and sleepchecktask
2020-07-22 11:38:41 +02:00
Mattia Codato
b4d6fe2c8d
Check if the node accept commands only if the origin is not local
2020-07-21 16:33:52 +02:00
Mattia Codato
05b1beb2ff
Send event::ExecutedCommand where necessary
2020-07-21 15:51:57 +02:00
Mattia Codato
2e8b492f29
Implement notification execution
2020-07-21 13:27:03 +02:00
Mattia Codato
867da09fb4
Revert "Use ExecuteCommandProcessFinishedHandler in TimePeriodTask"
...
This reverts commit abf164bceb
.
2020-07-21 10:52:59 +02:00
Mattia Codato
abf164bceb
Use ExecuteCommandProcessFinishedHandler in TimePeriodTask
2020-07-21 09:57:59 +02:00
Noah Hilverling
9f57e895f1
Merge pull request #8102 from Icinga/bugfix/send-heartbeat-less-often-8098
...
Send heartbeat every 20s and not 10s
2020-07-21 09:46:33 +02:00
Mattia Codato
986c07fd7d
Use ExecuteCommandProcessFinishedHandler in NullEventTask
2020-07-21 08:33:43 +02:00
Mattia Codato
8758e58b92
Use ExecuteCommandProcessFinishedHandler for all lib/methods/*task.cpp
2020-07-20 16:29:26 +02:00
Mattia Codato
acc986afd0
Remove extra char
2020-07-20 13:15:12 +02:00
Mattia Codato
c6d4a9ac47
Get checakble name from params
2020-07-20 12:46:22 +02:00
Mattia Codato
f59c60f85f
Send error as command execution result
2020-07-20 08:18:53 +02:00
Mattia Codato
461b4e2176
Do CurrentConcurrentChecks and DecreasePendingChecks only for check_command
2020-07-16 16:52:48 +02:00
Mattia Codato
d4fb5a0656
Remove unuseful check
2020-07-16 16:41:47 +02:00
Mattia Codato
50f803c042
Return the process result parameters instead of the check result
2020-07-15 18:40:37 +02:00
Mattia Codato
4255fd9494
Get host by Deserialize
2020-07-15 13:50:49 +02:00
Mattia Codato
27f8bc5920
Call ExecuteCommandProcessFinishedHandler for notification and event commands
2020-07-15 09:14:01 +02:00
Mattia Codato
300bc89cb6
Handle when listener doesn't accept commands
2020-07-15 08:53:28 +02:00
Mattia Codato
3f490ac0e2
Set the right prams to send to ExecutedCommand
2020-07-15 08:37:28 +02:00
Mattia Codato
12da369ee1
Change check_command and event_command strings to CheckCommand and EventCommand
2020-07-14 17:23:03 +02:00
Mattia Codato
96c34528a0
Change command type 'notification_command' with 'NotificationCommand'
2020-07-14 12:01:12 +02:00
Mattia Codato
26685a9360
Remove unuseful variable. Fix log
2020-07-14 11:57:12 +02:00
Mattia Codato
59dfe6ad41
Fix log
2020-07-14 11:23:39 +02:00
Mattia Codato
2db7b10ff0
Defer ExecuteCommandProcessFinishedHandler
2020-07-13 17:49:38 +02:00
Mattia Codato
134a43d48a
Improve logs
2020-07-13 17:06:08 +02:00
Mattia Codato
a3027d7177
Fix ExecuteCommandProcessFinishedHandler parameters
2020-07-13 16:54:37 +02:00
Mattia Codato
b9510e72dd
Check deadline
2020-07-13 10:20:23 +02:00
Mattia Codato
3414acbec1
Remove unuseful parameter from ExecuteRemoteCheck
2020-07-13 10:14:30 +02:00
Mattia Codato
6bad8bbc0f
Replace executeactiontask with a lambda function
2020-07-13 09:47:19 +02:00
Mattia Codato
fa4aebbfd2
Set CheckResult to execeution
2020-07-10 16:56:35 +02:00
Mattia Codato
15159b1632
Add ExecuteCommandProcessFinishedHandler and checkable param to ExecuteRemoteCheck
2020-07-10 16:56:07 +02:00
Mattia Codato
c3d9f6c17b
Add ExecuteActionTask
2020-07-10 16:51:45 +02:00
Mattia Codato
b6c84982f2
Uniform command_type strings
2020-07-10 16:51:13 +02:00
Mattia Codato
39479b666f
Implement ClusterEvents::ExecutedCommandAPIHandler
2020-07-10 11:21:13 +02:00
Yonas Habteab
df2d30e6af
Send Content-Type as api response header too
2020-07-10 10:42:55 +02:00
Mattia Codato
93711542a7
Get UUID from params
2020-07-10 10:05:38 +02:00
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