38 lines
1.2 KiB
Nix
38 lines
1.2 KiB
Nix
{ config, ... }:
|
|
{
|
|
|
|
#{
|
|
# name = "home-assistant";
|
|
# rules = [
|
|
# {
|
|
# record = "home_open_window_sum";
|
|
# expr = ''sum( homeassistant_binary_sensor_state{entity=~"binary_sensor\\.window_02_contact|binary_sensor\\.window_03_contact|binary_sensor\\.window_04_contact|binary_sensor\\.window_05_contact|binary_sensor\\.window_06_contact|binary_sensor\\.window_07_contact"} )'';
|
|
# }
|
|
# ] ++ (map
|
|
# (number:
|
|
# {
|
|
# record = "home_at_least_n_windows_open";
|
|
# expr = ''home_open_window_sum >= bool ${toString number}'';
|
|
# labels.n = number;
|
|
# }) [ 1 2 3 ]);
|
|
#};
|
|
|
|
sops.secrets.hass_long_term_token.owner = "prometheus";
|
|
|
|
services.opentelemetry-collector.settings = {
|
|
service.pipelines.metrics.receivers = [ "prometheus" ];
|
|
receivers.prometheus.config.scrape_configs = [
|
|
{
|
|
# see https://www.home-assistant.io/integrations/prometheus/
|
|
job_name = "home-assistant";
|
|
scrape_interval = "60s";
|
|
metrics_path = "/api/prometheus";
|
|
bearer_token_file = toString config.sops.secrets.hass_long_term_token.path;
|
|
static_configs = [{
|
|
targets = [ "127.0.0.1:8123" ];
|
|
}];
|
|
}
|
|
];
|
|
|
|
};
|
|
}
|