This article explains how the “PI Experiencing Errors” alarms work in Foglight for database cartridges (SQL Server, Oracle, SSAS, Azure SQL, etc.). These alarms let you know when the Performance Investigator (PI) stops collecting data for a period of time.
The “PI Experiencing Errors” alarm is triggered when PI data collection stops because of data gap errors, usually due to OLAP (Online Analytical Processing) data not being available or written to the performance repository as expected.
Each monitored agent type uses a hidden Agent Status Property (ASP) to determine how long a delay in SQL PI data collection is tolerated before triggering the rule.
SQL Server, Azure SQL, MySQL PI, and PostgreSQL PI: paecOlapAvailabilityDataGapMinutes
Oracle: spiecOlapAvailabilityDataGapMinutes
SSAS: ssasSpiEngOlapAvailabilityDataGapMinutes
If SQL PI data has not been written to the performance repository within the configured threshold (default: 30 minutes) the alarm fires.
These properties often appear as -2147483648 in the Agent Status Properties UI, which represents an unset (null) value using Java’s minimum 4-byte integer.
Depending on the monitored technology, the following rules may trigger using the same logic:
DBSS - SQL PI: SQL PI Experiencing Errors (SQL Server)
DBO - SQL PI: SQL PI Experiencing Errors (Oracle)
SSAS - PI Experiencing Errors (SSAS) {This depends on the SQL Server agent also functioning with PI}
Note: The "MySQL_PI - PI repository availability" and "Postgres_PI - PI repository availability" rules are not based on these agent status property settings.
Follow these steps to understand and address the alarm:
| Agent Status Property Name | Description | Default Value |
|---|---|---|
paecOlapAvailabilityEnable | Enables OLAP availability checks for SQL Server, Azure SQL, MySQL PI, and PostgreSQL PI | TRUE |
paecOlapAvailabilityIntervalMinutes | OLAP availability check frequency (SQL Server, Azure SQL, MySQLPI, and PostgreSQL PI) | 1 minute |
paecOlapAvailabilityDataGapMinutes | Gap for last sample to consider the data as available (minutes) for SQL Server, Azure SQL, MySQLPI, and PostgreSQL PI | 1 minute |
spiecOlapAvailabilityEnable | Enables OLAP availability checks for Oracle | TRUE |
spiecOlapAvailabilityIntervalMinutes | OLAP availability check frequency (Oracle) | 1 minute |
spiecOlapAvailabilityDataGapMinutes | Gap for last sample to consider the data as available (minutes) for Oracle | 1 minute |
ssasSpiEngOlapAvailabilityEnable | Enables OLAP availability checks for SSAS | TRUE |
ssasSpiEngOlapAvailabilityIntervalMinutes | OLAP availability check frequency (SSAS) | 1 minute |
ssasSpiEngOlapAvailabilityDataGapMinutes | Gap for last sample to consider the data as available (minutes) for SSAS | 1 minute |
Note: A value of
-2147483648indicates the property is not explicitly set and defaults to the internal value (usually 30 minutes for data gap threshold).