Commit Graph

1614 Commits

Author SHA1 Message Date
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 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 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 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 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
Mattia Codato 93711542a7 Get UUID from params 2020-07-10 10:05:38 +02:00
Yonas Habteab 3ecaf1e4a4 Use executionEnd instead of GetTime() 2020-07-09 10:44:38 +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
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 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 11c6c11076 Add Checkable#last_check_started
refs #7888
2020-06-09 12:03:02 +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
Alexander A. Klimov c4a8afbe5f Icinga DB: record ack expiries
refs #8012
2020-05-15 12:02:51 +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
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
Alexander A. Klimov 0e24462064 Fire Checkable::OnFlappingChange only if flapping is enabled
refs #7885
2020-03-04 14:58:32 +01:00
Noah Hilverling 8f061ae80e Fix OnHostProblemChanged signal 2020-03-04 10:55:07 +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 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 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 Friedrich f961370e36 ApiEvents: Fix AcknowledgementCleared code quality 2020-02-06 13:03:04 +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
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 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
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 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
Alexander A. Klimov 798c56b809 IcingaDB: update service state on Host#problem change
refs #7673
2019-12-03 17:37:51 +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
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 6508e880b4
Merge pull request #7655 from Icinga/bugfix/commenttype
CommentType: remove unused variants
2019-11-26 15:47:45 +01:00
Alexander A. Klimov dcfc494d4d CommentType: remove unused variants 2019-11-26 11:29:04 +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
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 b3eb9c6a07
Merge pull request #7439 from Icinga/feature/timeperiod-seconds
LegacyTimePeriod: support specifying seconds
2019-11-15 13:02:05 +01:00
Alexander A. Klimov 6c7a9eb651 IcingaDB#SendStatusUpdate(): add icinga:history:stream:state#previous_soft_state 2019-11-04 12:59:57 +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 A. Klimov 746a48e2ca RedisWriter: add icinga:history:stream:{state,notification}#previous_hard_state 2019-11-02 14:00:24 +01:00
Jean Flach 037357aea5 Add severity 2019-11-02 14:00:23 +01:00
Jean Flach 02ecc3e445 Add additional fields 2019-11-02 14:00:23 +01: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 e4bdcedbca MacroProcessor::ResolveArguments(): skip null argument values
refs #7558
2019-10-08 17:06:06 +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
Alexander A. Klimov 7668314b4a Dependency#OnAllConfigLoaded(): don't link *this with the child if *this is going to be dropped
refs #7536
2019-09-25 11:30:50 +02:00
Alexander A. Klimov b8d495ae07 Introduce Checkable#next_update 2019-09-25 10:44:49 +02:00
Michael Friedrich 617f1d1333 Improve error message for command endpoint checkable's requiring a zone
fixes #7514
2019-09-23 09:41:08 +02:00
Michael Friedrich 55d7da30ca Metrics: Expose problem/handled counts for hosts/services
With the addition of problem/handled as checkable runtime
attributes in #7096 we should also expose them via CIB
into

- icinga check
- /v1/status/CIB
- IcingaApplication runtime macros

This originates from a request by @phil-or at the recent
Icinga meetup in Linz.
2019-08-29 17:04:23 +02:00
Alexander A. Klimov 28f708bb7c LegacyTimePeriod: support specifying seconds 2019-08-22 18:50:37 +02:00
Alexander A. Klimov efc7f2cf8d Correct current_concurrent_checks to actually running checks
refs #7416
2019-08-15 13:39:01 +02:00
Alexander A. Klimov 448a991404 Expose metric current_pending_callbacks 2019-08-14 17:22:27 +02:00
Michael Friedrich 59081c4f82
Merge pull request #7400 from Icinga/bugfix/cib-stats-concurrent-checks
Fix missing stats for current_concurrent_checks via REST API
2019-08-06 15:25:44 +02:00
Michael Friedrich 550a92f077 Fix missing stats for current_concurrent_checks via REST API
It was added inside the 'icinga' check task, but not for the REST API.
Thanks for asking, @Thomas-Gelf
2019-08-06 14:51:10 +02:00
Michael Friedrich 743dcad35d Improve logging for downtime/ack events (add, remove, expire)
fixes #7374
2019-08-06 13:28:58 +02:00
Michael Friedrich f58d1ef7f7 Revert "API: Improve error handling for 'schedule-downtime' action"
This reverts commit 8ca38302fc.
2019-08-01 14:03:44 +02:00
Michael Friedrich 8f3a1335dc Revert "API: Don't be so strict with the downtime start_time"
This reverts commit 3b7cf5b9b5.
2019-08-01 14:03:40 +02:00
Michael Friedrich 8098f4d54d Improve type logging for notifications 2019-07-16 13:46:16 +02:00
Alexander A. Klimov b95e92ea5f Stash notifications until object authority has been updated once
refs #7086
2019-07-11 13:07:50 +02:00
Michael Friedrich 60661eaecb
Merge pull request #7270 from Icinga/feature/notification-after-downtime-ends-5919
Re-send suppressed notifications
2019-07-11 10:46:59 +02:00
Michael Friedrich a3c6797310 Fix compiler warnings and style 2019-07-10 11:51:58 +02:00
Alexander A. Klimov ffa7b749cb Wait until the next check result if it's expected to arrive soon before re-sending a suppressed notification
refs #5919
2019-07-09 16:38:50 +02:00
Alexander A. Klimov ed56fa34dc Re-send suppressed notifications
refs #5919
2019-07-09 16:38:50 +02:00
Michael Friedrich 88e5d8c47a TimePeriod: Fully support and test "day -X" notation
Previously no tests would have detected if this really worked or not.
2019-07-09 16:21:07 +02:00
Michael Friedrich 0dc87668d6 Fix parsing of "day -X (last day of month)" in TimePeriod class 2019-07-09 16:16:43 +02:00
Michael Friedrich 7665143afa Tests: Rewrite TimePeriod tests using Boost::DateTime
fixes #7257
2019-07-09 15:34:07 +02:00
Michael Friedrich fdaab4b420
Merge pull request #7287 from Icinga/bugfix/script-debugger-crash-7284
Service: don't rely on the own host being already set during derivative state calculation
2019-07-08 09:31:15 +02:00
Alexander A. Klimov 3824b03913 Service: don't rely on the own host being already set during derivative state calculation
refs #7284
2019-07-04 16:14:40 +02:00
Michael Friedrich 3b7cf5b9b5 API: Don't be so strict with the downtime start_time
There may be a slight overlap between the actual request
time and 'now'.

refs #7271
2019-07-02 15:13:36 +02:00
Michael Friedrich 8ca38302fc API: Improve error handling for 'schedule-downtime' action 2019-07-02 11:15:43 +02:00