206 lines
6.0 KiB
Django/Jinja
206 lines
6.0 KiB
Django/Jinja
# ------------------------------------------------------------------------------
|
|
# FILE: ansible/playbooks/roles/monitoring/templates/prometheus.yaml.j2
|
|
# DESCRIPTION: Prometheus scrape configuration
|
|
# ------------------------------------------------------------------------------
|
|
|
|
global:
|
|
scrape_interval: 30s
|
|
evaluation_interval: 30s
|
|
|
|
alerting:
|
|
alertmanagers:
|
|
- static_configs:
|
|
- targets:
|
|
- alertmanager:9093
|
|
|
|
rule_files: []
|
|
|
|
scrape_configs:
|
|
|
|
# Prometheus self-monitoring
|
|
- job_name: prometheus
|
|
static_configs:
|
|
- targets:
|
|
- localhost:9090
|
|
|
|
# cinderella-castle node exporter (this host)
|
|
- job_name: node-cinderella-castle
|
|
static_configs:
|
|
- targets:
|
|
- 10.1.71.31:9100
|
|
labels:
|
|
hostname: cinderella-castle
|
|
|
|
# Proxmox nodes (node exporter on each hypervisor)
|
|
- job_name: proxmox-nodes
|
|
static_configs:
|
|
- targets:
|
|
- 10.1.71.11:9100
|
|
- 10.1.71.12:9100
|
|
- 10.1.71.13:9100
|
|
labels:
|
|
job: proxmox
|
|
|
|
# Traefik metrics
|
|
- job_name: traefik
|
|
static_configs:
|
|
- targets:
|
|
- 10.1.71.35:8080
|
|
labels:
|
|
hostname: lightning-lane
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Proxmox VE Exporter — cluster-level metrics (VM states, storage, CPU)
|
|
# Uses the multi-target pattern: Prometheus passes the cluster address as a
|
|
# query parameter to the exporter, which proxies to the Proxmox API.
|
|
# One scrape job covers all three nodes via the cluster API endpoint.
|
|
# --------------------------------------------------------------------------
|
|
- job_name: proxmox-cluster
|
|
metrics_path: /pve
|
|
params:
|
|
module: [default]
|
|
cluster: ["1"]
|
|
node: [""]
|
|
static_configs:
|
|
- targets:
|
|
- 10.1.71.11 # main-street-usa — cluster API endpoint
|
|
labels:
|
|
cluster: magic-kingdom
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
target_label: __param_target
|
|
- source_labels: [__param_target]
|
|
target_label: instance
|
|
- target_label: __address__
|
|
replacement: pve-exporter:9221
|
|
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Pure Storage FlashArray -- utilidor (DEFERRED until Purity 6.7+)
|
|
#
|
|
# When utilidor is upgraded to Purity 6.7+, uncomment this job and remove
|
|
# the legacy exporter container. No container needed -- Prometheus scrapes
|
|
# the native OpenMetrics endpoint on the array directly over HTTPS.
|
|
#
|
|
# Also add vault_pure_utilidor_api_token to group_vars/all/vault and create
|
|
# a read-only API token on utilidor under System -> Users -> API Tokens.
|
|
# --------------------------------------------------------------------------
|
|
# - job_name: pure-flasharray-utilidor
|
|
# metrics_path: /metrics/array
|
|
# scheme: https
|
|
# tls_config:
|
|
# insecure_skip_verify: true
|
|
# authorization:
|
|
# credentials: {{ vault_pure_utilidor_api_token }}
|
|
# params:
|
|
# namespace: ["purefa"]
|
|
# static_configs:
|
|
# - targets:
|
|
# - utilidor.local.mk-labs.cloud
|
|
# labels:
|
|
# array: utilidor
|
|
# array_type: physical
|
|
|
|
# --------------------------------------------------------------------------
|
|
# UniFi Network — SNMP scrape jobs (one per device for clean Grafana filtering)
|
|
# All targets use the if_mib module for interface throughput, errors, and
|
|
# up/down state. Auth uses the mk_labs_v2c community string from vault.
|
|
# --------------------------------------------------------------------------
|
|
|
|
- job_name: snmp-udm-pro
|
|
metrics_path: /snmp
|
|
params:
|
|
auth: [mk_labs_v2c]
|
|
module: [if_mib]
|
|
static_configs:
|
|
- targets:
|
|
- 192.168.1.1
|
|
labels:
|
|
device: world-drive
|
|
model: UDM-Pro
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
target_label: __param_target
|
|
- source_labels: [__param_target]
|
|
target_label: instance
|
|
- target_label: __address__
|
|
replacement: 10.1.71.31:9116
|
|
|
|
- job_name: snmp-usw-pro-aggregation
|
|
metrics_path: /snmp
|
|
params:
|
|
auth: [mk_labs_v2c]
|
|
module: [if_mib]
|
|
static_configs:
|
|
- targets:
|
|
- 192.168.1.123
|
|
labels:
|
|
device: usw-pro-aggregation
|
|
model: USW-Pro-Aggregation
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
target_label: __param_target
|
|
- source_labels: [__param_target]
|
|
target_label: instance
|
|
- target_label: __address__
|
|
replacement: 10.1.71.31:9116
|
|
|
|
- job_name: snmp-usw-pro-max-24
|
|
metrics_path: /snmp
|
|
scrape_interval: 60s
|
|
scrape_timeout: 55s
|
|
params:
|
|
auth: [mk_labs_v2c]
|
|
module: [if_mib]
|
|
static_configs:
|
|
- targets:
|
|
- 192.168.1.226
|
|
labels:
|
|
device: usw-pro-max-24
|
|
model: USW-Pro-Max-24
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
target_label: __param_target
|
|
- source_labels: [__param_target]
|
|
target_label: instance
|
|
- target_label: __address__
|
|
replacement: 10.1.71.31:9116
|
|
|
|
- job_name: snmp-usw-lite-16-poe
|
|
metrics_path: /snmp
|
|
params:
|
|
auth: [mk_labs_v2c]
|
|
module: [if_mib]
|
|
static_configs:
|
|
- targets:
|
|
- 192.168.1.136
|
|
labels:
|
|
device: usw-lite-16-poe
|
|
model: USW-Lite-16-PoE
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
target_label: __param_target
|
|
- source_labels: [__param_target]
|
|
target_label: instance
|
|
- target_label: __address__
|
|
replacement: 10.1.71.31:9116
|
|
|
|
- job_name: snmp-ups-tower
|
|
metrics_path: /snmp
|
|
params:
|
|
auth: [mk_labs_v2c]
|
|
module: [if_mib]
|
|
static_configs:
|
|
- targets:
|
|
- 192.168.1.233
|
|
labels:
|
|
device: ups-tower
|
|
model: UPS-Tower
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
target_label: __param_target
|
|
- source_labels: [__param_target]
|
|
target_label: instance
|
|
- target_label: __address__
|
|
replacement: 10.1.71.31:9116
|