diff options
author | Pascal Bach <pascal.bach@nextrem.ch> | 2021-11-03 08:25:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-03 08:25:13 +0100 |
commit | b01c019afd4f07d4451a90abd8b5997a0a06dee2 (patch) | |
tree | 54d9785907fb9b36a59a874e5b29878279c33110 /nixos/modules | |
parent | af97b16bb4bb04e3724fbded224eaaeca94abef8 (diff) | |
parent | 36c179b2086e34a3af86e46624a2d89de545d6b5 (diff) | |
download | nixpkgs-b01c019afd4f07d4451a90abd8b5997a0a06dee2.tar nixpkgs-b01c019afd4f07d4451a90abd8b5997a0a06dee2.tar.gz nixpkgs-b01c019afd4f07d4451a90abd8b5997a0a06dee2.tar.bz2 nixpkgs-b01c019afd4f07d4451a90abd8b5997a0a06dee2.tar.lz nixpkgs-b01c019afd4f07d4451a90abd8b5997a0a06dee2.tar.xz nixpkgs-b01c019afd4f07d4451a90abd8b5997a0a06dee2.tar.zst nixpkgs-b01c019afd4f07d4451a90abd8b5997a0a06dee2.zip |
Merge pull request #136191 from LeSuisse/nixos-unifi-poller-loki
nixos/unifi-poller: add support of Loki
Diffstat (limited to 'nixos/modules')
-rw-r--r-- | nixos/modules/services/monitoring/unifi-poller.nix | 80 |
1 files changed, 78 insertions, 2 deletions
diff --git a/nixos/modules/services/monitoring/unifi-poller.nix b/nixos/modules/services/monitoring/unifi-poller.nix index 81a7b408bcc..cca4a0e7207 100644 --- a/nixos/modules/services/monitoring/unifi-poller.nix +++ b/nixos/modules/services/monitoring/unifi-poller.nix @@ -6,7 +6,7 @@ let cfg = config.services.unifi-poller; configFile = pkgs.writeText "unifi-poller.json" (generators.toJSON {} { - inherit (cfg) poller influxdb prometheus unifi; + inherit (cfg) poller influxdb loki prometheus unifi; }); in { @@ -118,6 +118,61 @@ in { }; }; + loki = { + url = mkOption { + type = types.str; + default = ""; + description = '' + URL of the Loki host. + ''; + }; + user = mkOption { + type = types.str; + default = ""; + description = '' + Username for Loki. + ''; + }; + pass = mkOption { + type = types.path; + default = pkgs.writeText "unifi-poller-loki-default.password" ""; + defaultText = "unifi-poller-influxdb-default.password"; + description = '' + Path of a file containing the password for Loki. + This file needs to be readable by the unifi-poller user. + ''; + apply = v: "file://${v}"; + }; + verify_ssl = mkOption { + type = types.bool; + default = false; + description = '' + Verify Loki's certificate. + ''; + }; + tenant_id = mkOption { + type = types.str; + default = ""; + description = '' + Tenant ID to use in Loki. + ''; + }; + interval = mkOption { + type = types.str; + default = "2m"; + description = '' + How often the events are polled and pushed to Loki. + ''; + }; + timeout = mkOption { + type = types.str; + default = "10s"; + description = '' + Should be increased in case of timeout errors. + ''; + }; + }; + unifi = let controllerOptions = { user = mkOption { @@ -157,7 +212,28 @@ in { type = types.bool; default = false; description = '' - Collect and save data from the intrusion detection system to influxdb. + Collect and save data from the intrusion detection system to influxdb and Loki. + ''; + }; + save_events = mkOption { + type = types.bool; + default = false; + description = '' + Collect and save data from UniFi events to influxdb and Loki. + ''; + }; + save_alarms = mkOption { + type = types.bool; + default = false; + description = '' + Collect and save data from UniFi alarms to influxdb and Loki. + ''; + }; + save_anomalies = mkOption { + type = types.bool; + default = false; + description = '' + Collect and save data from UniFi anomalies to influxdb and Loki. ''; }; save_dpi = mkOption { |