Icinga / icinga2

The core of our monitoring platform with a powerful configuration language and REST API.
https://icinga.com/docs/icinga2/latest
GNU General Public License v2.0
2.01k stars 577 forks source link

Custom dependencies dont set the value is_handled on the child when triggered. #9857

Open Duffkess opened 1 year ago

Duffkess commented 1 year ago

Describe the bug

I have the following dependencies:

  1. standard services to host dependency that I did not defined anywhere, its just the internal one from icinga2 itself
  2. a custom dependency apply rule that adds a new dependency for all services on a host (windows host template) for a service called icinga2 agent. That way when the icinga2 agent is not connected, It just notifies for this service.

Now I have seen two different scenarios:

one host is down, the implicit dependcy triggers and the services get displayed as handled trough dependency in icingaweb2 and in the database I can see the entry is_handled = y in the service_state table.

but on a second host the agent is not available but its child services where not shown as handled at all, also in the database I can see:

is_handled = n

But the dependency itself works fine, I did not receive any notifications for the child services on both hosts.

Expected behavior

I think the custom dependencies should also trigger the is_handled field in the database, or even better it could be possible to configure in the dependency if the child should be treated as handled or not.

Screenshots

The implicit host dependency shows it fine: IcingaWeb Host Down

The custom dependency does not handle it IcingaWeb Agent Critical

The database parameters: IcingaWeb Database Handled

Your Environment

Include as many relevant details about the environment you experienced the problem in

icinga2 - The Icinga 2 network monitoring daemon (version: r2.14.0-1)

Copyright (c) 2012-2023 Icinga GmbH (https://icinga.com/) License GPLv2+: GNU GPL version 2 or later https://gnu.org/licenses/gpl2.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

System information: Platform: Debian GNU/Linux Platform version: 11 (bullseye) Kernel: Linux Kernel version: 5.10.0-25-amd64 Architecture: x86_64

Build information: Compiler: GNU 10.2.1 Build host: runner-hh8q3bz2-project-575-concurrent-0 OpenSSL version: OpenSSL 1.1.1n 15 Mar 2022

Disabled features: command compatlog debuglog elasticsearch gelf graphite influxdb journald livestatus opentsdb perfdata statusdata syslog Enabled features: api checker icingadb influxdb2 mainlog notification

Icinga Web 2 Version | 2.11.4 Git Commit 11453bfa92a70a44efbf7f966f5e7f27e9300a28 PHP-Version 7.4.33 Git Commit Date 2023-01-26

Modules:

director 1.10.2 grafana 2.0.3 icingadb 1.0.2 incubator 0.20.0 vspheredb 1.7.1

[2023-08-30 22:04:59 +0200] information/cli: Icinga application loader (version: r2.14.0-1) [2023-08-30 22:04:59 +0200] information/cli: Loading configuration file(s). [2023-08-30 22:04:59 +0200] information/ConfigItem: Committing config item(s). [2023-08-30 22:04:59 +0200] information/ApiListener: My API identity: mavm-icingam01.duscitrix.de [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 2 NotificationCommands. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 1166 Notifications. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 1 IcingaApplication. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 369 Hosts. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 106 HostGroups. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 1 Influxdb2Writer. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 710 Dependencies. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 1 IcingaDB. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 1 FileLogger. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 21 Zones. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 1 CheckerComponent. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 20 Endpoints. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 1 ApiUser. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 1 NotificationComponent. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 1 ApiListener. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 287 CheckCommands. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 11 UserGroups. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 8 Users. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 797 Services. [2023-08-30 22:04:59 +0200] information/ConfigItem: Instantiated 2 ServiceGroups. [2023-08-30 22:04:59 +0200] information/ScriptGlobal: Dumping variables to file '/var/cache/icinga2/icinga2.vars' [2023-08-30 22:04:59 +0200] information/cli: Finished validating the configuration file(s).

p-schneider commented 9 months ago

Is this similar (or a duplicate of) #6092 ?

nilmerg commented 2 months ago

I can somewhat reproduce this. Though, since Icinga DB Web v1.1 the reachability of children is reliably visible and very similar in appearance to how a handled state is shown.

So, is this still relevant?