about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix')
-rw-r--r--nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix79
1 files changed, 79 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix b/nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix
new file mode 100644
index 000000000000..5d93f4c53496
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix
@@ -0,0 +1,79 @@
+{ stdenv, fetchFromGitHub, fetchurl, autoreconfHook, makeWrapper
+, perl, DBDsybase, NetSNMP, coreutils, gnused, gnugrep }:
+
+let
+  glplugin = fetchFromGitHub {
+    owner = "lausser";
+    repo   = "GLPlugin";
+    rev    = "e8e1a2907a54435c932b3e6c584ba1d679754849";
+    sha256 = "0wb55a9pmgbilfffx0wkiikg9830qd66j635ypczqp4basslpq5b";
+  };
+
+  generic = { pname, version, sha256, description, buildInputs, ... }:
+  let
+    name' = "${stdenv.lib.replaceStrings [ "-" ] [ "_" ] "${pname}"}-${version}";
+  in perl.stdenv.mkDerivation {
+    name = "${pname}-${version}";
+
+    src = fetchurl {
+      url = "https://labs.consol.de/assets/downloads/nagios/${name'}.tar.gz";
+      inherit sha256;
+    };
+
+    buildInputs = [ perl ] ++ buildInputs;
+
+    nativeBuildInputs = [ autoreconfHook makeWrapper ];
+
+    prePatch = with stdenv.lib; ''
+      rm -rf GLPlugin
+      ln -s ${glplugin} GLPlugin
+      substituteInPlace plugins-scripts/Makefile.am \
+        --replace /bin/cat  ${getBin coreutils}/bin/cat \
+        --replace /bin/echo ${getBin coreutils}/bin/echo \
+        --replace /bin/grep ${getBin gnugrep}/bin/grep \
+        --replace /bin/sed  ${getBin gnused}/bin/sed
+    '';
+
+    postInstall = ''
+      test -d $out/libexec && ln -sr $out/libexec $out/bin
+    '';
+
+    postFixup = ''
+      for f in $out/bin/* ; do
+        wrapProgram $f --prefix PERL5LIB : $PERL5LIB
+      done
+    '';
+
+    meta = with stdenv.lib; {
+      homepage    = https://labs.consol.de/;
+      license     = licenses.gpl2;
+      maintainers = with maintainers; [ peterhoeg ];
+      inherit description;
+    };
+  };
+
+in {
+  check-mssql-health = generic {
+    pname       = "check_mssql_health";
+    version     = "2.6.4.14";
+    sha256      = "0w6gybrs7imx169l8740s0ax3adya867fw0abrampx59mnsj5pm1";
+    description = "Check plugin for Microsoft SQL Server.";
+    buildInputs = [ DBDsybase ];
+  };
+
+  check-nwc-health = generic {
+    pname       = "check_nwc_health";
+    version     = "7.0.1.3";
+    sha256      = "0rgd6zgd7kplx3z72n8zbzwkh8vnd83361sk9ibh6ng78sds1sl5";
+    description = "Check plugin for network equipment.";
+    buildInputs = [ NetSNMP ];
+  };
+
+  check-ups-health = generic {
+    pname       = "check_ups_health";
+    version     = "2.8.2.2";
+    sha256      = "1gc2wjsymay2vk5ywc1jj9cvrbhs0fs851x8l4nc75df2g75v521";
+    description = "Check plugin for UPSs.";
+    buildInputs = [ NetSNMP ];
+  };
+}