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 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