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:
@@ -63,3 +63,10 @@ PORTAINER_GODEBUG=netdns=cgo
|
||||
DOCKER_SOCKET_PROXY_HOST=tcp://docker-socket-proxy:2375
|
||||
DOCKER_SOCKET_PROXY_LOG_LEVEL=debug
|
||||
NODE_COMPOSE_ROOT=/compose
|
||||
|
||||
# mTLS bridge
|
||||
MTLS_BRIDGE_LOG_LEVEL=DEBUG
|
||||
MTLS_BRIDGE_TIMEOUT=5
|
||||
MTLS_BRIDGE_CLIENT_KEY=/certs/clients/office-pc/office-pc.key
|
||||
MTLS_BRIDGE_CLIENT_CERT=/certs/clients/office-pc/office-pc.crt
|
||||
MTLS_BRIDGE_TARGET_URL=http://node-red:1880/docker-update-lockouts/clear
|
||||
|
||||
+111
-24
@@ -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.
|
||||
|
||||
@@ -0,0 +1,519 @@
|
||||
{
|
||||
"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."
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"data": {
|
||||
"result": [
|
||||
{
|
||||
"metric": {},
|
||||
"value": [
|
||||
1776062205.716,
|
||||
"19"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resultType": "vector"
|
||||
},
|
||||
"status": "success"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"data": {
|
||||
"result": [
|
||||
{
|
||||
"metric": {},
|
||||
"value": [
|
||||
1776062205.714,
|
||||
"19"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resultType": "vector"
|
||||
},
|
||||
"status": "success"
|
||||
}
|
||||
@@ -0,0 +1,198 @@
|
||||
{
|
||||
"data": {
|
||||
"result": [
|
||||
{
|
||||
"metric": {
|
||||
"instance": "pbs.sweet.home:9100",
|
||||
"job": "node"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "raspberrypi.tail13f623.ts.net:8080",
|
||||
"job": "traefik"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "traefik.lan.ddnsgeek.com:8080",
|
||||
"job": "traefik"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "pve.sweet.home:9101",
|
||||
"job": "proxmox-storage"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "raspberrypi.tail13f623.ts.net:9273",
|
||||
"job": "telegraf"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "docker-update-exporter:9105",
|
||||
"job": "container-updates"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "pihole:9100",
|
||||
"job": "node"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "pihole-exporter:9617",
|
||||
"job": "pihole"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "raspberrypi.tail13f623.ts.net:9105",
|
||||
"job": "container-updates"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "pve.sweet.home:9100",
|
||||
"job": "node"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "prometheus:9090",
|
||||
"job": "prometheus"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "telegraf:9273",
|
||||
"job": "telegraf"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "raspberrypi.tail13f623.ts.net:9100",
|
||||
"job": "node"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "node-exporter:9100",
|
||||
"job": "node"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "pbs.sweet.home:9102",
|
||||
"job": "proxmox-storage"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "nix-cache:9100",
|
||||
"job": "node"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "server:9100",
|
||||
"job": "node"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "kuma.lan.ddnsgeek.com",
|
||||
"job": "kuma"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"instance": "monitor-kuma:3001",
|
||||
"job": "kuma"
|
||||
},
|
||||
"value": [
|
||||
1776062205.712,
|
||||
"1"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resultType": "vector"
|
||||
},
|
||||
"status": "success"
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"data": {
|
||||
"result": [
|
||||
{
|
||||
"metric": {
|
||||
"job": "node"
|
||||
},
|
||||
"value": [
|
||||
1776062205.711,
|
||||
"7"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"job": "traefik"
|
||||
},
|
||||
"value": [
|
||||
1776062205.711,
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"job": "proxmox-storage"
|
||||
},
|
||||
"value": [
|
||||
1776062205.711,
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"job": "telegraf"
|
||||
},
|
||||
"value": [
|
||||
1776062205.711,
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"job": "container-updates"
|
||||
},
|
||||
"value": [
|
||||
1776062205.711,
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"job": "pihole"
|
||||
},
|
||||
"value": [
|
||||
1776062205.711,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"job": "prometheus"
|
||||
},
|
||||
"value": [
|
||||
1776062205.711,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"job": "kuma"
|
||||
},
|
||||
"value": [
|
||||
1776062205.711,
|
||||
"2"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resultType": "vector"
|
||||
},
|
||||
"status": "success"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"data": {
|
||||
"result": [
|
||||
{
|
||||
"metric": {},
|
||||
"value": [
|
||||
1776062205.715,
|
||||
"19"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resultType": "vector"
|
||||
},
|
||||
"status": "success"
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"data": {
|
||||
"result": [
|
||||
{
|
||||
"metric": {
|
||||
"role": "backup"
|
||||
},
|
||||
"value": [
|
||||
1776062205.714,
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"value": [
|
||||
1776062205.714,
|
||||
"4"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"role": "docker"
|
||||
},
|
||||
"value": [
|
||||
1776062205.714,
|
||||
"6"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"role": "proxmox"
|
||||
},
|
||||
"value": [
|
||||
1776062205.714,
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"role": "pihole"
|
||||
},
|
||||
"value": [
|
||||
1776062205.714,
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"role": "prometheus"
|
||||
},
|
||||
"value": [
|
||||
1776062205.714,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"role": "cache"
|
||||
},
|
||||
"value": [
|
||||
1776062205.714,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"role": "server"
|
||||
},
|
||||
"value": [
|
||||
1776062205.714,
|
||||
"1"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resultType": "vector"
|
||||
},
|
||||
"status": "success"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"data": {
|
||||
"result": [
|
||||
{
|
||||
"metric": {},
|
||||
"value": [
|
||||
1776062205.713,
|
||||
"19"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resultType": "vector"
|
||||
},
|
||||
"status": "success"
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
{
|
||||
"data": {
|
||||
"result": [
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "pbs.sweet.home:9100",
|
||||
"job": "node",
|
||||
"role": "backup"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "raspberrypi.tail13f623.ts.net:8080",
|
||||
"job": "traefik",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "traefik.lan.ddnsgeek.com:8080",
|
||||
"job": "traefik",
|
||||
"role": "docker"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "pve.sweet.home:9101",
|
||||
"job": "proxmox-storage",
|
||||
"role": "proxmox",
|
||||
"storage": "lvm"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "raspberrypi.tail13f623.ts.net:9273",
|
||||
"job": "telegraf",
|
||||
"role": "docker"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "docker-update-exporter:9105",
|
||||
"job": "container-updates",
|
||||
"role": "docker"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "pihole:9100",
|
||||
"job": "node",
|
||||
"role": "pihole"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "pihole-exporter:9617",
|
||||
"job": "pihole",
|
||||
"role": "pihole"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "raspberrypi.tail13f623.ts.net:9105",
|
||||
"job": "container-updates",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "pve.sweet.home:9100",
|
||||
"job": "node",
|
||||
"role": "proxmox"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "prometheus:9090",
|
||||
"job": "prometheus",
|
||||
"role": "prometheus"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "telegraf:9273",
|
||||
"job": "telegraf",
|
||||
"role": "docker"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "raspberrypi.tail13f623.ts.net:9100",
|
||||
"job": "node",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "node-exporter:9100",
|
||||
"job": "node",
|
||||
"role": "docker"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "pbs.sweet.home:9102",
|
||||
"job": "proxmox-storage",
|
||||
"role": "backup",
|
||||
"storage": "datastore"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "nix-cache:9100",
|
||||
"job": "node",
|
||||
"role": "cache"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "server:9100",
|
||||
"job": "node",
|
||||
"role": "server"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "kuma.lan.ddnsgeek.com",
|
||||
"job": "kuma",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metric": {
|
||||
"__name__": "up",
|
||||
"instance": "monitor-kuma:3001",
|
||||
"job": "kuma",
|
||||
"role": "docker"
|
||||
},
|
||||
"value": [
|
||||
1776062205.71,
|
||||
"1"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resultType": "vector"
|
||||
},
|
||||
"status": "success"
|
||||
}
|
||||
@@ -0,0 +1,497 @@
|
||||
{
|
||||
"data": {
|
||||
"activeTargets": [
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "raspberrypi.tail13f623.ts.net:9105",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "container-updates",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"globalUrl": "http://raspberrypi.tail13f623.ts.net:9105/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "raspberrypi.tail13f623.ts.net:9105",
|
||||
"job": "container-updates",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:38.412018212Z",
|
||||
"lastScrapeDuration": 0.119818002,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "container-updates",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://raspberrypi.tail13f623.ts.net:9105/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "docker-update-exporter:9105",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "container-updates",
|
||||
"role": "docker"
|
||||
},
|
||||
"globalUrl": "http://docker-update-exporter:9105/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "docker-update-exporter:9105",
|
||||
"job": "container-updates",
|
||||
"role": "docker"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:35.654237456Z",
|
||||
"lastScrapeDuration": 0.002254582,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "container-updates",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://docker-update-exporter:9105/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "monitor-kuma:3001",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "30s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "kuma",
|
||||
"role": "docker"
|
||||
},
|
||||
"globalUrl": "http://monitor-kuma:3001/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "monitor-kuma:3001",
|
||||
"job": "kuma",
|
||||
"role": "docker"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:27.982541752Z",
|
||||
"lastScrapeDuration": 0.069706065,
|
||||
"scrapeInterval": "30s",
|
||||
"scrapePool": "kuma",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://monitor-kuma:3001/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "kuma.lan.ddnsgeek.com",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "30s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "kuma",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"globalUrl": "http://kuma.lan.ddnsgeek.com/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "kuma.lan.ddnsgeek.com",
|
||||
"job": "kuma",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:39.961722007Z",
|
||||
"lastScrapeDuration": 1.470526665,
|
||||
"scrapeInterval": "30s",
|
||||
"scrapePool": "kuma",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://kuma.lan.ddnsgeek.com/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "pve.sweet.home:9100",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "node",
|
||||
"role": "proxmox"
|
||||
},
|
||||
"globalUrl": "http://pve.sweet.home:9100/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "pve.sweet.home:9100",
|
||||
"job": "node",
|
||||
"role": "proxmox"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:45.136284048Z",
|
||||
"lastScrapeDuration": 0.077552327,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "node",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://pve.sweet.home:9100/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "pbs.sweet.home:9100",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "node",
|
||||
"role": "backup"
|
||||
},
|
||||
"globalUrl": "http://pbs.sweet.home:9100/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "pbs.sweet.home:9100",
|
||||
"job": "node",
|
||||
"role": "backup"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:43.953992414Z",
|
||||
"lastScrapeDuration": 0.042913089,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "node",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://pbs.sweet.home:9100/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "pihole:9100",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "node",
|
||||
"role": "pihole"
|
||||
},
|
||||
"globalUrl": "http://pihole:9100/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "pihole:9100",
|
||||
"job": "node",
|
||||
"role": "pihole"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:42.158765958Z",
|
||||
"lastScrapeDuration": 0.027103133,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "node",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://pihole:9100/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "server:9100",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "node",
|
||||
"role": "server"
|
||||
},
|
||||
"globalUrl": "http://server:9100/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "server:9100",
|
||||
"job": "node",
|
||||
"role": "server"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:31.985355223Z",
|
||||
"lastScrapeDuration": 0.010159325,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "node",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://server:9100/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "nix-cache:9100",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "node",
|
||||
"role": "cache"
|
||||
},
|
||||
"globalUrl": "http://nix-cache:9100/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "nix-cache:9100",
|
||||
"job": "node",
|
||||
"role": "cache"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:32.054207846Z",
|
||||
"lastScrapeDuration": 0.011150377,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "node",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://nix-cache:9100/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "node-exporter:9100",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "node",
|
||||
"role": "docker"
|
||||
},
|
||||
"globalUrl": "http://node-exporter:9100/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "node-exporter:9100",
|
||||
"job": "node",
|
||||
"role": "docker"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:39.839919677Z",
|
||||
"lastScrapeDuration": 0.076223114,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "node",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://node-exporter:9100/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "raspberrypi.tail13f623.ts.net:9100",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "node",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"globalUrl": "http://raspberrypi.tail13f623.ts.net:9100/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "raspberrypi.tail13f623.ts.net:9100",
|
||||
"job": "node",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:36.961379652Z",
|
||||
"lastScrapeDuration": 0.292301106,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "node",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://raspberrypi.tail13f623.ts.net:9100/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "pihole-exporter:9617",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "pihole",
|
||||
"role": "pihole"
|
||||
},
|
||||
"globalUrl": "http://pihole-exporter:9617/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "pihole-exporter:9617",
|
||||
"job": "pihole",
|
||||
"role": "pihole"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:43.038435285Z",
|
||||
"lastScrapeDuration": 0.49729699,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "pihole",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://pihole-exporter:9617/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "prometheus:9090",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "prometheus",
|
||||
"role": "prometheus"
|
||||
},
|
||||
"globalUrl": "http://prometheus:9090/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "prometheus:9090",
|
||||
"job": "prometheus",
|
||||
"role": "prometheus"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:39.065876441Z",
|
||||
"lastScrapeDuration": 0.004656092,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "prometheus",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://prometheus:9090/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "pve.sweet.home:9101",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "proxmox-storage",
|
||||
"role": "proxmox",
|
||||
"storage": "lvm"
|
||||
},
|
||||
"globalUrl": "http://pve.sweet.home:9101/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "pve.sweet.home:9101",
|
||||
"job": "proxmox-storage",
|
||||
"role": "proxmox",
|
||||
"storage": "lvm"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:44.889795345Z",
|
||||
"lastScrapeDuration": 0.003225566,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "proxmox-storage",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://pve.sweet.home:9101/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "pbs.sweet.home:9102",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "proxmox-storage",
|
||||
"role": "backup",
|
||||
"storage": "datastore"
|
||||
},
|
||||
"globalUrl": "http://pbs.sweet.home:9102/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "pbs.sweet.home:9102",
|
||||
"job": "proxmox-storage",
|
||||
"role": "backup",
|
||||
"storage": "datastore"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:32.748484232Z",
|
||||
"lastScrapeDuration": 0.002049134,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "proxmox-storage",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://pbs.sweet.home:9102/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "raspberrypi.tail13f623.ts.net:9273",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "telegraf",
|
||||
"role": "docker"
|
||||
},
|
||||
"globalUrl": "http://raspberrypi.tail13f623.ts.net:9273/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "raspberrypi.tail13f623.ts.net:9273",
|
||||
"job": "telegraf",
|
||||
"role": "docker"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:36.677793239Z",
|
||||
"lastScrapeDuration": 0.151265608,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "telegraf",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://raspberrypi.tail13f623.ts.net:9273/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "telegraf:9273",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "telegraf",
|
||||
"role": "docker"
|
||||
},
|
||||
"globalUrl": "http://telegraf:9273/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "telegraf:9273",
|
||||
"job": "telegraf",
|
||||
"role": "docker"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:44.055413407Z",
|
||||
"lastScrapeDuration": 0.152691132,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "telegraf",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://telegraf:9273/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "traefik.lan.ddnsgeek.com:8080",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "traefik",
|
||||
"role": "docker"
|
||||
},
|
||||
"globalUrl": "http://traefik.lan.ddnsgeek.com:8080/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "traefik.lan.ddnsgeek.com:8080",
|
||||
"job": "traefik",
|
||||
"role": "docker"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:34.549111604Z",
|
||||
"lastScrapeDuration": 0.004579596,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "traefik",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://traefik.lan.ddnsgeek.com:8080/metrics"
|
||||
},
|
||||
{
|
||||
"discoveredLabels": {
|
||||
"__address__": "raspberrypi.tail13f623.ts.net:8080",
|
||||
"__metrics_path__": "/metrics",
|
||||
"__scheme__": "http",
|
||||
"__scrape_interval__": "15s",
|
||||
"__scrape_timeout__": "10s",
|
||||
"job": "traefik",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"globalUrl": "http://raspberrypi.tail13f623.ts.net:8080/metrics",
|
||||
"health": "up",
|
||||
"labels": {
|
||||
"instance": "raspberrypi.tail13f623.ts.net:8080",
|
||||
"job": "traefik",
|
||||
"role": "raspberrypi"
|
||||
},
|
||||
"lastError": "",
|
||||
"lastScrape": "2026-04-13T06:36:35.550082255Z",
|
||||
"lastScrapeDuration": 0.062750046,
|
||||
"scrapeInterval": "15s",
|
||||
"scrapePool": "traefik",
|
||||
"scrapeTimeout": "10s",
|
||||
"scrapeUrl": "http://raspberrypi.tail13f623.ts.net:8080/metrics"
|
||||
}
|
||||
],
|
||||
"droppedTargetCounts": {
|
||||
"container-updates": 0,
|
||||
"kuma": 0,
|
||||
"node": 0,
|
||||
"pihole": 0,
|
||||
"prometheus": 0,
|
||||
"proxmox-storage": 0,
|
||||
"telegraf": 0,
|
||||
"traefik": 0
|
||||
},
|
||||
"droppedTargets": []
|
||||
},
|
||||
"status": "success"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
docker-socket-proxy:
|
||||
profiles: ["monitoring","all","docker-socket-proxy", "core", "traefik", "prometheus"]
|
||||
profiles: ["monitoring","all","docker-socket-proxy", "core", "traefik", "prometheus", "test"]
|
||||
image: tecnativa/docker-socket-proxy:latest
|
||||
container_name: docker-socket-proxy
|
||||
hostname: docker-socket-proxy
|
||||
|
||||
@@ -6,14 +6,22 @@ services:
|
||||
container_name: mtls-bridge
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TARGET_URL=https://node-red.lan.ddnsgeek.com/docker-update-lockouts/clear
|
||||
- CLIENT_CERT=/certs/clients/office-pc/office-pc.crt
|
||||
- CLIENT_KEY=/certs/clients/office-pc/office-pc.key
|
||||
- TIMEOUT=5
|
||||
- TARGET_URL=${MTLS_BRIDGE_TARGET_URL}
|
||||
- CLIENT_CERT=${MTLS_BRIDGE_CLIENT_CERT}
|
||||
- CLIENT_KEY=${MTLS_BRIDGE_CLIENT_KEY}
|
||||
- TIMEOUT=${MTLS_BRIDGE_TIMEOUT}
|
||||
- LOG_LEVEL=${MTLS_BRIDGE_LOG_LEVEL:-INFO}
|
||||
- UPSTREAM_CA_CERT=${MTLS_BRIDGE_UPSTREAM_CA_CERT:-}
|
||||
volumes:
|
||||
- ${PROJECT_ROOT}/core/traefik/certs:/certs:ro
|
||||
labels:
|
||||
- "traefik.http.routers.mtls-bridge.rule=Host(`mtls-bridge.lan.ddnsgeek.com`)"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.mtls-bridge.entrypoints=websecure"
|
||||
- "traefik.http.routers.mtls-bridge.tls.certresolver=myresolver"
|
||||
- "io.portainer.accesscontrol.public"
|
||||
# - "traefik.http.routers.searxng.middlewares=crowdsec@file,secHeaders@file,error-pages-middleware"
|
||||
- "traefik.http.services.mtls-bridge.loadbalancer.server.port=8080"
|
||||
healthcheck:
|
||||
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8080/health', timeout=3).read()"]
|
||||
interval: 30s
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
{
|
||||
"dockerUpdateAttempts": {
|
||||
"telegraf|telegraf:latest|docker": {
|
||||
"time": 1776048224012,
|
||||
"status": "test_failed",
|
||||
"failedAt": 1776048287524,
|
||||
"notified": true
|
||||
}
|
||||
}
|
||||
"dockerUpdateAttempts": {}
|
||||
}
|
||||
@@ -109,3 +109,9 @@
|
||||
{"ts":"2026-04-13T02:44:47.524Z","flow":"docker-updates","event":"completed","container":"telegraf","project":"unknown","host":"docker","status":"locked","success":0,"failed":1,"duration_ms":0,"code":0,"error":""}
|
||||
{"ts":"2026-04-13T02:46:35.255Z","flow":"docker-updates","event":"completed","container":"update-test","project":"unknown","host":"docker","status":"success","success":1,"failed":0,"duration_ms":0,"code":0,"error":""}
|
||||
{"ts":"2026-04-13T02:58:03.503Z","flow":"docker-updates","event":"completed","container":"update-test","project":"unknown","host":"docker","status":"success","success":1,"failed":0,"duration_ms":0,"code":0,"error":""}
|
||||
{"ts":"2026-04-13T05:16:15.689Z","flow":"docker-updates","event":"completed","container":"update-test","project":"unknown","host":"docker","status":"success","success":1,"failed":0,"duration_ms":0,"code":0,"error":""}
|
||||
{"ts":"2026-04-13T05:16:51.797Z","flow":"docker-updates","event":"completed","container":"telegraf","project":"unknown","host":"docker","status":"failed","success":0,"failed":1,"duration_ms":0,"code":0,"error":""}
|
||||
{"ts":"2026-04-13T05:16:51.797Z","flow":"docker-updates","event":"completed","container":"telegraf","project":"unknown","host":"docker","status":"locked","success":0,"failed":1,"duration_ms":0,"code":0,"error":""}
|
||||
{"ts":"2026-04-13T05:27:32.283Z","flow":"docker-updates","event":"completed","container":"update-test","project":"unknown","host":"docker","status":"success","success":1,"failed":0,"duration_ms":0,"code":0,"error":""}
|
||||
{"ts":"2026-04-13T05:28:25.458Z","flow":"docker-updates","event":"completed","container":"telegraf","project":"unknown","host":"docker","status":"failed","success":0,"failed":1,"duration_ms":0,"code":0,"error":""}
|
||||
{"ts":"2026-04-13T05:28:25.458Z","flow":"docker-updates","event":"completed","container":"telegraf","project":"unknown","host":"docker","status":"locked","success":0,"failed":1,"duration_ms":0,"code":0,"error":""}
|
||||
|
||||
Reference in New Issue
Block a user