2025-11-22 20:14:55 -06:00
|
|
|
apiVersion: v1
|
|
|
|
|
kind: ConfigMap
|
|
|
|
|
metadata:
|
|
|
|
|
name: prometheus-config
|
|
|
|
|
data:
|
|
|
|
|
prometheus.yml: |
|
|
|
|
|
global:
|
|
|
|
|
scrape_interval: 10s
|
|
|
|
|
evaluation_interval: 10s
|
|
|
|
|
alerting:
|
2026-03-25 06:02:17 -05:00
|
|
|
alertmanagers: []
|
|
|
|
|
rule_files:
|
|
|
|
|
- /etc/prometheus/alerts.yml
|
2025-11-22 20:14:55 -06:00
|
|
|
scrape_configs:
|
|
|
|
|
# This scrapes endpoints on my servers
|
2025-11-22 21:22:51 -06:00
|
|
|
- job_name: node
|
2025-11-22 20:14:55 -06:00
|
|
|
static_configs:
|
|
|
|
|
- targets:
|
|
|
|
|
- "genesis.shire-zebra.ts.net:9100"
|
|
|
|
|
- "isaiah.shire-zebra.ts.net:9100"
|
|
|
|
|
- "jeremiah.shire-zebra.ts.net:9100"
|
|
|
|
|
- "zeke.shire-zebra.ts.net:9100"
|
|
|
|
|
- "hosea.shire-zebra.ts.net:9100"
|
|
|
|
|
- "exodus.shire-zebra.ts.net:9100"
|
|
|
|
|
- "linode.shire-zebra.ts.net:9100"
|
2025-11-22 21:22:51 -06:00
|
|
|
- job_name: systemd
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets:
|
2025-11-22 20:14:55 -06:00
|
|
|
- "genesis.shire-zebra.ts.net:9558"
|
|
|
|
|
- "isaiah.shire-zebra.ts.net:9558"
|
|
|
|
|
- "jeremiah.shire-zebra.ts.net:9558"
|
|
|
|
|
- "zeke.shire-zebra.ts.net:9558"
|
|
|
|
|
- "hosea.shire-zebra.ts.net:9558"
|
|
|
|
|
- "exodus.shire-zebra.ts.net:9558"
|
|
|
|
|
- "linode.shire-zebra.ts.net:9558"
|
2025-11-22 21:22:51 -06:00
|
|
|
- job_name: ping
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets:
|
2025-11-22 20:14:55 -06:00
|
|
|
- "genesis.shire-zebra.ts.net:9427"
|
|
|
|
|
- "isaiah.shire-zebra.ts.net:9427"
|
|
|
|
|
- "jeremiah.shire-zebra.ts.net:9427"
|
|
|
|
|
- "zeke.shire-zebra.ts.net:9427"
|
|
|
|
|
- "hosea.shire-zebra.ts.net:9427"
|
|
|
|
|
- "exodus.shire-zebra.ts.net:9427"
|
|
|
|
|
- "linode.shire-zebra.ts.net:9427"
|
2026-03-25 09:25:16 -05:00
|
|
|
# ICMP ping reachability for non-NixOS infrastructure
|
|
|
|
|
- job_name: infra_ping
|
|
|
|
|
metrics_path: /probe
|
|
|
|
|
params:
|
|
|
|
|
module: [icmp]
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets:
|
|
|
|
|
- "10.42.0.3" # OpenWRT access point
|
|
|
|
|
- "10.42.0.4" # Joel (Proxmox)
|
|
|
|
|
- "10.42.1.1" # pve1 (Proxmox)
|
|
|
|
|
- "10.42.1.4" # chronicles (Synology NAS)
|
|
|
|
|
- "10.42.1.14" # nas1 (TrueNAS)
|
|
|
|
|
- "10.42.2.57" # odoo
|
|
|
|
|
- "10.42.2.89" # mattermost
|
|
|
|
|
- "10.42.2.155" # homeassistant
|
|
|
|
|
- "10.42.3.58" # USW-Pro-HD-24 (UniFi switch)
|
|
|
|
|
relabel_configs:
|
|
|
|
|
- source_labels: [__address__]
|
|
|
|
|
target_label: __param_target
|
|
|
|
|
- source_labels: [__param_target]
|
|
|
|
|
target_label: instance
|
|
|
|
|
- target_label: __address__
|
|
|
|
|
replacement: "genesis.shire-zebra.ts.net:9115"
|
2025-11-22 21:22:51 -06:00
|
|
|
- job_name: dnsmasq
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets:
|
2025-11-22 20:14:55 -06:00
|
|
|
- "genesis.shire-zebra.ts.net:9153"
|
2025-11-22 21:22:51 -06:00
|
|
|
# Converter from TrueNAS
|
|
|
|
|
- job_name: graphite
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets:
|
2025-11-22 20:14:55 -06:00
|
|
|
- "hosea.shire-zebra.ts.net:9108"
|
2026-03-27 13:07:32 +00:00
|
|
|
# Restic rest-server backup metrics (HTTPS with basic auth)
|
2026-03-25 07:24:24 -05:00
|
|
|
- job_name: restic_backups
|
2026-03-26 05:56:21 -05:00
|
|
|
scheme: https
|
|
|
|
|
tls_config:
|
2026-03-27 13:07:32 +00:00
|
|
|
insecure_skip_verify: true
|
|
|
|
|
basic_auth:
|
|
|
|
|
username_file: /etc/prometheus/secrets/restic/username
|
|
|
|
|
password_file: /etc/prometheus/secrets/restic/password
|
2026-03-25 07:24:24 -05:00
|
|
|
static_configs:
|
|
|
|
|
- targets:
|
|
|
|
|
- "nas1.shire-zebra.ts.net:30248"
|
|
|
|
|
# Mattermost metrics
|
|
|
|
|
- job_name: mattermost
|
|
|
|
|
metrics_path: /metrics
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets:
|
|
|
|
|
- "mattermost.thehellings.lan:8065"
|
|
|
|
|
# UniFi metrics via unpoller
|
|
|
|
|
- job_name: unifi
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets:
|
|
|
|
|
- "unpoller.monitoring.svc.cluster.local:9130"
|
2026-03-27 13:07:32 +00:00
|
|
|
# kube-state-metrics
|
|
|
|
|
- job_name: kube_state_metrics
|
|
|
|
|
static_configs:
|
|
|
|
|
- targets:
|
|
|
|
|
- "kube-state-metrics.monitoring.svc.cluster.local:8080"
|
2025-11-22 20:14:55 -06:00
|
|
|
# This scrapes metrics from the Kubernetes kubelets
|
2025-11-22 21:22:51 -06:00
|
|
|
- job_name: kubelet
|
|
|
|
|
kubernetes_sd_configs:
|
|
|
|
|
- role: node
|
|
|
|
|
scheme: https
|
|
|
|
|
tls_config:
|
|
|
|
|
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
|
|
|
|
authorization:
|
|
|
|
|
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
|
|
|
|
# This scrapes metrics about the containers themselves
|
|
|
|
|
- job_name: cadvisor
|
|
|
|
|
kubernetes_sd_configs:
|
|
|
|
|
- role: node
|
|
|
|
|
scheme: https
|
|
|
|
|
tls_config:
|
|
|
|
|
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
|
|
|
|
metrics_path: /metrics/cadvisor
|
2025-11-23 01:12:20 -06:00
|
|
|
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
2025-11-22 21:22:51 -06:00
|
|
|
# This scrapes Service endpoints in Kubernetes
|
|
|
|
|
- job_name: 'k8sservices'
|
|
|
|
|
kubernetes_sd_configs:
|
2025-11-23 01:12:20 -06:00
|
|
|
- role: endpointslice
|
2025-11-22 21:22:51 -06:00
|
|
|
relabel_configs:
|
|
|
|
|
- source_labels:
|
|
|
|
|
- __meta_kubernetes_namespace
|
|
|
|
|
- __meta_kubernetes_service_name
|
|
|
|
|
action: drop
|
|
|
|
|
regex: "default;kubernetes"
|
|
|
|
|
- source_labels:
|
|
|
|
|
- __meta_kubernetes_namespace
|
|
|
|
|
regex: default
|
|
|
|
|
action: keep
|
|
|
|
|
- source_labels:
|
|
|
|
|
- __meta_kubernetes_service_name
|
|
|
|
|
target_label: job
|
|
|
|
|
authorization:
|
|
|
|
|
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
|
|
|
|
# This scrapes any exposed pod port named "metrics", assuming that it is
|
|
|
|
|
# a prometheus source
|
|
|
|
|
- job_name: k8spods
|
|
|
|
|
kubernetes_sd_configs:
|
|
|
|
|
- role: pod
|
|
|
|
|
relabel_configs:
|
|
|
|
|
- source_labels:
|
|
|
|
|
- __meta_kubernetes_pod_container_port_name
|
|
|
|
|
regex: metrics
|
|
|
|
|
action: keep
|
|
|
|
|
- source_labels:
|
|
|
|
|
- __meta_kubernetes_pod_container_name
|
|
|
|
|
target_label: job
|
|
|
|
|
authorization:
|
|
|
|
|
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|