]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - flakes/private/monitoring/myplugins.nix
Add dnssec
[perso/Immae/Config/Nix.git] / flakes / private / monitoring / myplugins.nix
index 35730bb5c88d610e64197436b1afa6e955de17aa..f76f2c1a4dfe93dbe79a5978d09d2331758a3280 100644 (file)
@@ -69,8 +69,31 @@ in
   dns = {
     commands = {
       check_dns = "$USER1$/check_dns -H $ARG1$ -s $HOSTADDRESS$ $ARG2$";
+      check_dns_soa = "$USER2$/check_dns_soa -H $ARG1$ -z $ARG2$ -M $ARG3$";
+      check_dnssec = "$USER2$/check_dnssec -z $ARG1$";
       check_external_dns = "$USER1$/check_dns -H $ARG2$ -s $ARG1$ $ARG3$";
     };
+    chunk = let
+      soa_plugin = pkgs.fetchurl {
+        name = "check_dns_soa";
+        url = "https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=1429&cf_id=24";
+        sha256 = "sha256-Yy4XO19Fb7WdHZZmhUfyyAGBnxJyFWwc7U3HiWyE8wc=";
+      };
+    in ''
+      cp ${./plugins}/check_dnssec $out/
+      patchShebangs $out/check_dnssec
+      wrapProgram $out/check_dnssec --prefix PATH : ${lib.makeBinPath [
+        pkgs.bind.dnsutils pkgs.gnugrep pkgs.gawk pkgs.which pkgs.coreutils
+      ]}
+
+      cp ${soa_plugin} $out/check_dns_soa
+      chmod +xw $out/check_dns_soa
+      patchShebangs $out/check_dns_soa
+      sed -i -e 's/^use utils qw.*$/my %ERRORS = ("OK" => 0, "WARNING" => 1, "CRITICAL" => 2, "UNKNOWN" => 3);my $TIMEOUT = 10;/' -e '/^use lib /d' $out/check_dns_soa
+      wrapProgram $out/check_dns_soa --prefix PERL5LIB : ${pkgs.perlPackages.makePerlPath [
+        pkgs.perlPackages.NetDNS
+      ]}
+    '';
   };
   mdadm = {
     commands = {