-
- | Symptom |
- Cause |
- Fix |
-
-
- | Logs/Metrics page shows "Observability Service Not Configured" |
- ICP Server's OpenSearch connection not configured |
- Add opensearchUrl, opensearchUsername, opensearchPassword before the first [section] header in ICP's deployment.toml and restart |
-
-
- | Metrics page shows "No metrics data" |
- No HTTP traffic sent to MI |
- Metrics are per-request — send traffic to a deployed API/proxy first |
-
-
- | Metrics page shows "No metrics data" |
- flow.statistics.enable not set |
- Add [mediation] flow.statistics.enable=true to MI's deployment.toml |
-
-
- | Metrics page shows "No metrics data" |
- [analytics] enabled not set |
- Add [analytics] enabled = true to MI's deployment.toml |
-
-
- | Metrics page shows "No metrics data" |
- icp_runtimeId has an explicit keyword mapping on the metrics index |
- Delete the metrics index and remove any template covering mi-metrics-logs-*. Let dynamic mapping create text + .keyword. |
-
-
- | Logs show "No logs found" |
- icp.runtime.log.suffix not in log4j2 pattern |
- Add ${sys:icp.runtime.log.suffix:-} to CARBON_LOGFILE.layout.pattern |
-
-
- | Logs show "No logs found" |
- Fluent Bit parser doesn't extract icp_runtimeId from app logs |
- Verify the mi_log_parser regex includes the (?:\s+\[icp\.runtimeId=(?<icp_runtimeId>[^\]]+)\])? capture group. ICP filters logs by runtimeId — docs without this field are invisible. |
-
-
- Fluent Bit parser errors: invalid time format |
- Parser Time_Format doesn't match MI log timestamps |
- MI uses %Y-%m-%d %H:%M:%S,%L (space separator, comma before millis). Verify your parsers.conf. |
-
-
- | Fluent Bit output fails to flush (retry errors) |
- tls setting doesn't match OpenSearch's protocol |
- Set tls Off for plain HTTP or tls On + tls.verify Off for HTTPS with self-signed certs |
-
-
- OpenSearch rejects docs with mapper_parsing_exception on time field |
- Index template date format doesn't accept MI's timestamp format |
- Add yyyy-MM-dd HH:mm:ss,SSS to the template's time.format (see Step 2) |
-
-
- synapse-analytics.log is empty |
- Analytics appender/logger not configured in log4j2 |
- Add ElasticStatisticsPublisher logger routing to SYNAPSE_ANALYTICS_LOGFILE |
-
-
- synapse-analytics.log missing [icp.runtimeId=...] |
- log4j2 pattern missing suffix |
- Add ${sys:icp.runtime.log.suffix:-} to the analytics appender pattern |
-
-
-
-## MI Analytics Data Format
-
-Each analytics line in `synapse-analytics.log` looks like:
-
-```text
-[2026-04-29 14:59:49,781] INFO {o.w.m.i.a.m.d.p.p.e.ElasticStatisticsPublisher} - SYNAPSE_ANALYTICS_DATA {"serverInfo":{...},"timestamp":"...","schemaVersion":1,"payload":{"entityType":"API","latency":31,"apiDetails":{...},...}} [icp.runtimeId=470d78e8-...]
-```
-
-Key payload fields used by the ICP Metrics page:
-
-