Some checks failed
		
		
	
	Build Test Deploy / authority-container (push) Has been cancelled
				
			Build Test Deploy / docs (push) Has been cancelled
				
			Build Test Deploy / deploy (push) Has been cancelled
				
			Build Test Deploy / build-test (push) Has been cancelled
				
			Docs CI / lint-and-preview (push) Has been cancelled
				
			
		
			
				
	
	
		
			175 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			175 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | ||
|   "title": "StellaOps Authority - Token & Access Monitoring",
 | ||
|   "uid": "authority-token-monitoring",
 | ||
|   "schemaVersion": 38,
 | ||
|   "version": 1,
 | ||
|   "editable": true,
 | ||
|   "timezone": "",
 | ||
|   "graphTooltip": 0,
 | ||
|   "time": {
 | ||
|     "from": "now-6h",
 | ||
|     "to": "now"
 | ||
|   },
 | ||
|   "templating": {
 | ||
|     "list": [
 | ||
|       {
 | ||
|         "name": "datasource",
 | ||
|         "type": "datasource",
 | ||
|         "query": "prometheus",
 | ||
|         "refresh": 1,
 | ||
|         "hide": 0,
 | ||
|         "current": {}
 | ||
|       }
 | ||
|     ]
 | ||
|   },
 | ||
|   "panels": [
 | ||
|     {
 | ||
|       "id": 1,
 | ||
|       "title": "Token Requests – Success vs Failure",
 | ||
|       "type": "timeseries",
 | ||
|       "datasource": {
 | ||
|         "type": "prometheus",
 | ||
|         "uid": "${datasource}"
 | ||
|       },
 | ||
|       "fieldConfig": {
 | ||
|         "defaults": {
 | ||
|           "unit": "req/s",
 | ||
|           "displayName": "{{grant_type}} ({{status}})"
 | ||
|         },
 | ||
|         "overrides": []
 | ||
|       },
 | ||
|       "targets": [
 | ||
|         {
 | ||
|           "refId": "A",
 | ||
|           "expr": "sum by (grant_type, status) (rate(http_server_duration_seconds_count{service_name=\"stellaops-authority\", http_route=\"/token\"}[5m]))",
 | ||
|           "legendFormat": "{{grant_type}} {{status}}"
 | ||
|         }
 | ||
|       ],
 | ||
|       "options": {
 | ||
|         "legend": {
 | ||
|           "displayMode": "table",
 | ||
|           "placement": "bottom"
 | ||
|         },
 | ||
|         "tooltip": {
 | ||
|           "mode": "multi"
 | ||
|         }
 | ||
|       }
 | ||
|     },
 | ||
|     {
 | ||
|       "id": 2,
 | ||
|       "title": "Rate Limiter Rejections",
 | ||
|       "type": "timeseries",
 | ||
|       "datasource": {
 | ||
|         "type": "prometheus",
 | ||
|         "uid": "${datasource}"
 | ||
|       },
 | ||
|       "fieldConfig": {
 | ||
|         "defaults": {
 | ||
|           "unit": "req/s",
 | ||
|           "displayName": "{{limiter}}"
 | ||
|         },
 | ||
|         "overrides": []
 | ||
|       },
 | ||
|       "targets": [
 | ||
|         {
 | ||
|           "refId": "A",
 | ||
|           "expr": "sum by (limiter) (rate(aspnetcore_rate_limiting_rejections_total{service_name=\"stellaops-authority\"}[5m]))",
 | ||
|           "legendFormat": "{{limiter}}"
 | ||
|         }
 | ||
|       ]
 | ||
|     },
 | ||
|     {
 | ||
|       "id": 3,
 | ||
|       "title": "Bypass Events (5m)",
 | ||
|       "type": "stat",
 | ||
|       "datasource": {
 | ||
|         "type": "prometheus",
 | ||
|         "uid": "${datasource}"
 | ||
|       },
 | ||
|       "fieldConfig": {
 | ||
|         "defaults": {
 | ||
|           "unit": "short",
 | ||
|           "color": {
 | ||
|             "mode": "thresholds"
 | ||
|           },
 | ||
|           "thresholds": {
 | ||
|             "mode": "absolute",
 | ||
|             "steps": [
 | ||
|               { "color": "green", "value": null },
 | ||
|               { "color": "orange", "value": 1 },
 | ||
|               { "color": "red", "value": 5 }
 | ||
|             ]
 | ||
|           }
 | ||
|         },
 | ||
|         "overrides": []
 | ||
|       },
 | ||
|       "targets": [
 | ||
|         {
 | ||
|           "refId": "A",
 | ||
|           "expr": "sum(rate(log_messages_total{message_template=\"Granting StellaOps bypass for remote {RemoteIp}; required scopes {RequiredScopes}.\"}[5m]))"
 | ||
|         }
 | ||
|       ],
 | ||
|       "options": {
 | ||
|         "reduceOptions": {
 | ||
|           "calcs": ["last"],
 | ||
|           "fields": "",
 | ||
|           "values": false
 | ||
|         },
 | ||
|         "orientation": "horizontal",
 | ||
|         "textMode": "auto"
 | ||
|       }
 | ||
|     },
 | ||
|     {
 | ||
|       "id": 4,
 | ||
|       "title": "Lockout Events (15m)",
 | ||
|       "type": "stat",
 | ||
|       "datasource": {
 | ||
|         "type": "prometheus",
 | ||
|         "uid": "${datasource}"
 | ||
|       },
 | ||
|       "fieldConfig": {
 | ||
|         "defaults": {
 | ||
|           "unit": "short",
 | ||
|           "color": {
 | ||
|             "mode": "thresholds"
 | ||
|           },
 | ||
|           "thresholds": {
 | ||
|             "mode": "absolute",
 | ||
|             "steps": [
 | ||
|               { "color": "green", "value": null },
 | ||
|               { "color": "orange", "value": 5 },
 | ||
|               { "color": "red", "value": 10 }
 | ||
|             ]
 | ||
|           }
 | ||
|         },
 | ||
|         "overrides": []
 | ||
|       },
 | ||
|       "targets": [
 | ||
|         {
 | ||
|           "refId": "A",
 | ||
|           "expr": "sum(rate(log_messages_total{message_template=\"Plugin {PluginName} denied access for {Username} due to lockout (retry after {RetryAfter}).\"}[15m]))"
 | ||
|         }
 | ||
|       ],
 | ||
|       "options": {
 | ||
|         "reduceOptions": {
 | ||
|           "calcs": ["last"],
 | ||
|           "fields": "",
 | ||
|           "values": false
 | ||
|         },
 | ||
|         "orientation": "horizontal",
 | ||
|         "textMode": "auto"
 | ||
|       }
 | ||
|     },
 | ||
|     {
 | ||
|       "id": 5,
 | ||
|       "title": "Trace Explorer Shortcut",
 | ||
|       "type": "text",
 | ||
|       "options": {
 | ||
|         "mode": "markdown",
 | ||
|         "content": "[Open Trace Explorer](#/explore?left={\"datasource\":\"tempo\",\"queries\":[{\"query\":\"{service.name=\\\"stellaops-authority\\\", span_name=~\\\"authority.token.*\\\"}\",\"refId\":\"A\"}]})"
 | ||
|       }
 | ||
|     }
 | ||
|   ],
 | ||
|   "links": []
 | ||
| }
 |