-
Documentation task
-
Resolution: Fixed
-
Major
-
2.0.17, 2.2.12, 3.0.2
-
Sprint 50 (Mar 2019), Sprint 51 (Apr 2019), Sprint 52 (May 2019), Sprint 53 (Jun 2019)
-
0
Internal monitoring for LLD rules is even more important than regular items, so I've decided to use actions for lld-rule-based internal events.
After some time it's appeared to be that I don't get alerts when I expected to get them.
It appeared to be that lld rule can have error state (visible red X with error message) but it's not in "not_supported" state and internal event also is not generated in such case.
The reason is that function lld_process_discovery_rule(), after processing JSON data, can only switch from not_supported to supported, but not vice versa.
So far 2 use cases discovered when it may happen:
- Value should be a JSON object.
- Cannot create item: item with the same key "key[eth1]" already exists.
I'm not sure is this done (to not switch to not_supported) for intention or it's just a missed point, but I believe that LLD rules have to be switched to not_supported unconditionally if they cannot work for some reason.
Debug log for different cases see below.