Saltar a contenido

Source: HA Prometheus Integration (docs oficial)

Docs canónicas del exporter Prometheus built-in en HA. Habilita con un solo line YAML (prometheus:), expone /api/prometheus, scrape-eable desde un Prometheus externo con long-lived token. Soporta filtering por domain/entity globs, namespacing, override_metric.

Configuración mínima para el setup del usuario

En el configuration.yaml del HA Yellow:

prometheus:
  namespace: hass
  filter:
    include_domains:
      - sensor
      - binary_sensor
      - climate
      - light
      - lock
      - switch
      - device_tracker
      - person
    # excluir noise específico:
    exclude_entity_globs:
      - sensor.*_uptime
      - sensor.weather_*

En el Prometheus del mini-PC:

- job_name: "hass-yellow"
  scrape_interval: 30s
  metrics_path: /api/prometheus
  authorization:
    credentials_file: /etc/prometheus/ha-token.txt
  scheme: http   # o https si tenés reverse proxy
  static_configs:
    - targets: ['ha-yellow.local:8123']

Domains soportados (19)

alarm_control_panel, automation, binary_sensor, climate, cover, counter, device_tracker, fan, humidifier, input_boolean, input_number, light, lock, number, person, sensor, switch, update, water_heater.

No soportado (usar otros mecanismos para estos): media_player, camera, vacuum (en algunos casos), notify.

Métricas útiles para alertas

Metric pattern Para qué
hass_entity_available Catch entities offline (Q5 alerta proactiva)
hass_battery_level_percent Devices battery bajas — alertar < 20%
hass_temperature_c Para zonas críticas (server room, fridge)
hass_last_updated_time_seconds Catch entities stale (no actualizan)
hass_automation_triggered_count Debug del agente, frecuencia de triggers
hass_state_change_total Tasa de cambios — anomaly detection futuro

Citas / quotes

  • "Entities in 'unavailable' or 'unknown' states are unexported. Use entity_available in Prometheus queries to filter stale values if needed." (Limitation importante.)

Aplicado al setup del usuario

  • Vive en: HA Yellow (exporter built-in, no se puede mover).
  • Scrape-eado por: Prometheus en mini-PC.
  • Storage de métricas: mini-PC (no contamina el Yellow).
  • Token: Long-Lived Access Token generado en HA → guardado en /etc/prometheus/ha-token.txt en mini-PC (NO en git).

Abierto / gaps

  • ¿Hay un override_metric pattern recomendado para que Aqara/Sonoff/IKEA sensores expongan métricas consistentes (mismo nombre temperature_c para todos)? Patron del advanced example sí — replicar.
  • Configurar Prometheus self-scrape del propio Prometheus (catch que el observatorio se cae).
  • Integrar Node exporter en el HA Yellow para métricas de host (CPU/RAM/disk) — probablemente requiere SSH add-on o Ansible role específico (HAOS limita esto).