summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleg Pykhalov <go.wigust@gmail.com>2018-07-18 16:47:50 +0300
committerOleg Pykhalov <go.wigust@gmail.com>2018-07-18 23:29:43 +0300
commit143eb7b651c76317acb53cb5715458c88788718f (patch)
treed3ce6585c47f83912278ce0963d460aff56396e7
parentwigust: Remove keynav. (diff)
downloadguix-wigust-143eb7b651c76317acb53cb5715458c88788718f.tar.gz
wigust: Add zabbix.
* wigust/packages/monitoring.scm (zabbix): New variable.
-rw-r--r--wigust/packages/monitoring.scm97
1 files changed, 97 insertions, 0 deletions
diff --git a/wigust/packages/monitoring.scm b/wigust/packages/monitoring.scm
new file mode 100644
index 0000000..9755b29
--- /dev/null
+++ b/wigust/packages/monitoring.scm
@@ -0,0 +1,97 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (wigust packages monitoring)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system perl)
+ #:use-module (guix build-system python)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages django)
+ #:use-module (gnu packages gd)
+ #:use-module (gnu packages libevent)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages mail)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages time)
+ #:use-module (gnu packages tls))
+
+(define-public zabbix
+ (package
+ (name "zabbix")
+ (version "3.4.11")
+ (source
+ (origin
+ (method url-fetch)
+ ;; https://netcologne.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.11/zabbix-3.4.11.tar.gz
+ (uri (string-append "https://netcologne.dl.sourceforge.net\
+/project/zabbix/ZABBIX%20Latest%20Stable/" version
+"/zabbix-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0qxgf6hx7ibhjmxd2sxizkjc8df4c9d31wz5hhql409ws98qf173"))))
+ (arguments
+ `(#:configure-flags
+ (list "--enable-agent"
+ (string-append "--with-iconv="
+ (assoc-ref %build-inputs "libiconv"))
+ (string-append "--with-libpcre="
+ (assoc-ref %build-inputs "pcre"))
+ "--enable-server"
+ "--with-postgresql"
+ (string-append "--with-libevent="
+ (assoc-ref %build-inputs "libevent")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-frontend
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((php (string-append (assoc-ref outputs "out")
+ "/share/zabbix/php"))
+ (front-end-conf (string-append php "/conf"))
+ (etc (string-append php "/etc")))
+ (mkdir-p php)
+ (copy-recursively "./frontends/php" php)
+ (rename-file front-end-conf (string-append front-end-conf "-example"))
+ (symlink "/etc/zabbix" front-end-conf)))))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libiconv" ,libiconv)
+ ("pcre" ,pcre)
+ ;; Server
+ ("curl" ,curl)
+ ("libevent" ,libevent)
+ ("openssl" ,openssl)
+ ("postgresql" ,postgresql)
+ ("zlib" ,zlib)))
+ (home-page "https://www.zabbix.com/")
+ (synopsis "Distributed monitoring solution (client-side agent)")
+ (description "This package provides a distributed monitoring
+solution (client-side agent)")
+ (license license:gpl2)))