gnu: icecat: Update to 78.10.0-guix0-preview1 [security fixes].
[jackhill/guix/guix.git] / gnu / packages / monitoring.scm
CommitLineData
d30e578a
LC
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
c8cee2ef 3;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
0b6de85a 4;;; Copyright © 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
dda16f7c 5;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
39109778 6;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
be683576 7;;; Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
1518b4bc 8;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com>
bc2529cb 9;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
d9a7727d 10;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
d30e578a
LC
11;;;
12;;; This file is part of GNU Guix.
13;;;
14;;; GNU Guix is free software; you can redistribute it and/or modify it
15;;; under the terms of the GNU General Public License as published by
16;;; the Free Software Foundation; either version 3 of the License, or (at
17;;; your option) any later version.
18;;;
19;;; GNU Guix is distributed in the hope that it will be useful, but
20;;; WITHOUT ANY WARRANTY; without even the implied warranty of
21;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22;;; GNU General Public License for more details.
23;;;
24;;; You should have received a copy of the GNU General Public License
25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26
27(define-module (gnu packages monitoring)
28 #:use-module (guix packages)
29 #:use-module (guix download)
780205a0 30 #:use-module (guix git-download)
d30e578a
LC
31 #:use-module ((guix licenses) #:prefix license:)
32 #:use-module (guix build-system perl)
4d92c210 33 #:use-module (guix build-system python)
d30e578a 34 #:use-module (guix build-system gnu)
780205a0 35 #:use-module (guix build-system go)
ead46692 36 #:use-module (guix utils)
bc2529cb 37 #:use-module (gnu packages)
c8cee2ef 38 #:use-module (gnu packages admin)
64eb038e 39 #:use-module (gnu packages autotools)
d30e578a 40 #:use-module (gnu packages base)
ead46692 41 #:use-module (gnu packages curl)
fb6f35ba 42 #:use-module (gnu packages check)
d30e578a 43 #:use-module (gnu packages compression)
ead46692 44 #:use-module (gnu packages databases)
e7a30ded 45 #:use-module (gnu packages django)
d30e578a 46 #:use-module (gnu packages gd)
64eb038e 47 #:use-module (gnu packages gettext)
7fc2d377
LC
48 #:use-module (gnu packages image)
49 #:use-module (gnu packages mail)
d9a7727d 50 #:use-module (gnu packages ncurses)
ead46692
OP
51 #:use-module (gnu packages networking)
52 #:use-module (gnu packages libevent)
53 #:use-module (gnu packages pcre)
a15181bb 54 #:use-module (gnu packages perl)
bc2529cb 55 #:use-module (gnu packages pkg-config)
e7a30ded
RW
56 #:use-module (gnu packages python)
57 #:use-module (gnu packages python-web)
44d10b1f 58 #:use-module (gnu packages python-xyz)
bc2529cb 59 #:use-module (gnu packages rrdtool)
ead46692 60 #:use-module (gnu packages time)
bc2529cb
LDB
61 #:use-module (gnu packages tls)
62 #:use-module (gnu packages web))
d30e578a
LC
63
64(define-public nagios
65 (package
66 (name "nagios")
15475f0c 67 (version "4.4.6")
7fc2d377 68 ;; XXX: Nagios 4.2.x and later bundle a copy of AngularJS.
d30e578a
LC
69 (source (origin
70 (method url-fetch)
71 (uri (string-append
72 "mirror://sourceforge/nagios/nagios-4.x/nagios-"
73 version "/nagios-" version ".tar.gz"))
74 (sha256
75 (base32
15475f0c 76 "1x5hb97zbvkm73q53ydp1gwj8nnznm72q9c4rm6ny7phr995l3db"))
d30e578a
LC
77 (modules '((guix build utils)))
78 (snippet
79 ;; Ensure reproducibility.
6cbee49d
MW
80 '(begin
81 (substitute* (find-files "cgi" "\\.c$")
82 (("__DATE__") "\"1970-01-01\"")
83 (("__TIME__") "\"00:00:00\""))
84 #t))))
d30e578a 85 (build-system gnu-build-system)
7fc2d377
LC
86 (native-inputs
87 `(("unzip" ,unzip)))
d30e578a
LC
88 (inputs
89 `(("zlib" ,zlib)
90 ("libpng-apng" ,libpng)
91 ("gd" ,gd)
92 ("perl" ,perl)
93 ("mailutils" ,mailutils)))
94 (arguments
95 '(#:configure-flags (list "--sysconfdir=/etc"
96
97 ;; 'include/locations.h.in' defines file
98 ;; locations, and many things go directly under
99 ;; LOCALSTATEDIR, hence the extra '/nagios'.
100 "--localstatedir=/var/nagios"
101
102 (string-append
103 "--with-mail="
104 (assoc-ref %build-inputs "mailutils")
105 "/bin/mail"))
106 #:make-flags '("all")
107 #:phases (modify-phases %standard-phases
108 (add-before 'build 'do-not-chown-to-nagios
109 (lambda _
110 ;; Makefiles do 'install -o nagios -g nagios', which
111 ;; doesn't work for us.
112 (substitute* (find-files "." "^Makefile$")
113 (("-o nagios -g nagios")
114 ""))
115 #t))
116 (add-before 'build 'do-not-create-sysconfdir
117 (lambda _
118 ;; Don't try to create /var upon 'make install'.
119 (substitute* "Makefile"
120 (("\\$\\(INSTALL\\).*\\$\\(LOGDIR\\).*$" all)
121 (string-append "# " all))
122 (("\\$\\(INSTALL\\).*\\$\\(CHECKRESULTDIR\\).*$" all)
123 (string-append "# " all))
124 (("chmod g\\+s.*" all)
125 (string-append "# " all)))
126 #t))
127 (add-before 'build 'set-html/php-directory
128 (lambda _
129 ;; Install HTML and PHP files under 'share/nagios/html'
130 ;; instead of just 'share/'.
131 (substitute* '("html/Makefile" "Makefile")
132 (("HTMLDIR=.*$")
133 "HTMLDIR = $(datarootdir)/nagios/html\n"))
134 #t)))
135 #:tests? #f)) ;no 'check' target or similar
136 (home-page "https://www.nagios.org/")
137 (synopsis "Host, service, and network monitoring program")
138 (description
139 "Nagios is a host, service, and network monitoring program written in C.
140CGI programs are included to allow you to view the current status, history,
141etc. via a Web interface. Features include:
142
143@itemize
144@item Monitoring of network services (via SMTP, POP3, HTTP, PING, etc).
145@item Monitoring of host resources (processor load, disk usage, etc.).
146@item A plugin interface to allow for user-developed service monitoring
147 methods.
148@item Ability to define network host hierarchy using \"parent\" hosts,
149 allowing detection of and distinction between hosts that are down
150 and those that are unreachable.
151@item Notifications when problems occur and get resolved (via email,
152 pager, or user-defined method).
153@item Ability to define event handlers for proactive problem resolution.
154@item Automatic log file rotation/archiving.
155@item Optional web interface for viewing current network status,
156 notification and problem history, log file, etc.
157@end itemize\n")
158 (license license:gpl2)))
c8cee2ef 159
ead46692
OP
160(define-public zabbix-agentd
161 (package
162 (name "zabbix-agentd")
dda88cda 163 (version "5.2.6")
ead46692
OP
164 (source
165 (origin
166 (method url-fetch)
167 (uri (string-append
be683576
OP
168 "https://cdn.zabbix.com/zabbix/sources/stable/"
169 (version-major+minor version) "/zabbix-" version ".tar.gz"))
ead46692 170 (sha256
dda88cda 171 (base32 "100n1rv7r4pqagxxifzpcza5bhrr2fklzx7gndxwiyq4597p1jvn"))))
ead46692
OP
172 (build-system gnu-build-system)
173 (arguments
174 `(#:configure-flags
175 (list "--enable-agent"
868e3088 176 "--enable-ipv6"
ead46692
OP
177 (string-append "--with-iconv="
178 (assoc-ref %build-inputs "libiconv"))
179 (string-append "--with-libpcre="
180 (assoc-ref %build-inputs "pcre")))))
181 (inputs
182 `(("libiconv" ,libiconv)
183 ("pcre" ,pcre)))
184 (home-page "https://www.zabbix.com/")
185 (synopsis "Distributed monitoring solution (client-side agent)")
186 (description "This package provides a distributed monitoring
187solution (client-side agent)")
188 (license license:gpl2)))
189
190(define-public zabbix-server
191 (package
192 (inherit zabbix-agentd)
193 (name "zabbix-server")
2c9ac839 194 (outputs '("out" "front-end" "schema"))
ead46692
OP
195 (arguments
196 (substitute-keyword-arguments
197 `(#:phases
198 (modify-phases %standard-phases
2c9ac839 199 (add-after 'install 'install-front-end
ead46692 200 (lambda* (#:key outputs #:allow-other-keys)
2c9ac839 201 (let* ((php (string-append (assoc-ref outputs "front-end")
ead46692
OP
202 "/share/zabbix/php"))
203 (front-end-conf (string-append php "/conf"))
204 (etc (string-append php "/etc")))
205 (mkdir-p php)
be683576 206 (copy-recursively "ui" php)
2c9ac839 207 ;; Make front-end write config to ‘/etc/zabbix’ directory.
ead46692
OP
208 (rename-file front-end-conf
209 (string-append front-end-conf "-example"))
2c9ac839
OP
210 (symlink "/etc/zabbix" front-end-conf))
211 #t))
212 (add-after 'install 'install-schema
213 (lambda* (#:key outputs #:allow-other-keys)
214 (let ((database-directory
215 (string-append (assoc-ref outputs "schema")
216 "/database")))
217 (for-each delete-file
218 (find-files "database" "Makefile\\.in|\\.am$"))
219 (mkdir-p database-directory)
220 (copy-recursively "database" database-directory))
221 #t)))
ead46692
OP
222 ,@(package-arguments zabbix-agentd))
223 ((#:configure-flags flags)
224 `(cons* "--enable-server"
225 "--with-postgresql"
226 (string-append "--with-libevent="
227 (assoc-ref %build-inputs "libevent"))
228 "--with-net-snmp"
229 (string-append "--with-gnutls="
230 (assoc-ref %build-inputs "gnutls"))
231 "--with-libcurl"
f2f95601
OP
232 (string-append "--with-zlib="
233 (assoc-ref %build-inputs "zlib"))
ead46692
OP
234 ,flags))))
235 (inputs
236 `(("curl" ,curl)
237 ("libevent" ,libevent)
238 ("gnutls" ,gnutls)
239 ("postgresql" ,postgresql)
240 ("zlib" ,zlib)
241 ("net-snmp" ,net-snmp)
242 ("curl" ,curl)
243 ,@(package-inputs zabbix-agentd)))
244 (synopsis "Distributed monitoring solution (server-side)")
245 (description "This package provides a distributed monitoring
246solution (server-side)")))
247
d9a7727d
MB
248(define-public zabbix-cli
249 (package
250 (name "zabbix-cli")
251 (version "2.2.1")
252 (source (origin
253 (method git-fetch)
254 (uri (git-reference
255 (url "https://github.com/unioslo/zabbix-cli")
256 (commit version)))
257 (file-name (git-file-name name version))
258 (sha256
259 (base32
260 "0wzmrn8p09ksqhhgawr179c4az7p2liqr0l4q2dra62bxliawyqz"))))
261 (build-system python-build-system)
262 (arguments
263 '(#:phases (modify-phases %standard-phases
264 (add-after 'unpack 'use-absolute-ncurses
265 (lambda _
266 (substitute* "bin/zabbix-cli"
267 (("'clear'")
268 (string-append "'" (which "clear") "'")))))
269 (add-after 'unpack 'patch-setup.py
270 (lambda _
271 ;; Install data_files to $out/share instead of /usr/share.
272 (substitute* "setup.py"
273 (("/usr/") "")))))))
274 (inputs
275 `(("clear" ,ncurses)
276 ("python-requests" ,python-requests)))
277 (home-page "https://github.com/unioslo/zabbix-cli")
278 (synopsis "Command-line interface to Zabbix")
279 (description
280 "@command{zabbix-cli} is a command-line client for the Zabbix
281monitoring system. It can configure and display various aspects of Zabbix
282through a text-based interface.")
283 (license license:gpl3+)))
284
8bde37b0
MB
285(define-public python-pyzabbix
286 (package
287 (name "python-pyzabbix")
288 (version "0.8.2")
c17e6604 289 (home-page "https://github.com/lukecyca/pyzabbix")
8bde37b0
MB
290 ;; No tests on PyPI, use the git checkout.
291 (source
292 (origin
293 (method git-fetch)
294 (uri (git-reference (url home-page) (commit version)))
295 (file-name (git-file-name name version))
296 (sha256
297 (base32
298 "15rrnpkv94wx6748hh4sd120v6x25rkbd6vlz6hfrhvjwxz5lgjl"))))
299 (build-system python-build-system)
300 (arguments
301 '(#:phases (modify-phases %standard-phases
302 (add-after 'unpack 'patch
303 (lambda _
304 ;; Permit newer versions of httpretty.
305 (substitute* "setup.py"
306 (("httpretty<0\\.8\\.7")
307 "httpretty"))))
308 (replace 'check
309 (lambda* (#:key tests? #:allow-other-keys)
310 (if tests?
311 (invoke "python" "setup.py" "nosetests")
312 (format #t "test suite not run~")))))))
313 (native-inputs
314 `(;; For tests.
315 ("python-httpretty" ,python-httpretty)
316 ("python-nose" ,python-nose)))
317 (propagated-inputs
318 `(("python-requests" ,python-requests)))
319 (synopsis "Python interface to the Zabbix API")
320 (description
321 "@code{pyzabbix} is a Python module for working with the Zabbix API.")
322 (license license:lgpl2.1+)))
323
c8cee2ef
SB
324(define-public darkstat
325 (package
326 (name "darkstat")
327 (version "3.0.719")
328 (source (origin
329 (method url-fetch)
330 (uri (string-append "https://unix4lyfe.org/darkstat/darkstat-"
331 version ".tar.bz2"))
332 (sha256
333 (base32
334 "1mzddlim6dhd7jhr4smh0n2fa511nvyjhlx76b03vx7phnar1bxf"))))
335 (build-system gnu-build-system)
336 (arguments '(#:tests? #f)) ; no tests
337 (inputs
338 `(("libpcap" ,libpcap)
339 ("zlib" ,zlib)))
340 (home-page "https://unix4lyfe.org/darkstat/")
341 (synopsis "Network statistics gatherer")
342 (description
343 "@command{darkstat} is a packet sniffer that runs as a background process,
344gathers all sorts of statistics about network usage, and serves them over
345HTTP. Features:
346
347@itemize
348@item Traffic graphs, reports per host, shows ports for each host.
349@item Embedded web-server with deflate compression.
350@item Asynchronous reverse DNS resolution using a child process.
351@item Small. Portable. Single-threaded. Efficient.
352@item Supports IPv6.
353@end itemize")
354 (license license:gpl2)))
4d92c210
RW
355
356(define-public python-whisper
357 (package
358 (name "python-whisper")
359 (version "1.0.2")
360 (source
361 (origin
362 (method url-fetch)
363 (uri (pypi-uri "whisper" version))
364 (sha256
365 (base32
366 "1v1bi3fl1i6p4z4ki692bykrkw6907dn3mfq0151f70lvi3zpns3"))))
367 (build-system python-build-system)
368 (home-page "http://graphiteapp.org/")
369 (synopsis "Fixed size round-robin style database for Graphite")
370 (description "Whisper is one of three components within the Graphite
371project. Whisper is a fixed-size database, similar in design and purpose to
372RRD (round-robin-database). It provides fast, reliable storage of numeric
373data over time. Whisper allows for higher resolution (seconds per point) of
374recent data to degrade into lower resolutions for long-term retention of
375historical data.")
376 (license license:asl2.0)))
377
378(define-public python2-whisper
379 (package-with-python2 python-whisper))
a15181bb
RW
380
381(define-public python2-carbon
382 (package
383 (name "python2-carbon")
384 (version "1.0.2")
385 (source
386 (origin
387 (method url-fetch)
388 (uri (pypi-uri "carbon" version))
389 (sha256
390 (base32
391 "142smpmgbnjinvfb6s4ijazish4vfgzyd8zcmdkh55y051fkixkn"))))
392 (build-system python-build-system)
393 (arguments
394 `(#:python ,python-2 ; only supports Python 2
395 #:phases
396 (modify-phases %standard-phases
397 ;; Don't install to /opt
398 (add-after 'unpack 'do-not-install-to-/opt
399 (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
400 (propagated-inputs
401 `(("python2-whisper" ,python2-whisper)
402 ("python2-configparser" ,python2-configparser)
403 ("python2-txamqp" ,python2-txamqp)))
404 (home-page "http://graphiteapp.org/")
405 (synopsis "Backend data caching and persistence daemon for Graphite")
406 (description "Carbon is a backend data caching and persistence daemon for
407Graphite. Carbon is responsible for receiving metrics over the network,
408caching them in memory for \"hot queries\" from the Graphite-Web application,
409and persisting them to disk using the Whisper time-series library.")
410 (license license:asl2.0)))
e7a30ded 411
94e7335e 412(define-public graphite-web
e7a30ded 413 (package
94e7335e
MB
414 (name "graphite-web")
415 (version "1.1.7")
e7a30ded
RW
416 (source
417 (origin
418 (method url-fetch)
419 (uri (pypi-uri "graphite-web" version))
420 (sha256
421 (base32
94e7335e 422 "1l5a5rry9cakqxamvlx4xq63jifmncb6815bg9vy7fg1zyd3pjxk"))))
e7a30ded
RW
423 (build-system python-build-system)
424 (arguments
94e7335e 425 `(#:tests? #f ;XXX: not in PyPI release & requires database
e7a30ded
RW
426 #:phases
427 (modify-phases %standard-phases
428 (add-after 'unpack 'relax-requirements
429 (lambda _
430 (substitute* "setup.py"
94e7335e
MB
431 ;; Allow newer versions of django-tagging.
432 (("django-tagging==")
433 "django-tagging>="))
e7a30ded
RW
434 #t))
435 ;; Don't install to /opt
436 (add-after 'unpack 'do-not-install-to-/opt
437 (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
438 (propagated-inputs
94e7335e
MB
439 `(("python-cairocffi" ,python-cairocffi)
440 ("python-pytz" ,python-pytz)
441 ("python-whisper" ,python-whisper)
442 ("python-django" ,python-django-2.2)
443 ("python-django-tagging" ,python-django-tagging)
444 ("python-scandir" ,python-scandir)
445 ("python-urllib3" ,python-urllib3)
446 ("python-pyparsing" ,python-pyparsing)
447 ("python-txamqp" ,python-txamqp)))
448 (home-page "https://graphiteapp.org/")
e7a30ded
RW
449 (synopsis "Scalable realtime graphing system")
450 (description "Graphite is a scalable real-time graphing system that does
451two things: store numeric time-series data, and render graphs of this data on
452demand.")
453 (license license:asl2.0)))
fb6f35ba 454
94e7335e
MB
455(define-public python2-graphite-web
456 (deprecated-package "python2-graphite-web" graphite-web))
457
fb6f35ba
CB
458(define-public python-prometheus-client
459 (package
460 (name "python-prometheus-client")
1518b4bc 461 (version "0.7.1")
fb6f35ba
CB
462 (source
463 (origin
464 (method url-fetch)
465 (uri (pypi-uri "prometheus_client" version))
466 (sha256
1518b4bc 467 (base32 "1ni2yv4ixwz32nz39ckia76lvggi7m19y5f702w5qczbnfi29kbi"))))
fb6f35ba
CB
468 (build-system python-build-system)
469 (arguments
470 '(;; No included tests.
471 #:tests? #f))
05b4b3ea
RW
472 (propagated-inputs
473 `(("python-twisted" ,python-twisted)))
fb6f35ba
CB
474 (home-page
475 "https://github.com/prometheus/client_python")
476 (synopsis "Python client for the Prometheus monitoring system")
477 (description
478 "The @code{prometheus_client} package supports exposing metrics from
479software written in Python, so that they can be scraped by a Prometheus
480service.
481
482Metrics can be exposed through a standalone web server, or through Twisted,
483WSGI and the node exporter textfile collector.")
484 (license license:asl2.0)))
485
486(define-public python2-prometheus-client
487 (package-with-python2 python-prometheus-client))
780205a0
GB
488
489(define-public go-github-com-prometheus-node-exporter
412622ad
GB
490 (package
491 (name "go-github-com-prometheus-node-exporter")
492 (version "0.18.1")
493 (source (origin
494 (method git-fetch)
495 (uri (git-reference
b0e7b699 496 (url "https://github.com/prometheus/node_exporter")
412622ad
GB
497 (commit (string-append "v" version))))
498 (file-name (git-file-name name version))
499 (sha256
500 (base32
501 "0s3sp1gj86p7npxl38hkgs6ymd3wjjmc5hydyg1b5wh0x3yvpx07"))))
502 (build-system go-build-system)
503 (arguments
504 '(#:import-path "github.com/prometheus/node_exporter"))
505 (synopsis "Prometheus exporter for hardware and OS metrics")
506 (description "Prometheus exporter for metrics exposed by *NIX kernels,
780205a0 507written in Go with pluggable metric collectors.")
412622ad
GB
508 (home-page "https://github.com/prometheus/node_exporter")
509 (license license:asl2.0)))
64eb038e 510
5c7874ad
CB
511(define-public temper-exporter
512 (let ((commit "a87bbab19c05609d62d9e4c7941178700c1ef84d")
513 (revision "0"))
514 (package
515 (name "temper-exporter")
516 (version (git-version "0" revision commit))
517 (source (origin
518 (method git-fetch)
519 (uri (git-reference
520 (url "https://github.com/yrro/temper-exporter")
521 (commit commit)))
522 (file-name (git-file-name name version))
523 (sha256
524 (base32
525 "0jk3ydi8s14q5kyl9j3gm2zrnwlb1jwjqpg5vqrgkbm9jrldrabc"))))
526 (build-system python-build-system)
527 (arguments
528 '(#:tests? #f ; One test failure:
529 ; test/test_exporter.py:33:
530 ; AssertionError
531 #:phases
532 (modify-phases %standard-phases
533 (add-after 'unpack 'patch-setup.py
534 (lambda _
535 (substitute* "setup.py"
536 (("git_ref = .*\n") "git_ref = ''\n"))
537 #t))
538 (add-after 'install 'install-udev-rules
539 (lambda* (#:key outputs #:allow-other-keys)
540 (install-file "debian/prometheus-temper-exporter.udev"
541 (string-append (assoc-ref outputs "out")
542 "/lib/udev/rules.d"))
543 #t)))))
544 (inputs
545 `(("python-prometheus-client" ,python-prometheus-client)
546 ("python-pyudev" ,python-pyudev)))
547 (native-inputs
548 `(("python-pytest" ,python-pytest)
549 ("python-pytest-mock" ,python-pytest-mock)
550 ("python-pytest-runner" ,python-pytest-runner)))
551 (home-page "https://github.com/yrro/temper-exporter")
552 (synopsis "Prometheus exporter for PCSensor TEMPer sensor devices")
553 (description
554 "This package contains a Prometheus exporter for the TEMPer sensor
555devices.")
556 (license license:expat))))
557
64eb038e
DM
558(define-public fswatch
559 (package
560 (name "fswatch")
b6d2e601 561 (version "1.15.0")
64eb038e
DM
562 (source (origin
563 (method git-fetch)
564 (uri (git-reference
b0e7b699 565 (url "https://github.com/emcrisostomo/fswatch")
64eb038e 566 (commit version)))
63968297 567 (file-name (git-file-name name version))
64eb038e
DM
568 (sha256
569 (base32
b6d2e601 570 "1yz65jsbgdx4cmy16x24wz5di352lvyi7fp6jm90bhgl1vpzxlsx"))))
64eb038e
DM
571 (build-system gnu-build-system)
572 (native-inputs
573 `(("autoconf" ,autoconf)
574 ("automake" ,automake)
575 ("gettext" ,gettext-minimal)
576 ("libtool" ,libtool)))
577 (synopsis "File system monitor")
578 (description "This package provides a file system monitor.")
579 (home-page "https://github.com/emcrisostomo/fswatch")
580 (license license:gpl3+)))
bc2529cb
LDB
581
582(define-public collectd
583 (package
584 (name "collectd")
1b52adf0 585 (version "5.12.0")
bc2529cb
LDB
586 (source (origin
587 (method url-fetch)
588 (uri (string-append
589 "https://storage.googleapis.com/collectd-tarballs/collectd-"
590 version
591 ".tar.bz2"))
592 (sha256
593 (base32
1b52adf0 594 "1mh97afgq6qgmpvpr84zngh58m0sl1b4wimqgvvk376188q09bjv"))
bc2529cb
LDB
595 (patches (search-patches "collectd-5.11.0-noinstallvar.patch"))))
596 (build-system gnu-build-system)
597 (arguments
598 `(#:configure-flags (list "--localstatedir=/var" "--sysconfdir=/etc")
599 #:phases (modify-phases %standard-phases
600 (add-before 'configure 'autoreconf
601 (lambda _
602 ;; Required because of patched sources.
603 (invoke "autoreconf" "-vfi"))))))
604 (inputs
605 `(("rrdtool" ,rrdtool)
606 ("curl" ,curl)
607 ("libyajl" ,libyajl)))
608 (native-inputs
609 `(("autoconf" ,autoconf)
610 ("automake" ,automake)
611 ("libtool" ,libtool)
612 ("pkg-config" ,pkg-config)))
613 (home-page "https://collectd.org/")
614 (synopsis "Collect system and application performance metrics periodically")
615 (description
616 "collectd gathers metrics from various sources such as the operating system,
617applications, log files and external devices, and stores this information or
618makes it available over the network. Those statistics can be used to monitor
619systems, find performance bottlenecks (i.e., performance analysis) and predict
620future system load (i.e., capacity planning).")
621 ;; license:expat for the daemon in src/daemon/ and some plugins,
622 ;; license:gpl2 for other plugins
623 (license (list license:expat license:gpl2))))
624