diff --git a/public/public.nix b/public/public.nix index 076c1be..b66b480 100644 --- a/public/public.nix +++ b/public/public.nix @@ -16,7 +16,8 @@ in #./network-ipv6.nix ./sudo.nix ./service-haveged.nix - ./service-monitoring.nix + ./service-monitoring-munin.nix + ./service-monitoring-smokeping.nix ./service-ssh.nix ./udev.nix diff --git a/public/service-monitoring.nix b/public/service-monitoring-munin.nix similarity index 100% rename from public/service-monitoring.nix rename to public/service-monitoring-munin.nix diff --git a/public/service-monitoring-smokeping.nix b/public/service-monitoring-smokeping.nix new file mode 100644 index 0000000..9fa51de --- /dev/null +++ b/public/service-monitoring-smokeping.nix @@ -0,0 +1,189 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf mkMerge mkThenElse; + cfg = config.r6d.config-generator; + computers = config.r6d.computers; + profiles = config.r6d.profiles; +in + +mkIf true { + + # Paquets + environment.systemPackages = with pkgs; [ + bind + ]; + + security.setuidPrograms = [ "fping" ]; + + # Services + + services.smokeping = { + enable = true; + probeConfig = '' + + FPing + #binary = ${pkgs.fping}/bin/fping + binary = ${config.security.wrapperDir}/fping + + +DNS + #binary = ${pkgs.bind}/bin/dig + binary = /run/current-system/sw/bin/dig + forks = 5 + offset = 50% + step = 300 + timeout = 15 + ''; + targetConfig = '' + probe = FPing + menu = Top + title = Suivi de la latence reseau + remark = Monitoring de la latence reseau. \ + Here you will learn all about the latency of our network. + + Local + probe = FPing + menu = Local + title = Local Network + ++ LocalMachine + menu = Local Machine + title = This host + host = localhost + + + Grudu_Tinc + probe = FPing + title = Grudu_Tinc + menu = Grudu.net - Tinc + + ++ Monstre + menu = monstre.grudu.net + title = monstre.grudu.net + host = monstre.grudu.net + + ++ Rollo + menu = rollo.grudu.net + title = rollo.grudu.net + host = rollo.grudu.net + + ++ Ocean + menu = ocean.grudu.net + title = ocean.grudu.net + host = ocean.grudu.net + + ++ MultiHost + menu = Multihost + title = Ensemble de mesures de latence + host = /Grudu_Tinc/Monstre /Grudu_Tinc/Rollo /Grudu_Tinc/Ocean + + + Grudu_DNS + title = Grudu_DNS + menu = Grudu.net - DNS + probe = DNS + pings = 5 + ++ Ocean + title = ocean + menu = serveur ocean + server = ocean.prunetwork.fr + +++ ocean + host = ocean.grudu.net + lookup = ocean.grudu.net + +++ rollo + host = rollo.grudu.net + lookup = rollo.grudu.net + ++ Rollo + title = rollo + menu = serveur rollo + server = rollo.dubronetwork.fr + +++ ocean + host = ocean.grudu.net + lookup = ocean.grudu.net + +++ rollo + host = rollo.grudu.net + lookup = rollo.grudu.net + ++ MultiHost + menu = Multihost + title = Ensemble de mesures DNS + host = /Grudu_DNS/Ocean/ocean /Grudu_DNS/Ocean/rollo /Grudu_DNS/Rollo/ocean /Grudu_DNS/Rollo/rollo + + France + probe = FPing + title = France + menu = Operateur francais + + ++ Atos + menu = Atos + title = www.atos.fr + host = www.atos.fr + + ++ Axialys + menu = Axialys + title = www.axialys.fr + host = www.axialys.fr + + ++ Azurtel + menu = azurtel + title = www.azurtel.fr + host = www.azurtel.fr + + ++ Bouygues-Telecom + menu = Bouygues-Telecom + title = www.bouygues-telecom.fr + host = www.bouygues-telecom.fr + + ++ Colt + menu = Colt + title = www.colt.fr + host = www.colt.fr + + ++ Completel + menu = completel + title = www.completel.fr + host = www.completel.fr + + ++ Free + menu = Free + title = www.free.fr + host = www.free.fr + + ++ Kosmos + menu = Kosmos + title = www.kosmos.fr + host = www.kosmos.fr + + ++ Orange + menu = Orange + title = www.orange.fr + host = www.orange.fr + + ++ Renater + menu = Renater + title = www.renater.fr + host = www.renater.fr + + ++ SFR + menu = SFR + title = www.sfr.fr + host = www.sfr.fr + + ++ MultiHost + menu = Multihost + title = Ensemble de mesures DNS + host = /France/Atos /France/Axialys /France/Azurtel \ + /France/Bouygues-Telecom \ + /France/Completel \ + /France/Free \ + /France/Kosmos \ + /France/Orange \ + /France/Renater \ + /France/SFR + + # /France/Colt + ''; + }; + + # Réseau + networking.firewall = { + allowedTCPPorts = [ + #8081 # accès depuis localhost uniquement ou à travers un proxy nginx + ]; + allowedUDPPorts = [ + ]; + }; +}