72cda2dc92
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
520 lines
14 KiB
JSON
520 lines
14 KiB
JSON
{
|
|
"exposures": {
|
|
"<missing>": 19
|
|
},
|
|
"generated_at": "2026-04-13T06:36:45Z",
|
|
"hypervisors": {
|
|
"<missing>": 19
|
|
},
|
|
"instances": {
|
|
"container-updates": {
|
|
"docker-update-exporter:9105": 1,
|
|
"raspberrypi.tail13f623.ts.net:9105": 1
|
|
},
|
|
"kuma": {
|
|
"kuma.lan.ddnsgeek.com": 1,
|
|
"monitor-kuma:3001": 1
|
|
},
|
|
"node": {
|
|
"nix-cache:9100": 1,
|
|
"node-exporter:9100": 1,
|
|
"pbs.sweet.home:9100": 1,
|
|
"pihole:9100": 1,
|
|
"pve.sweet.home:9100": 1,
|
|
"raspberrypi.tail13f623.ts.net:9100": 1,
|
|
"server:9100": 1
|
|
},
|
|
"pihole": {
|
|
"pihole-exporter:9617": 1
|
|
},
|
|
"prometheus": {
|
|
"prometheus:9090": 1
|
|
},
|
|
"proxmox-storage": {
|
|
"pbs.sweet.home:9102": 1,
|
|
"pve.sweet.home:9101": 1
|
|
},
|
|
"telegraf": {
|
|
"raspberrypi.tail13f623.ts.net:9273": 1,
|
|
"telegraf:9273": 1
|
|
},
|
|
"traefik": {
|
|
"raspberrypi.tail13f623.ts.net:8080": 1,
|
|
"traefik.lan.ddnsgeek.com:8080": 1
|
|
}
|
|
},
|
|
"jobs": {
|
|
"container-updates": 2,
|
|
"kuma": 2,
|
|
"node": 7,
|
|
"pihole": 1,
|
|
"prometheus": 1,
|
|
"proxmox-storage": 2,
|
|
"telegraf": 2,
|
|
"traefik": 2
|
|
},
|
|
"networks": {
|
|
"<missing>": 19
|
|
},
|
|
"notes": [
|
|
"The `up` query indicates scrape success from Prometheus perspective only.",
|
|
"Use static repository architecture docs and deployment configs with this runtime export for complete diagrams."
|
|
],
|
|
"prometheus_url": "http://prometheus:9090",
|
|
"query_observations": {
|
|
"job_count": 8,
|
|
"up_series_count": 19
|
|
},
|
|
"roles": {
|
|
"backup": 2,
|
|
"cache": 1,
|
|
"docker": 6,
|
|
"pihole": 2,
|
|
"prometheus": 1,
|
|
"proxmox": 2,
|
|
"raspberrypi": 4,
|
|
"server": 1
|
|
},
|
|
"services": {
|
|
"<missing>": 19
|
|
},
|
|
"targets": [
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "docker-update-exporter:9105",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "container-updates",
|
|
"role": "docker"
|
|
},
|
|
"health": "up",
|
|
"instance": "docker-update-exporter:9105",
|
|
"job": "container-updates",
|
|
"labels": {
|
|
"instance": "docker-update-exporter:9105",
|
|
"job": "container-updates",
|
|
"role": "docker"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "container-updates",
|
|
"scrape_url": "http://docker-update-exporter:9105/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "raspberrypi.tail13f623.ts.net:9105",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "container-updates",
|
|
"role": "raspberrypi"
|
|
},
|
|
"health": "up",
|
|
"instance": "raspberrypi.tail13f623.ts.net:9105",
|
|
"job": "container-updates",
|
|
"labels": {
|
|
"instance": "raspberrypi.tail13f623.ts.net:9105",
|
|
"job": "container-updates",
|
|
"role": "raspberrypi"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "container-updates",
|
|
"scrape_url": "http://raspberrypi.tail13f623.ts.net:9105/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "kuma.lan.ddnsgeek.com",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "30s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "kuma",
|
|
"role": "raspberrypi"
|
|
},
|
|
"health": "up",
|
|
"instance": "kuma.lan.ddnsgeek.com",
|
|
"job": "kuma",
|
|
"labels": {
|
|
"instance": "kuma.lan.ddnsgeek.com",
|
|
"job": "kuma",
|
|
"role": "raspberrypi"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "kuma",
|
|
"scrape_url": "http://kuma.lan.ddnsgeek.com/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "monitor-kuma:3001",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "30s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "kuma",
|
|
"role": "docker"
|
|
},
|
|
"health": "up",
|
|
"instance": "monitor-kuma:3001",
|
|
"job": "kuma",
|
|
"labels": {
|
|
"instance": "monitor-kuma:3001",
|
|
"job": "kuma",
|
|
"role": "docker"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "kuma",
|
|
"scrape_url": "http://monitor-kuma:3001/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "nix-cache:9100",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "node",
|
|
"role": "cache"
|
|
},
|
|
"health": "up",
|
|
"instance": "nix-cache:9100",
|
|
"job": "node",
|
|
"labels": {
|
|
"instance": "nix-cache:9100",
|
|
"job": "node",
|
|
"role": "cache"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "node",
|
|
"scrape_url": "http://nix-cache:9100/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "node-exporter:9100",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "node",
|
|
"role": "docker"
|
|
},
|
|
"health": "up",
|
|
"instance": "node-exporter:9100",
|
|
"job": "node",
|
|
"labels": {
|
|
"instance": "node-exporter:9100",
|
|
"job": "node",
|
|
"role": "docker"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "node",
|
|
"scrape_url": "http://node-exporter:9100/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "pbs.sweet.home:9100",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "node",
|
|
"role": "backup"
|
|
},
|
|
"health": "up",
|
|
"instance": "pbs.sweet.home:9100",
|
|
"job": "node",
|
|
"labels": {
|
|
"instance": "pbs.sweet.home:9100",
|
|
"job": "node",
|
|
"role": "backup"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "node",
|
|
"scrape_url": "http://pbs.sweet.home:9100/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "pihole:9100",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "node",
|
|
"role": "pihole"
|
|
},
|
|
"health": "up",
|
|
"instance": "pihole:9100",
|
|
"job": "node",
|
|
"labels": {
|
|
"instance": "pihole:9100",
|
|
"job": "node",
|
|
"role": "pihole"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "node",
|
|
"scrape_url": "http://pihole:9100/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "pve.sweet.home:9100",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "node",
|
|
"role": "proxmox"
|
|
},
|
|
"health": "up",
|
|
"instance": "pve.sweet.home:9100",
|
|
"job": "node",
|
|
"labels": {
|
|
"instance": "pve.sweet.home:9100",
|
|
"job": "node",
|
|
"role": "proxmox"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "node",
|
|
"scrape_url": "http://pve.sweet.home:9100/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "raspberrypi.tail13f623.ts.net:9100",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "node",
|
|
"role": "raspberrypi"
|
|
},
|
|
"health": "up",
|
|
"instance": "raspberrypi.tail13f623.ts.net:9100",
|
|
"job": "node",
|
|
"labels": {
|
|
"instance": "raspberrypi.tail13f623.ts.net:9100",
|
|
"job": "node",
|
|
"role": "raspberrypi"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "node",
|
|
"scrape_url": "http://raspberrypi.tail13f623.ts.net:9100/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "server:9100",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "node",
|
|
"role": "server"
|
|
},
|
|
"health": "up",
|
|
"instance": "server:9100",
|
|
"job": "node",
|
|
"labels": {
|
|
"instance": "server:9100",
|
|
"job": "node",
|
|
"role": "server"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "node",
|
|
"scrape_url": "http://server:9100/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "pihole-exporter:9617",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "pihole",
|
|
"role": "pihole"
|
|
},
|
|
"health": "up",
|
|
"instance": "pihole-exporter:9617",
|
|
"job": "pihole",
|
|
"labels": {
|
|
"instance": "pihole-exporter:9617",
|
|
"job": "pihole",
|
|
"role": "pihole"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "pihole",
|
|
"scrape_url": "http://pihole-exporter:9617/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "prometheus:9090",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "prometheus",
|
|
"role": "prometheus"
|
|
},
|
|
"health": "up",
|
|
"instance": "prometheus:9090",
|
|
"job": "prometheus",
|
|
"labels": {
|
|
"instance": "prometheus:9090",
|
|
"job": "prometheus",
|
|
"role": "prometheus"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "prometheus",
|
|
"scrape_url": "http://prometheus:9090/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "pbs.sweet.home:9102",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "proxmox-storage",
|
|
"role": "backup",
|
|
"storage": "datastore"
|
|
},
|
|
"health": "up",
|
|
"instance": "pbs.sweet.home:9102",
|
|
"job": "proxmox-storage",
|
|
"labels": {
|
|
"instance": "pbs.sweet.home:9102",
|
|
"job": "proxmox-storage",
|
|
"role": "backup",
|
|
"storage": "datastore"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "proxmox-storage",
|
|
"scrape_url": "http://pbs.sweet.home:9102/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "pve.sweet.home:9101",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "proxmox-storage",
|
|
"role": "proxmox",
|
|
"storage": "lvm"
|
|
},
|
|
"health": "up",
|
|
"instance": "pve.sweet.home:9101",
|
|
"job": "proxmox-storage",
|
|
"labels": {
|
|
"instance": "pve.sweet.home:9101",
|
|
"job": "proxmox-storage",
|
|
"role": "proxmox",
|
|
"storage": "lvm"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "proxmox-storage",
|
|
"scrape_url": "http://pve.sweet.home:9101/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "raspberrypi.tail13f623.ts.net:9273",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "telegraf",
|
|
"role": "docker"
|
|
},
|
|
"health": "up",
|
|
"instance": "raspberrypi.tail13f623.ts.net:9273",
|
|
"job": "telegraf",
|
|
"labels": {
|
|
"instance": "raspberrypi.tail13f623.ts.net:9273",
|
|
"job": "telegraf",
|
|
"role": "docker"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "telegraf",
|
|
"scrape_url": "http://raspberrypi.tail13f623.ts.net:9273/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "telegraf:9273",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "telegraf",
|
|
"role": "docker"
|
|
},
|
|
"health": "up",
|
|
"instance": "telegraf:9273",
|
|
"job": "telegraf",
|
|
"labels": {
|
|
"instance": "telegraf:9273",
|
|
"job": "telegraf",
|
|
"role": "docker"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "telegraf",
|
|
"scrape_url": "http://telegraf:9273/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "raspberrypi.tail13f623.ts.net:8080",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "traefik",
|
|
"role": "raspberrypi"
|
|
},
|
|
"health": "up",
|
|
"instance": "raspberrypi.tail13f623.ts.net:8080",
|
|
"job": "traefik",
|
|
"labels": {
|
|
"instance": "raspberrypi.tail13f623.ts.net:8080",
|
|
"job": "traefik",
|
|
"role": "raspberrypi"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "traefik",
|
|
"scrape_url": "http://raspberrypi.tail13f623.ts.net:8080/metrics"
|
|
},
|
|
{
|
|
"discovered_labels": {
|
|
"__address__": "traefik.lan.ddnsgeek.com:8080",
|
|
"__metrics_path__": "/metrics",
|
|
"__scheme__": "http",
|
|
"__scrape_interval__": "15s",
|
|
"__scrape_timeout__": "10s",
|
|
"job": "traefik",
|
|
"role": "docker"
|
|
},
|
|
"health": "up",
|
|
"instance": "traefik.lan.ddnsgeek.com:8080",
|
|
"job": "traefik",
|
|
"labels": {
|
|
"instance": "traefik.lan.ddnsgeek.com:8080",
|
|
"job": "traefik",
|
|
"role": "docker"
|
|
},
|
|
"last_error": "",
|
|
"scrape_pool": "traefik",
|
|
"scrape_url": "http://traefik.lan.ddnsgeek.com:8080/metrics"
|
|
}
|
|
],
|
|
"unhealthy_targets": [],
|
|
"unknowns": {
|
|
"missing_label_counts": {
|
|
"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."
|
|
]
|
|
}
|
|
}
|