-
Type:
Problem report
-
Resolution: Unresolved
-
Priority:
Trivial
-
None
-
Affects Version/s: 7.0.30
-
Component/s: None
-
None
Environment: Zabbix Server 7.0.8
Steps to reproduce:
The issue occurs intermittently and cannot be reliably reproduced on demand. However, it can be identified by inspecting SLA report calculations and the underlying service event records in the database.
Result:
The reported SLA percentage drops significantly below the expected value, even though no downtime occurred or the actual outage duration was too short to cause such a severe penalty.

Expected result:
The SLA calculation accurately reflects actual service availability based on correct downtime intervals.
A problem row (value = 5) opens a downtime interval, which should be closed by a matching recovery row (value = -1). However, the Zabbix server sometimes generates problem rows without a corresponding recovery record, or timestamps the recovery earlier than the problem. As a result, the interval remains unclosed, causing the SLA calculation to count downtime indefinitely.
To resolve this manually, we have to find the affected serviceid, and locate the unclosed record in service_alarms where value = 5. Updating that row directly to value = -1