nixpkgs/pkgs/servers/monitoring/plugins/labs_consol_de.nix
2019-09-11 13:08:47 +08:00

78 lines
2.3 KiB
Nix

{ stdenv, fetchFromGitHub, fetchurl, autoreconfHook, makeWrapper
, perlPackages, coreutils, gnused, gnugrep }:
let
glplugin = fetchFromGitHub {
owner = "lausser";
repo = "GLPlugin";
rev = "ef3107f01afe55fad5452e64ac5bbea00b18a8d5";
sha256 = "047fwrycsl2vmpi4wl46fs6f8y191d6qc9ms5rvmrj1dm2r828ws";
};
generic = { pname, version, sha256, description, buildInputs, ... }:
stdenv.mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://labs.consol.de/assets/downloads/nagios/${pname}-${version}.tar.bz";
inherit sha256;
};
buildInputs = [ perlPackages.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.15";
sha256 = "12z0b3c2p18viy7s93r6bbl8fvgsqh80136d07118qhxshp1pwxg";
description = "Check plugin for Microsoft SQL Server.";
buildInputs = [ perlPackages.DBDsybase ];
};
check-nwc-health = generic {
pname = "check_nwc_health";
version = "7.10.0.6";
sha256 = "092rhaqnk3403z0y60x38vgh65gcia3wrd6gp8mr7wszja38kxv2";
description = "Check plugin for network equipment.";
buildInputs = [ perlPackages.NetSNMP ];
};
check-ups-health = generic {
pname = "check_ups_health";
version = "2.8.3.3";
sha256 = "0qc2aglppwr9ms4p53kh9nr48625sqrbn46xs0k9rx5sv8hil9hm";
description = "Check plugin for UPSs.";
buildInputs = [ perlPackages.NetSNMP ];
};
}