Kafka consumer that forwards alerts to Dynatrace Events API (with Redis/Valkey lookup).
1.1K
alert_streamer is een Python-service die alerts consumeert via de Kafka REST API, deze verrijkt met Dynatrace entity ID’s uit Redis/Valkey, en ze doorstuurt als CUSTOM_ALERT events naar de Dynatrace Events API v2.
curl -k){
"type": "HOST | PROCESS_GROUP | PROCESS_GROUP_INSTANCE",
"name": "Naam van de host of (process group / instance)",
"timestamp": "2025-10-15T11:15:00Z",
"alert_name": "Korte titel van de alert",
"message": "Uitgebreide beschrijving van het probleem",
"severity": "info | warning | error | critical",
"link_to_source": "http://url.naar/bron/log/of/dashboard",
"timeout": 600
}
| Variable | Required | Example value | Description |
|---|---|---|---|
KAFKA_REST_URL | ✅ | https://kafka-rest.mycompany.com | Kafka REST API base URL |
KAFKA_USER | ✅ | a336856a-62c3-10e3-d217-... | Kafka REST username |
KAFKA_PASS | ✅ | 4c9190fc-28cd-d51b-d33e-... | Kafka REST password |
KAFKA_TOPIC | ✅ | alerts.dynatrace | Kafka topic voor inkomende alerts |
VALKEY_HOST | ✅ | valkey | Hostname van Valkey/Redis |
DT_API_URL | ✅ | https://<tenant>.live.dynatrace.com | Dynatrace environment base URL |
DT_API_TOKEN | ✅ | dt0c01... | Dynatrace API Token (Events v2) |
SECURITY_MODE | ✅ | safe (default) / unsafe | TLS-validatie: safe = certificaten checken, unsafe = gedrag als curl -k |
docker run --rm \
-e KAFKA_BOOTSTRAP=kafka:9092 \
-e KAFKA_TOPIC=alerts.dynatrace \
-e VALKEY_HOST=valkey \
-e DT_API_URL=https://<tenant>.live.dynatrace.com \
-e DT_API_TOKEN=*** \
leontoetenel/alert_streamer:latest
apiVersion: v1
kind: ConfigMap
metadata:
name: alert-streamer-config
data:
DT_API_URL: "https://<tenant>.live.dynatrace.com"
KAFKA_REST_URL: "https://kafka-rest.mycompany.com"
KAFKA_TOPIC: "alerts.dynatrace"
VALKEY_HOST: "valkey"
SECURITY_MODE: "safe"
apiVersion: v1
kind: Secret
metadata:
name: alert-streamer-secrets
type: Opaque
stringData:
DT_API_URL: "https://<tenant>.live.dynatrace.com"
DT_API_TOKEN: "<your-api-token>"
apiVersion: apps/v1
kind: Deployment
metadata:
name: alert-streamer
spec:
replicas: 1
selector:
matchLabels:
app: alert-streamer
template:
metadata:
labels:
app: alert-streamer
spec:
containers:
- name: alert-streamer
image: docker.io/leontoetenel/alert_streamer:latest
imagePullPolicy: IfNotPresent
envFrom:
- configMapRef:
name: alert-streamer-config
- secretRef:
name: alert-streamer-secrets
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "512Mi"
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
securityContext:
fsGroup: 0
Content type
Image
Digest
sha256:ea22effd5…
Size
75.6 MB
Last updated
12 months ago
docker pull leontoetenel/alert_streamer