| { | |
| "annotations": { | |
| "list": [ | |
| { | |
| "builtIn": 1, | |
| "datasource": "-- Grafana --", | |
| "enable": true, | |
| "hide": true, | |
| "iconColor": "rgba(0, 211, 255, 1)", | |
| "name": "Annotations & Alerts", | |
| "type": "dashboard" | |
| } | |
| ] | |
| }, | |
| "editable": true, | |
| "gnetId": null, | |
| "graphTooltip": 0, | |
| "id": null, | |
| "links": [], | |
| "panels": [ | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "thresholds" | |
| }, | |
| "mappings": [ | |
| { | |
| "options": { | |
| "0": { | |
| "color": "red", | |
| "index": 1, | |
| "text": "Unhealthy" | |
| }, | |
| "1": { | |
| "color": "yellow", | |
| "index": 2, | |
| "text": "Degraded" | |
| }, | |
| "2": { | |
| "color": "green", | |
| "index": 3, | |
| "text": "Healthy" | |
| } | |
| }, | |
| "type": "value" | |
| } | |
| ], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "red", | |
| "value": null | |
| }, | |
| { | |
| "color": "yellow", | |
| "value": 1 | |
| }, | |
| { | |
| "color": "green", | |
| "value": 2 | |
| } | |
| ] | |
| }, | |
| "unit": "none" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 6, | |
| "x": 0, | |
| "y": 0 | |
| }, | |
| "id": 1, | |
| "options": { | |
| "colorMode": "background", | |
| "graphMode": "none", | |
| "justifyMode": "auto", | |
| "orientation": "auto", | |
| "reduceOptions": { | |
| "calcs": ["lastNotNull"], | |
| "fields": "", | |
| "values": false | |
| }, | |
| "textMode": "auto" | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "sync_health_status{instance=\"$instance\"}", | |
| "refId": "A" | |
| } | |
| ], | |
| "title": "Sync Status", | |
| "type": "stat" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "palette-classic" | |
| }, | |
| "custom": { | |
| "axisLabel": "", | |
| "axisPlacement": "auto", | |
| "barAlignment": 0, | |
| "drawStyle": "line", | |
| "fillOpacity": 10, | |
| "gradientMode": "none", | |
| "hideFrom": { | |
| "tooltip": false, | |
| "viz": false, | |
| "legend": false | |
| }, | |
| "lineInterpolation": "linear", | |
| "lineWidth": 1, | |
| "pointSize": 5, | |
| "scaleDistribution": { | |
| "type": "linear" | |
| }, | |
| "showPoints": "never", | |
| "spanNulls": false | |
| }, | |
| "mappings": [], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "green", | |
| "value": null | |
| } | |
| ] | |
| }, | |
| "unit": "s" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 8, | |
| "w": 12, | |
| "x": 6, | |
| "y": 0 | |
| }, | |
| "id": 2, | |
| "options": { | |
| "legend": { | |
| "calcs": ["mean", "max", "last"], | |
| "displayMode": "table", | |
| "placement": "bottom" | |
| }, | |
| "tooltip": { | |
| "mode": "multi" | |
| } | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "sync_duration_seconds_bucket{instance=\"$instance\",le=\"+Inf\"}", | |
| "legendFormat": "{{operation}} sync duration", | |
| "refId": "A" | |
| } | |
| ], | |
| "title": "Sync Duration", | |
| "type": "timeseries" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "thresholds" | |
| }, | |
| "mappings": [], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "red", | |
| "value": null | |
| }, | |
| { | |
| "color": "yellow", | |
| "value": 90 | |
| }, | |
| { | |
| "color": "green", | |
| "value": 95 | |
| } | |
| ] | |
| }, | |
| "unit": "percent" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 8, | |
| "w": 6, | |
| "x": 18, | |
| "y": 0 | |
| }, | |
| "id": 3, | |
| "options": { | |
| "orientation": "auto", | |
| "reduceOptions": { | |
| "calcs": ["lastNotNull"], | |
| "fields": "", | |
| "values": false | |
| }, | |
| "showThresholdLabels": false, | |
| "showThresholdMarkers": true | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "rate(sync_success_total{instance=\"$instance\"}[5m]) / (rate(sync_success_total{instance=\"$instance\"}[5m]) + rate(sync_errors_total{instance=\"$instance\"}[5m])) * 100", | |
| "refId": "A" | |
| } | |
| ], | |
| "title": "Sync Success Rate", | |
| "type": "gauge" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "palette-classic" | |
| }, | |
| "custom": { | |
| "axisLabel": "", | |
| "axisPlacement": "auto", | |
| "barAlignment": 0, | |
| "drawStyle": "line", | |
| "fillOpacity": 10, | |
| "gradientMode": "none", | |
| "hideFrom": { | |
| "tooltip": false, | |
| "viz": false, | |
| "legend": false | |
| }, | |
| "lineInterpolation": "linear", | |
| "lineWidth": 1, | |
| "pointSize": 5, | |
| "scaleDistribution": { | |
| "type": "linear" | |
| }, | |
| "showPoints": "never", | |
| "spanNulls": false | |
| }, | |
| "mappings": [], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "green", | |
| "value": null | |
| } | |
| ] | |
| }, | |
| "unit": "short" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 8, | |
| "w": 12, | |
| "x": 0, | |
| "y": 8 | |
| }, | |
| "id": 4, | |
| "options": { | |
| "legend": { | |
| "calcs": ["last", "max"], | |
| "displayMode": "table", | |
| "placement": "bottom" | |
| }, | |
| "tooltip": { | |
| "mode": "multi" | |
| } | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "sync_errors_total{instance=\"$instance\"}", | |
| "legendFormat": "{{operation}} - {{error_type}}", | |
| "refId": "A" | |
| } | |
| ], | |
| "title": "Sync Errors", | |
| "type": "timeseries" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "thresholds" | |
| }, | |
| "mappings": [], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "green", | |
| "value": null | |
| }, | |
| { | |
| "color": "yellow", | |
| "value": 100 | |
| }, | |
| { | |
| "color": "red", | |
| "value": 500 | |
| } | |
| ] | |
| }, | |
| "unit": "short" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 6, | |
| "x": 0, | |
| "y": 16 | |
| }, | |
| "id": 5, | |
| "options": { | |
| "colorMode": "value", | |
| "graphMode": "area", | |
| "justifyMode": "auto", | |
| "orientation": "auto", | |
| "reduceOptions": { | |
| "calcs": ["lastNotNull"], | |
| "fields": "", | |
| "values": false | |
| }, | |
| "textMode": "auto" | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "sync_skills_cached{instance=\"$instance\"}", | |
| "refId": "A" | |
| } | |
| ], | |
| "title": "Skills Cached", | |
| "type": "stat" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "thresholds" | |
| }, | |
| "mappings": [], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "green", | |
| "value": null | |
| }, | |
| { | |
| "color": "yellow", | |
| "value": 20 | |
| }, | |
| { | |
| "color": "red", | |
| "value": 50 | |
| } | |
| ] | |
| }, | |
| "unit": "short" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 6, | |
| "x": 6, | |
| "y": 16 | |
| }, | |
| "id": 6, | |
| "options": { | |
| "colorMode": "value", | |
| "graphMode": "area", | |
| "justifyMode": "auto", | |
| "orientation": "auto", | |
| "reduceOptions": { | |
| "calcs": ["lastNotNull"], | |
| "fields": "", | |
| "values": false | |
| }, | |
| "textMode": "auto" | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "sync_categories_cached{instance=\"$instance\"}", | |
| "refId": "A" | |
| } | |
| ], | |
| "title": "Categories Cached", | |
| "type": "stat" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "thresholds" | |
| }, | |
| "mappings": [ | |
| { | |
| "options": { | |
| "0": { | |
| "color": "red", | |
| "index": 0, | |
| "text": "Disconnected" | |
| }, | |
| "1": { | |
| "color": "green", | |
| "index": 1, | |
| "text": "Connected" | |
| } | |
| }, | |
| "type": "value" | |
| } | |
| ], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "red", | |
| "value": null | |
| }, | |
| { | |
| "color": "green", | |
| "value": 1 | |
| } | |
| ] | |
| }, | |
| "unit": "short" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 6, | |
| "x": 12, | |
| "y": 16 | |
| }, | |
| "id": 7, | |
| "options": { | |
| "colorMode": "background", | |
| "graphMode": "none", | |
| "justifyMode": "auto", | |
| "orientation": "auto", | |
| "reduceOptions": { | |
| "calcs": ["lastNotNull"], | |
| "fields": "", | |
| "values": false | |
| }, | |
| "textMode": "auto" | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "websocket_connected{instance=\"$instance\"}", | |
| "refId": "A" | |
| } | |
| ], | |
| "title": "WebSocket Status", | |
| "type": "stat" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "thresholds" | |
| }, | |
| "mappings": [], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "green", | |
| "value": null | |
| }, | |
| { | |
| "color": "yellow", | |
| "value": 5 | |
| }, | |
| { | |
| "color": "red", | |
| "value": 10 | |
| } | |
| ] | |
| }, | |
| "unit": "short" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 6, | |
| "x": 18, | |
| "y": 16 | |
| }, | |
| "id": 8, | |
| "options": { | |
| "colorMode": "value", | |
| "graphMode": "area", | |
| "justifyMode": "auto", | |
| "orientation": "auto", | |
| "reduceOptions": { | |
| "calcs": ["lastNotNull"], | |
| "fields": "", | |
| "values": false | |
| }, | |
| "textMode": "auto" | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "websocket_reconnects_total{instance=\"$instance\"}", | |
| "refId": "A" | |
| } | |
| ], | |
| "title": "WebSocket Reconnections", | |
| "type": "stat" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "palette-classic" | |
| }, | |
| "custom": { | |
| "axisLabel": "", | |
| "axisPlacement": "auto", | |
| "barAlignment": 0, | |
| "drawStyle": "line", | |
| "fillOpacity": 10, | |
| "gradientMode": "none", | |
| "hideFrom": { | |
| "tooltip": false, | |
| "viz": false, | |
| "legend": false | |
| }, | |
| "lineInterpolation": "linear", | |
| "lineWidth": 1, | |
| "pointSize": 5, | |
| "scaleDistribution": { | |
| "type": "linear" | |
| }, | |
| "showPoints": "never", | |
| "spanNulls": false | |
| }, | |
| "mappings": [], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "green", | |
| "value": null | |
| } | |
| ] | |
| }, | |
| "unit": "s" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 8, | |
| "w": 12, | |
| "x": 0, | |
| "y": 20 | |
| }, | |
| "id": 9, | |
| "options": { | |
| "legend": { | |
| "calcs": ["mean", "max"], | |
| "displayMode": "table", | |
| "placement": "bottom" | |
| }, | |
| "tooltip": { | |
| "mode": "multi" | |
| } | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "rating_sync_duration_seconds_bucket{instance=\"$instance\",le=\"+Inf\"}", | |
| "legendFormat": "Rating sync duration", | |
| "refId": "A" | |
| } | |
| ], | |
| "title": "Rating Sync Duration", | |
| "type": "timeseries" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "palette-classic" | |
| }, | |
| "custom": { | |
| "axisLabel": "", | |
| "axisPlacement": "auto", | |
| "barAlignment": 0, | |
| "drawStyle": "line", | |
| "fillOpacity": 10, | |
| "gradientMode": "none", | |
| "hideFrom": { | |
| "tooltip": false, | |
| "viz": false, | |
| "legend": false | |
| }, | |
| "lineInterpolation": "linear", | |
| "lineWidth": 1, | |
| "pointSize": 5, | |
| "scaleDistribution": { | |
| "type": "linear" | |
| }, | |
| "showPoints": "never", | |
| "spanNulls": false | |
| }, | |
| "mappings": [], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "green", | |
| "value": null | |
| } | |
| ] | |
| }, | |
| "unit": "short" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 8, | |
| "w": 12, | |
| "x": 12, | |
| "y": 20 | |
| }, | |
| "id": 10, | |
| "options": { | |
| "legend": { | |
| "calcs": ["sum", "last"], | |
| "displayMode": "table", | |
| "placement": "bottom" | |
| }, | |
| "tooltip": { | |
| "mode": "multi" | |
| } | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "rate(conflicts_detected_total{instance=\"$instance\"}[5m])", | |
| "legendFormat": "Detected - {{conflict_type}}", | |
| "refId": "A" | |
| }, | |
| { | |
| "expr": "rate(conflicts_resolved_total{instance=\"$instance\"}[5m])", | |
| "legendFormat": "Resolved - {{resolution_strategy}}", | |
| "refId": "B" | |
| } | |
| ], | |
| "title": "Conflicts Detected vs Resolved", | |
| "type": "timeseries" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "palette-classic" | |
| }, | |
| "custom": { | |
| "axisLabel": "", | |
| "axisPlacement": "auto", | |
| "barAlignment": 0, | |
| "drawStyle": "line", | |
| "fillOpacity": 10, | |
| "gradientMode": "none", | |
| "hideFrom": { | |
| "tooltip": false, | |
| "viz": false, | |
| "legend": false | |
| }, | |
| "lineInterpolation": "linear", | |
| "lineWidth": 1, | |
| "pointSize": 5, | |
| "scaleDistribution": { | |
| "type": "linear" | |
| }, | |
| "showPoints": "never", | |
| "spanNulls": false | |
| }, | |
| "mappings": [], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "green", | |
| "value": null | |
| } | |
| ] | |
| }, | |
| "unit": "short" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 8, | |
| "w": 12, | |
| "x": 0, | |
| "y": 28 | |
| }, | |
| "id": 11, | |
| "options": { | |
| "legend": { | |
| "calcs": ["last"], | |
| "displayMode": "table", | |
| "placement": "bottom" | |
| }, | |
| "tooltip": { | |
| "mode": "multi" | |
| } | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "rating_sync_pending{instance=\"$instance\"}", | |
| "legendFormat": "Pending ratings", | |
| "refId": "A" | |
| }, | |
| { | |
| "expr": "rating_sync_failed_uploads{instance=\"$instance\"}", | |
| "legendFormat": "Failed uploads", | |
| "refId": "B" | |
| } | |
| ], | |
| "title": "Rating Sync Queue", | |
| "type": "timeseries" | |
| }, | |
| { | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": { | |
| "color": { | |
| "mode": "thresholds" | |
| }, | |
| "mappings": [], | |
| "thresholds": { | |
| "mode": "absolute", | |
| "steps": [ | |
| { | |
| "color": "green", | |
| "value": null | |
| }, | |
| { | |
| "color": "yellow", | |
| "value": 50 | |
| }, | |
| { | |
| "color": "red", | |
| "value": 100 | |
| } | |
| ] | |
| }, | |
| "unit": "short" | |
| } | |
| }, | |
| "gridPos": { | |
| "h": 8, | |
| "w": 12, | |
| "x": 12, | |
| "y": 28 | |
| }, | |
| "id": 12, | |
| "options": { | |
| "colorMode": "value", | |
| "graphMode": "area", | |
| "justifyMode": "auto", | |
| "orientation": "auto", | |
| "reduceOptions": { | |
| "calcs": ["lastNotNull"], | |
| "fields": "", | |
| "values": false | |
| }, | |
| "textMode": "auto" | |
| }, | |
| "pluginVersion": "8.5.0", | |
| "targets": [ | |
| { | |
| "expr": "conflicts_unresolved{instance=\"$instance\"}", | |
| "refId": "A" | |
| } | |
| ], | |
| "title": "Unresolved Conflicts", | |
| "type": "stat" | |
| } | |
| ], | |
| "refresh": "30s", | |
| "schemaVersion": 27, | |
| "style": "dark", | |
| "tags": ["sync", "atomsaas", "monitoring"], | |
| "templating": { | |
| "list": [ | |
| { | |
| "current": { | |
| "selected": false, | |
| "text": "All", | |
| "value": "$__all" | |
| }, | |
| "datasource": "Prometheus", | |
| "definition": "label_values(sync_duration_seconds_bucket, instance)", | |
| "hide": 0, | |
| "includeAll": true, | |
| "label": "Instance", | |
| "multi": false, | |
| "name": "instance", | |
| "options": [], | |
| "query": { | |
| "query": "label_values(sync_duration_seconds_bucket, instance)", | |
| "refId": "Prometheus-instance-Variable-Query" | |
| }, | |
| "refresh": 1, | |
| "regex": "", | |
| "skipUrlSync": false, | |
| "sort": 1, | |
| "type": "query" | |
| } | |
| ] | |
| }, | |
| "time": { | |
| "from": "now-1h", | |
| "to": "now" | |
| }, | |
| "timepicker": {}, | |
| "timezone": "", | |
| "title": "Atom SaaS Sync Monitoring", | |
| "uid": "atomsaas-sync-monitoring", | |
| "version": 1 | |
| } | |