EOL Risk Scores
in your Dynatrace® environment
What it sends
Four metric keys, refreshed by one push a day. Every data point carries the product slug, its letter grade, its lifecycle label and whether an active CISA KEV entry applies.
Set it up
Three steps. The exporter is a single Python file with no dependencies beyond the standard library, and it never loops or retries on its own.
Step 1
In Dynatrace, generate an access token with the single scope metrics.ingest. That is the only permission the exporter needs.
Step 2
Set two environment variables and preview the payload before anything is sent.
export DT_ENV_URL=https://<environment-id>.live.dynatrace.com export DT_API_TOKEN=dt0c01.... python dt_push.py --dry-run python dt_push.py --limit 25 python dt_push.py
Metrics appear under Metrics (search endoflife.) within a minute or two. Schedule the full push once a day; one run is about 2,000 data points.
Step 3
Import the dashboard: Dashboards → New dashboard → Upload and pick eol-risk-overview.dashboard.json from the repository. Eleven tiles: products tracked, average score, past-EOL count, KEV-exposed count, products by grade, a honeycomb of every product's score, the 25 highest-risk products, everything reaching end of life in the next 90 days, the past-EOL-and-exploited intersection, and the score trend.
Alert on it
A custom alert on max(endoflife.risk_score) split by product, firing when a product's score is above 80 (grade F, Critical risk), gives each product its own event. The repository README carries the exact settings.
Not on Dynatrace?
The same data runs our Grafana dashboard, Zabbix template, Nagios check and the developer API.
All integrations Developer API Risk Score methodology