docs: archive entra materials and simplify deployment docs
This commit is contained in:
@@ -82,24 +82,3 @@ groups:
|
||||
annotations:
|
||||
summary: "Slow database queries detected"
|
||||
description: "Average query time is {{ $value }} seconds"
|
||||
|
||||
- name: azure
|
||||
interval: 30s
|
||||
rules:
|
||||
- alert: EntraAPIRateLimit
|
||||
expr: rate(entra_api_requests_total{status="429"}[5m]) > 0
|
||||
for: 1m
|
||||
labels:
|
||||
severity: warning
|
||||
annotations:
|
||||
summary: "Entra API rate limit hit"
|
||||
description: "Rate limit errors detected for Entra VerifiedID API"
|
||||
|
||||
- alert: AzureStorageErrors
|
||||
expr: rate(azure_storage_errors_total[5m]) > 0.01
|
||||
for: 5m
|
||||
labels:
|
||||
severity: warning
|
||||
annotations:
|
||||
summary: "Azure Storage errors detected"
|
||||
description: "Storage error rate is {{ $value }} errors per second"
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
{
|
||||
"dashboard": {
|
||||
"title": "Entra VerifiedID Integration",
|
||||
"tags": ["entra", "verifiedid", "credentials"],
|
||||
"timezone": "browser",
|
||||
"panels": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "Issuance Success Rate",
|
||||
"type": "gauge",
|
||||
"targets": [
|
||||
{
|
||||
"expr": "rate(entra_credentials_issued_total{status=\"success\"}[5m]) / rate(entra_credentials_issued_total[5m]) * 100",
|
||||
"legendFormat": "Success Rate"
|
||||
}
|
||||
],
|
||||
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 0},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"min": 0,
|
||||
"max": 100,
|
||||
"unit": "percent",
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{"value": 0, "color": "red"},
|
||||
{"value": 90, "color": "yellow"},
|
||||
{"value": 95, "color": "green"}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "API Request Rate",
|
||||
"type": "graph",
|
||||
"targets": [
|
||||
{
|
||||
"expr": "rate(entra_api_requests_total[5m])",
|
||||
"legendFormat": "{{operation}} - {{status}}"
|
||||
}
|
||||
],
|
||||
"gridPos": {"h": 8, "w": 12, "x": 12, "y": 0}
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "Error Rate by Operation",
|
||||
"type": "graph",
|
||||
"targets": [
|
||||
{
|
||||
"expr": "rate(entra_api_errors_total[5m])",
|
||||
"legendFormat": "{{operation}} - {{error_type}}"
|
||||
}
|
||||
],
|
||||
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 8}
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "Issuance Duration",
|
||||
"type": "graph",
|
||||
"targets": [
|
||||
{
|
||||
"expr": "histogram_quantile(0.95, entra_issuance_duration_seconds_bucket)",
|
||||
"legendFormat": "p95"
|
||||
},
|
||||
{
|
||||
"expr": "histogram_quantile(0.50, entra_issuance_duration_seconds_bucket)",
|
||||
"legendFormat": "p50"
|
||||
}
|
||||
],
|
||||
"gridPos": {"h": 8, "w": 12, "x": 12, "y": 8}
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "Webhook Events",
|
||||
"type": "graph",
|
||||
"targets": [
|
||||
{
|
||||
"expr": "rate(entra_webhooks_received_total[5m])",
|
||||
"legendFormat": "{{event_type}} - {{status}}"
|
||||
}
|
||||
],
|
||||
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 16}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "Active Requests",
|
||||
"type": "gauge",
|
||||
"targets": [
|
||||
{
|
||||
"expr": "entra_active_requests",
|
||||
"legendFormat": "{{operation}}"
|
||||
}
|
||||
],
|
||||
"gridPos": {"h": 8, "w": 12, "x": 12, "y": 16}
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"title": "Credentials Issued by Manifest",
|
||||
"type": "graph",
|
||||
"targets": [
|
||||
{
|
||||
"expr": "rate(entra_credentials_issued_total[5m])",
|
||||
"legendFormat": "{{manifest_name}} - {{status}}"
|
||||
}
|
||||
],
|
||||
"gridPos": {"h": 8, "w": 24, "x": 0, "y": 24}
|
||||
}
|
||||
],
|
||||
"refresh": "30s",
|
||||
"schemaVersion": 27,
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
# Prometheus configuration for Entra VerifiedID metrics
|
||||
# Add this to your Prometheus configuration
|
||||
|
||||
scrape_configs:
|
||||
- job_name: 'identity-service-entra'
|
||||
scrape_interval: 15s
|
||||
scrape_timeout: 10s
|
||||
metrics_path: '/metrics'
|
||||
static_configs:
|
||||
- targets:
|
||||
- 'identity-service:4002'
|
||||
labels:
|
||||
service: 'identity-service'
|
||||
component: 'entra-verifiedid'
|
||||
environment: 'production'
|
||||
|
||||
# Alert rules for Entra VerifiedID
|
||||
groups:
|
||||
- name: entra_verifiedid
|
||||
interval: 30s
|
||||
rules:
|
||||
# High error rate
|
||||
- alert: EntraIssuanceErrorRateHigh
|
||||
expr: |
|
||||
rate(entra_api_errors_total[5m]) / rate(entra_api_requests_total[5m]) > 0.10
|
||||
for: 5m
|
||||
labels:
|
||||
severity: critical
|
||||
annotations:
|
||||
summary: "Entra VerifiedID error rate is high"
|
||||
description: "Error rate is {{ $value | humanizePercentage }} (threshold: 10%)"
|
||||
|
||||
# High latency
|
||||
- alert: EntraIssuanceLatencyHigh
|
||||
expr: |
|
||||
histogram_quantile(0.95, entra_api_request_duration_seconds_bucket{operation="issueCredential"}) > 10
|
||||
for: 5m
|
||||
labels:
|
||||
severity: warning
|
||||
annotations:
|
||||
summary: "Entra VerifiedID latency is high"
|
||||
description: "p95 latency is {{ $value }}s (threshold: 10s)"
|
||||
|
||||
# Webhook processing failures
|
||||
- alert: EntraWebhookProcessingFailed
|
||||
expr: |
|
||||
rate(entra_webhook_errors_total[5m]) > 0
|
||||
for: 2m
|
||||
labels:
|
||||
severity: warning
|
||||
annotations:
|
||||
summary: "Entra webhook processing failures detected"
|
||||
description: "{{ $value }} webhook errors in the last 5 minutes"
|
||||
|
||||
# API down
|
||||
- alert: EntraAPIDown
|
||||
expr: |
|
||||
rate(entra_api_requests_total{status="success"}[5m]) == 0
|
||||
for: 5m
|
||||
labels:
|
||||
severity: critical
|
||||
annotations:
|
||||
summary: "Entra VerifiedID API appears to be down"
|
||||
description: "No successful API requests in the last 5 minutes"
|
||||
|
||||
# Rate limit approaching
|
||||
- alert: EntraRateLimitApproaching
|
||||
expr: |
|
||||
rate(entra_api_requests_total[1m]) > 40
|
||||
for: 2m
|
||||
labels:
|
||||
severity: warning
|
||||
annotations:
|
||||
summary: "Entra API rate limit approaching"
|
||||
description: "Request rate is {{ $value }}/min (limit: 50/min)"
|
||||
|
||||
Reference in New Issue
Block a user