diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/monitoring/nagios')
4 files changed, 138 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/monitoring/nagios/default.nix b/nixpkgs/pkgs/servers/monitoring/nagios/default.nix new file mode 100644 index 000000000000..a58ec2bf7b29 --- /dev/null +++ b/nixpkgs/pkgs/servers/monitoring/nagios/default.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, fetchurl, perl, php, gd, libpng, zlib, unzip, nixosTests }: + +stdenv.mkDerivation rec { + pname = "nagios"; + version = "4.4.6"; + + src = fetchurl { + url = "mirror://sourceforge/nagios/nagios-4.x/${pname}-${version}/${pname}-${version}.tar.gz"; + sha256 = "1x5hb97zbvkm73q53ydp1gwj8nnznm72q9c4rm6ny7phr995l3db"; + }; + + patches = [ ./nagios.patch ]; + nativeBuildInputs = [ unzip ]; + buildInputs = [ php perl gd libpng zlib ]; + + configureFlags = [ "--localstatedir=/var/lib/nagios" ]; + buildFlags = [ "all" ]; + CFLAGS = "-ldl"; + + # Do not create /var directories + preInstall = '' + substituteInPlace Makefile --replace '$(MAKE) install-basic' "" + ''; + installTargets = "install install-config"; + postInstall = '' + # don't make default files use hardcoded paths to commands + sed -i 's@command_line *[^ ]*/\([^/]*\) @command_line \1 @' $out/etc/objects/commands.cfg + sed -i 's@/usr/bin/@@g' $out/etc/objects/commands.cfg + sed -i 's@/bin/@@g' $out/etc/objects/commands.cfg + ''; + + passthru.tests = { + inherit (nixosTests) nagios; + }; + + meta = { + description = "A host, service and network monitoring program"; + homepage = "https://www.nagios.org/"; + license = lib.licenses.gpl2; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ immae thoughtpolice relrod ]; + }; +} diff --git a/nixpkgs/pkgs/servers/monitoring/nagios/nagios.patch b/nixpkgs/pkgs/servers/monitoring/nagios/nagios.patch new file mode 100644 index 000000000000..cec4c4942b53 --- /dev/null +++ b/nixpkgs/pkgs/servers/monitoring/nagios/nagios.patch @@ -0,0 +1,23 @@ +diff -ruN nagios-4.0.7.orig/configure nagios-4.0.7/configure +--- nagios-4.0.7.orig/configure 2014-06-03 10:41:42.000000000 -0400 ++++ nagios-4.0.7/configure 2014-06-12 00:30:17.516468583 -0400 +@@ -6014,7 +6014,8 @@ + #define DEFAULT_NAGIOS_GROUP "$nagios_grp" + _ACEOF + +-INSTALL_OPTS="-o $nagios_user -g $nagios_grp" ++#INSTALL_OPTS="-o $nagios_user -g $nagios_grp" ++INSTALL_OPTS="" + + + +@@ -6035,7 +6036,8 @@ + + + +-COMMAND_OPTS="-o $command_user -g $command_grp" ++#COMMAND_OPTS="-o $command_user -g $command_grp" ++COMMAND_OPTS="" + + + MAIL_PROG=no diff --git a/nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix new file mode 100644 index 000000000000..eba2347333ab --- /dev/null +++ b/nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchFromGitHub, file, openssl, makeWrapper, which, curl, fetchpatch }: + +stdenv.mkDerivation rec { + pname = "check_ssl_cert"; + version = "1.80.0"; + + src = fetchFromGitHub { + owner = "matteocorti"; + repo = "check_ssl_cert"; + rev = "v${version}"; + sha256 = "1jkwii45hynil1jail9gmz4bak066rdi8zfcczicjsa6npbz50w4"; + }; + + patches = [ + # https://github.com/matteocorti/check_ssl_cert/pull/114 + (fetchpatch { + url = "https://github.com/matteocorti/check_ssl_cert/commit/2b7aad583d507a70605dd44d918739a65b267bfd.patch"; + sha256 = "1jk872jgm6k3qc1ks1h3v6p804spjlnxcj2wc8v0hkmwfwiwd2k4"; + }) + ]; + + nativeBuildInputs = [ makeWrapper ]; + + makeFlags = [ "DESTDIR=$(out)/bin" "MANDIR=$(out)/share/man" ]; + + postInstall = '' + wrapProgram $out/bin/check_ssl_cert \ + --prefix PATH : "${lib.makeBinPath [ openssl file which curl ]}" + ''; + + meta = with lib; { + description = "A Nagios plugin to check the CA and validity of an X.509 certificate"; + license = licenses.gpl3; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_systemd.nix b/nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_systemd.nix new file mode 100644 index 000000000000..06cd0cf9b2d6 --- /dev/null +++ b/nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_systemd.nix @@ -0,0 +1,36 @@ +{ fetchFromGitHub, python3Packages, lib }: + +python3Packages.buildPythonApplication rec { + pname = "check_systemd"; + version = "2.2.1"; + + src = fetchFromGitHub { + owner = "Josef-Friedrich"; + repo = pname; + rev = "v${version}"; + sha256 = "04r14dhqzrdndn235dvr6afy4s4g4asynsgvj99cmyq55nah4asn"; + }; + + propagatedBuildInputs = with python3Packages; [ nagiosplugin ]; + + postInstall = '' + # check_systemd is only a broken stub calling check_systemd.py + mv $out/bin/check_systemd{.py,} + ''; + + # the test scripts run ./check_systemd.py and check_systemd. Patch to + # the installed, patchShebanged executable in $out/bin + preCheck = '' + find test -name "*.py" -execdir sed -i "s@./check_systemd.py@$out/bin/check_systemd@" '{}' ";" + export PATH=$PATH:$out/bin + ''; + checkInputs = [ python3Packages.pytestCheckHook ]; + + meta = with lib; { + description = "Nagios / Icinga monitoring plugin to check systemd for failed units"; + inherit (src.meta) homepage; + maintainers = with maintainers; [ symphorien ]; + license = licenses.lgpl2Only; + platforms = platforms.linux; + }; +} |