modified: default-environment.env

modified:   docs/prometheus-inventory.md
	new file:   docs/runtime/prometheus-inventory.json
	new file:   docs/runtime/prometheus-query-exposure.json
	new file:   docs/runtime/prometheus-query-hypervisor.json
	new file:   docs/runtime/prometheus-query-job-instance.json
	new file:   docs/runtime/prometheus-query-jobs.json
	new file:   docs/runtime/prometheus-query-network.json
	new file:   docs/runtime/prometheus-query-role.json
	new file:   docs/runtime/prometheus-query-service.json
	new file:   docs/runtime/prometheus-query-up.json
	new file:   docs/runtime/prometheus-targets.json
	modified:   monitoring/docker-socket-proxy/docker-compose.yml
	modified:   monitoring/mtls-bridge/docker-compose.yml
	modified:   monitoring/node-red/data/context/00b02bbd01c91485/flow.json
	modified:   monitoring/node-red/data/update-events.ndjson
This commit is contained in:
git
2026-04-13 16:40:32 +10:00
parent 2b83cd5599
commit 72cda2dc92
16 changed files with 1810 additions and 37 deletions
+111 -24
View File
@@ -1,38 +1,125 @@
# Prometheus Runtime Inventory
This document is generated by `scripts/export_prometheus_inventory.py` from Prometheus runtime data. Commit the generated update whenever architecture/runtime inventory changes.
## 1. Overview
## Usage
- Generated at: `2026-04-13T06:36:45Z`
- Prometheus URL: `http://prometheus:9090`
- Total active targets: `19`
- Unhealthy targets: `0`
- Source type: Observed runtime telemetry (not sole source of truth).
Required:
## 2. Scrape jobs
- `PROMETHEUS_URL`
| Job | Observed target count |
| --- | --- |
| container-updates | 2 |
| kuma | 2 |
| node | 7 |
| pihole | 1 |
| prometheus | 1 |
| proxmox-storage | 2 |
| telegraf | 2 |
| traefik | 2 |
Optional:
## 3. Active targets
- `PROMETHEUS_TIMEOUT` (default: `10` seconds)
- `PROMETHEUS_BEARER_TOKEN`
- `PROMETHEUS_USERNAME`
- `PROMETHEUS_PASSWORD`
- `PROMETHEUS_VERIFY_TLS` (default: `true`)
| Job | Instance | Health | Scrape URL |
| --- | --- | --- | --- |
| container-updates | docker-update-exporter:9105 | up | http://docker-update-exporter:9105/metrics |
| container-updates | raspberrypi.tail13f623.ts.net:9105 | up | http://raspberrypi.tail13f623.ts.net:9105/metrics |
| kuma | kuma.lan.ddnsgeek.com | up | http://kuma.lan.ddnsgeek.com/metrics |
| kuma | monitor-kuma:3001 | up | http://monitor-kuma:3001/metrics |
| node | nix-cache:9100 | up | http://nix-cache:9100/metrics |
| node | node-exporter:9100 | up | http://node-exporter:9100/metrics |
| node | pbs.sweet.home:9100 | up | http://pbs.sweet.home:9100/metrics |
| node | pihole:9100 | up | http://pihole:9100/metrics |
| node | pve.sweet.home:9100 | up | http://pve.sweet.home:9100/metrics |
| node | raspberrypi.tail13f623.ts.net:9100 | up | http://raspberrypi.tail13f623.ts.net:9100/metrics |
| node | server:9100 | up | http://server:9100/metrics |
| pihole | pihole-exporter:9617 | up | http://pihole-exporter:9617/metrics |
| prometheus | prometheus:9090 | up | http://prometheus:9090/metrics |
| proxmox-storage | pbs.sweet.home:9102 | up | http://pbs.sweet.home:9102/metrics |
| proxmox-storage | pve.sweet.home:9101 | up | http://pve.sweet.home:9101/metrics |
| telegraf | raspberrypi.tail13f623.ts.net:9273 | up | http://raspberrypi.tail13f623.ts.net:9273/metrics |
| telegraf | telegraf:9273 | up | http://telegraf:9273/metrics |
| traefik | raspberrypi.tail13f623.ts.net:8080 | up | http://raspberrypi.tail13f623.ts.net:8080/metrics |
| traefik | traefik.lan.ddnsgeek.com:8080 | up | http://traefik.lan.ddnsgeek.com:8080/metrics |
Run:
## 4. Unhealthy targets
| Job | Instance | Health | Last error |
| --- | --- | --- | --- |
| None | | | |
## 5. Hosts / instances observed
| Job | Instance | Series count |
| --- | --- | --- |
| container-updates | docker-update-exporter:9105 | 1 |
| container-updates | raspberrypi.tail13f623.ts.net:9105 | 1 |
| kuma | kuma.lan.ddnsgeek.com | 1 |
| kuma | monitor-kuma:3001 | 1 |
| node | nix-cache:9100 | 1 |
| node | node-exporter:9100 | 1 |
| node | pbs.sweet.home:9100 | 1 |
| node | pihole:9100 | 1 |
| node | pve.sweet.home:9100 | 1 |
| node | raspberrypi.tail13f623.ts.net:9100 | 1 |
| node | server:9100 | 1 |
| pihole | pihole-exporter:9617 | 1 |
| prometheus | prometheus:9090 | 1 |
| proxmox-storage | pbs.sweet.home:9102 | 1 |
| proxmox-storage | pve.sweet.home:9101 | 1 |
| telegraf | raspberrypi.tail13f623.ts.net:9273 | 1 |
| telegraf | telegraf:9273 | 1 |
| traefik | raspberrypi.tail13f623.ts.net:8080 | 1 |
| traefik | traefik.lan.ddnsgeek.com:8080 | 1 |
## 6. Services observed
| Service | Series count |
| --- | --- |
| <missing> | 19 |
## 7. Network / exposure metadata observed
| Category | Label | Series count |
| --- | --- | --- |
| network | <missing> | 19 |
| exposure | <missing> | 19 |
| role | backup | 2 |
| role | cache | 1 |
| role | docker | 6 |
| role | pihole | 2 |
| role | prometheus | 1 |
| role | proxmox | 2 |
| role | raspberrypi | 4 |
| role | server | 1 |
| hypervisor | <missing> | 19 |
## 8. Unknowns / missing metadata
| Missing label | Targets missing |
| --- | --- |
| exposure | 19 |
| hostname | 19 |
| hypervisor | 19 |
| network | 19 |
| service | 19 |
Notes:
- Prometheus runtime data is observational and not authoritative for placement/topology.
- Do not infer Proxmox host placement, VM placement, VLAN layout, or public/internal boundaries without explicit labels or additional inventory sources.
## 9. Regeneration instructions
```bash
export PROMETHEUS_URL="https://prometheus.example.com"
# Optional auth:
# export PROMETHEUS_BEARER_TOKEN="..."
# or export PROMETHEUS_USERNAME="..."; export PROMETHEUS_PASSWORD="..."
python3 scripts/export_prometheus_inventory.py --output-dir docs/runtime
```
## Outputs
- Raw API snapshots: `docs/runtime/prometheus-targets.json`, query result snapshots, and optional label-query snapshots.
- Normalized inventory: `docs/runtime/prometheus-inventory.json`
- Human summary: `docs/prometheus-inventory.md` (this file)
## Diagram/Docs pipeline note
Treat Prometheus data as observed runtime telemetry. Do not infer placement/topology/network boundaries unless labels or other repo sources explicitly provide that information.
## Status
Inventory has not been generated in this environment because no `PROMETHEUS_URL` was provided for execution.
This inventory feeds documentation and diagram workflows as an observed-runtime input alongside static repo configuration.