diff options
Diffstat (limited to 'gnu/packages/monitoring.scm')
-rw-r--r-- | gnu/packages/monitoring.scm | 107 |
1 files changed, 106 insertions, 1 deletions
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index f178232cc3..d7a1641ad8 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org> +;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,14 +23,19 @@ #:use-module (guix 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 (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages django) #:use-module (gnu packages gd) #:use-module (gnu packages image) #:use-module (gnu packages mail) - #:use-module (gnu packages perl)) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages python-web) + #:use-module (gnu packages time)) (define-public nagios (package @@ -156,3 +162,102 @@ HTTP. Features: @item Supports IPv6. @end itemize") (license license:gpl2))) + +(define-public python-whisper + (package + (name "python-whisper") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "whisper" version)) + (sha256 + (base32 + "1v1bi3fl1i6p4z4ki692bykrkw6907dn3mfq0151f70lvi3zpns3")))) + (build-system python-build-system) + (home-page "http://graphiteapp.org/") + (synopsis "Fixed size round-robin style database for Graphite") + (description "Whisper is one of three components within the Graphite +project. Whisper is a fixed-size database, similar in design and purpose to +RRD (round-robin-database). It provides fast, reliable storage of numeric +data over time. Whisper allows for higher resolution (seconds per point) of +recent data to degrade into lower resolutions for long-term retention of +historical data.") + (license license:asl2.0))) + +(define-public python2-whisper + (package-with-python2 python-whisper)) + +(define-public python2-carbon + (package + (name "python2-carbon") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "carbon" version)) + (sha256 + (base32 + "142smpmgbnjinvfb6s4ijazish4vfgzyd8zcmdkh55y051fkixkn")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ; only supports Python 2 + #:phases + (modify-phases %standard-phases + ;; Don't install to /opt + (add-after 'unpack 'do-not-install-to-/opt + (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t))))) + (propagated-inputs + `(("python2-whisper" ,python2-whisper) + ("python2-configparser" ,python2-configparser) + ("python2-txamqp" ,python2-txamqp))) + (home-page "http://graphiteapp.org/") + (synopsis "Backend data caching and persistence daemon for Graphite") + (description "Carbon is a backend data caching and persistence daemon for +Graphite. Carbon is responsible for receiving metrics over the network, +caching them in memory for \"hot queries\" from the Graphite-Web application, +and persisting them to disk using the Whisper time-series library.") + (license license:asl2.0))) + +(define-public python2-graphite-web + (package + (name "python2-graphite-web") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "graphite-web" version)) + (sha256 + (base32 + "0q8bwlj75jqyzmazfsi5sa26xl58ssa8wdxm2l4j0jqyn8xpfnmc")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ; only supports Python 2 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + (("0.4.3") ,(package-version python2-django-tagging)) + (("<1.9.99") (string-append "<=" + ,(package-version python2-django)))) + #t)) + ;; Don't install to /opt + (add-after 'unpack 'do-not-install-to-/opt + (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t))))) + (propagated-inputs + `(("python2-cairocffi" ,python2-cairocffi) + ("python2-pytz" ,python2-pytz) + ("python2-whisper" ,python2-whisper) + ("python2-django" ,python2-django) + ("python2-django-tagging" ,python2-django-tagging) + ("python2-scandir" ,python2-scandir) + ("python2-urllib3" ,python2-urllib3) + ("python2-pyparsing" ,python2-pyparsing) + ("python2-txamqp" ,python2-txamqp))) + (home-page "http://graphiteapp.org/") + (synopsis "Scalable realtime graphing system") + (description "Graphite is a scalable real-time graphing system that does +two things: store numeric time-series data, and render graphs of this data on +demand.") + (license license:asl2.0))) |