diff options
author | Karel Kočí <cynerd@email.cz> | 2023-03-23 12:13:40 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2023-03-23 12:13:40 +0100 |
commit | 20c3d92475e0c26ae54836b96a4a98c35adc68fd (patch) | |
tree | f80c8237a5bac0805ef4144d470bf5907feb2d0b /nixos | |
parent | d80608970affe5defe030b730cbce9b6ee75fa6d (diff) | |
download | nixos-personal-20c3d92475e0c26ae54836b96a4a98c35adc68fd.tar.gz nixos-personal-20c3d92475e0c26ae54836b96a4a98c35adc68fd.tar.bz2 nixos-personal-20c3d92475e0c26ae54836b96a4a98c35adc68fd.zip |
nixos: measure network speed periodically on edge routers
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/machine/adm-omnia.nix | 1 | ||||
-rw-r--r-- | nixos/machine/spt-omnia.nix | 1 | ||||
-rw-r--r-- | nixos/modules/monitoring.nix | 13 |
3 files changed, 15 insertions, 0 deletions
diff --git a/nixos/machine/adm-omnia.nix b/nixos/machine/adm-omnia.nix index 5fe2127..437831b 100644 --- a/nixos/machine/adm-omnia.nix +++ b/nixos/machine/adm-omnia.nix @@ -18,6 +18,7 @@ with lib; { qca988x.interface = "wlp2s0"; }; openvpn.oldpersonal = false; + monitoring.speedtest = true; }; services.pppd = { diff --git a/nixos/machine/spt-omnia.nix b/nixos/machine/spt-omnia.nix index e5d8873..bf72a6e 100644 --- a/nixos/machine/spt-omnia.nix +++ b/nixos/machine/spt-omnia.nix @@ -18,6 +18,7 @@ with lib; { qca988x.interface = "wlp2s0"; }; openvpn.oldpersonal = true; + monitoring.speedtest = true; }; networking.vlans."end2.848" = { diff --git a/nixos/modules/monitoring.nix b/nixos/modules/monitoring.nix index 2660461..e08ae14 100644 --- a/nixos/modules/monitoring.nix +++ b/nixos/modules/monitoring.nix @@ -20,6 +20,11 @@ in { default = true; description = "If hardware should be reported"; }; + speedtest = mkOption { + type = types.bool; + default = false; + description = "If speedtest should be used to measure connection speed"; + }; host = mkOption { type = types.str; @@ -87,6 +92,14 @@ in { } ]; wireless = [{}]; + }) // (optionaAttrs cnf.speedtest { + exec = [{ + commands = ["${pkgs.speedtest-cli}/bin/speedtest --json"]; + name_override = "speedtest"; + timeout = "5m"; + interval = "15m"; + data_format = "json"; + }]; }); }; }; |