aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/monitoring.scm
Commit message (Collapse)AuthorAge
* ui: 'display-hint' quotes extra arguments for Texinfo.Ludovic Courtès2023-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/61201>. Previously, common practice was to splice arbitrary strings (user names, file names, etc.) into Texinfo snippets passed to 'display-hint'. This is unsafe in the general case because at signs and braces need to be escaped to produced valid Texinfo. This commit addresses that. * guix/ui.scm (texinfo-quote): New procedure. (display-hint): When ARGUMENTS is non-empty, pass it to 'texinfo-quote' and call 'format'. (report-unbound-variable-error, check-module-matches-file) (display-collision-resolution-hint, run-guix-command): Remove explicit 'format' call; pass 'format' arguments as extra arguments to 'display-hint'. * gnu/services/monitoring.scm (zabbix-front-end-config): Likewise. * guix/scripts.scm (warn-about-disk-space): Likewise. * guix/scripts/build.scm (%standard-cross-build-options) (%standard-native-build-options): Likewise. * guix/scripts/describe.scm (display-checkout-info): Likewise. * guix/scripts/environment.scm (suggest-command-name): Likewise. * guix/scripts/home.scm (process-command): Likewise. * guix/scripts/home/edit.scm (service-type-not-found): Likewise. * guix/scripts/import.scm (guix-import): Likewise. * guix/scripts/package.scm (display-search-path-hint): Likewise. * guix/scripts/pull.scm (build-and-install): Likewise. * guix/scripts/shell.scm (auto-detect-manifest): Likewise. * guix/scripts/system.scm (check-file-system-availability): Likewise. (guix-system): Likewise. * guix/scripts/system/edit.scm (service-type-not-found): Likewise. * guix/status.scm (print-build-event): Likewise.
* services: zabbix-server: Increase Shepherd grace period.Marius Bakke2022-12-12
| | | | | * gnu/services/monitoring.scm (zabbix-server-shepherd-service)[stop]: Add #:grace-period.
* services: zabbix-agent: Adjust command-line when using zabbix_agent2.Marius Bakke2022-12-07
| | | | | * gnu/services/monitoring.scm (zabbix-agent-arguments): New procedure. (zabbix-agent-shepherd-service): Use that to determine command line arguments.
* services: zabbix: Don't write user to configuration file.Marius Bakke2022-12-07
| | | | | | | | | | | | | | The service already runs with the specified user and group, so there is no use in writing it to the configuration files. This change is mainly done for compatibility with 'zabbix-agent2' which does not understand the User= setting, but also to document the correct data type for the "group" setting. * gnu/services/monitoring.scm (serialize-string): Filter USER and GROUP fields. (group?, serialize-group): Remove variables. (zabbix-server-configuration, zabbix-agent-configuration): Document the GROUP field as 'string'. * doc/guix.texi (Monitoring Services): Adjust accordingly.
* Fix problems initially introduced in commit 543d971ed2, now reinstated.Maxim Cournoyer2022-11-17
| | | | | | | | | | Commit 543d971ed2 ("services: configuration: Re-order generated record fields") introduced two regressions, one in guix home and another one in the zabbix service. * gnu/home/services/shells.scm (home-bash-extensions): Remove the first pattern in the match, which used to be to ignore %location. * gnu/services/monitoring.scm (zabbix-front-end-nginx-extension): Likewise.
* Revert "services: configuration: Revert to a working ‘guix home’."Maxim Cournoyer2022-11-17
| | | | | | This reverts commit 39e4e00f75be8055300cb0afffb8bd4b4d35f2cc, with fixes for the guix home issues reported and another one found while reconfiguring berlin in the subsequent commit.
* services: configuration: Revert to a working ‘guix home’.Tobias Geerinckx-Rice2022-11-13
| | | | | | | | | | | | | | | | | | | | | This reverts commit 543d971ed2a1d9eb934af1f51930741d7cc4e7ef, and its dependent commit 9b21cd2e9a614f1937769caf3917a791b151d841, which appear to have triggered a recent wave of ‘guix home’ regressions involving (services (list (service home-bash-service-type))): In gnu/home/services/shells.scm: 504:7 3 (home-bash-extensions #<<home-bash-configuration> package: #<package bash@5.1.8 gnu/packages/ba…> …) In unknown file: 2 (append #<<location> file: "…" line: 14 column: 12> ()) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure append: Wrong type argument in position 1 (expecting empty list): #<<location> file: "…" line: 14 column: 12> I should love to dive in & fix this rather than revert, but urgently need sleep.
* services: configuration: Re-order generated record fields.Maxim Cournoyer2022-11-15
| | | | | | | | | | | This is so that the first field of the generated record matches the first one declared, which makes 'define-configuration' record API compatible with define-record-type* ones. * gnu/services/configuration.scm (define-configuration-helper): Move the %location field below the ones declared by the user. * gnu/services/monitoring.scm (zabbix-front-end-config): Adjust match pattern accordingly.
* services: Add missing 'description' fields.Ludovic Courtès2022-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/databases.scm (postgresql-service-type)[description]: New field. (memcached-service-type)[description]: New field. (mysql-service-type)[description]: New field. (redis-service-type)[description]: New field. * gnu/services/desktop.scm (geoclue-service-type)[description]: New field. (udisks-service-type)[description]: New field. (elogind-service-type)[description]: New field. (account-service-type)[description]: New field. * gnu/services/kerberos.scm (krb5-service-type)[description]: New field. (pam-krb5-service-type)[description]: New field. * gnu/services/lirc.scm (lirc-service-type)[description]: New field. * gnu/services/mail.scm (dovecot-service-type)[description]: New field. (opensmtpd-service-type)[description]: New field. (mail-aliases-service-type)[description]: New field. (exim-service-type)[description]: New field. * gnu/services/monitoring.scm (zabbix-server-service-type)[description]: New field. (zabbix-agent-service-type)[description]: New field. * gnu/services/nfs.scm (rpcbind-service-type)[description]: New field. (pipefs-service-type)[description]: New field. (gss-service-type)[description]: New field. (idmap-service-type)[description]: New field. * gnu/services/spice.scm (spice-vdagent-service-type)[description]: New field. * gnu/services/sysctl.scm (sysctl-service-type)[description]: New field. * gnu/services/virtualization.scm (libvirt-service-type)[description]: New field. (virtlog-service-type)[description]: New field. * gnu/services/vpn.scm (openvpn-server-service-type)[description]: New field. (openvpn-client-service-type)[description]: New field. (wireguard-service-type)[description]: New field. * gnu/services/web.scm (httpd-service-type)[description]: New field. (fcgiwrap-service-type)[description]: New field. (agate-service-type)[description]: New field. [name]: Fix.
* services: zabbix: Add requirement on 'user-processes'.Marius Bakke2022-02-17
| | | | | | | | This ensures the services does not start before mounts are up. Reported by rekado on #guix. * gnu/services/monitoring.scm (zabbix-server-shepherd-service, zabbix-agent-shepherd-service)[requirement]: New field.
* doc: Zabbix: Improvide description.Marius Bakke2022-02-13
| | | | | | | | | * doc/guix.texi (Monitoring Services): Document the various 'zabbix-*' service types, and expand description of all Zabbix services. Use less marketing terms. (Web Services): Add subsubheading for PHP-FPM, and anchors for cross-referencing. * gnu/services/monitoring.scm (zabbix-front-end-configuration): Use @ref instead of @pxref for cross-referencing.
* services: zabbix-frontend: Restore correct variable name.Marius Bakke2022-02-07
| | | | | | | | | This is a follow-up to 326e08bf0f55409f040612001f73a2cc4091c159, et.al. * gnu/services/monitoring.scm (%zabbix-front-end-nginx-configuration): Rename to ... (%zabbix-front-end-configuration-nginx): ... this. (zabbix-front-end-nginx-extension): Adjust accordingly.
* services: monitoring: Remove unused procedure.Marius Bakke2022-02-07
| | | | | | | This is a follow-up to commit 326e08bf0f55409f040612001f73a2cc4091c159. * gnu/services/monitoring.scm (zabbix-front-end-nginx-configuration): Remove variable.
* services: zabbix-front-end: Restore backwards compatibility.Marius Bakke2022-02-07
| | | | | | | | | | | | | | Commit e301f1a8ed11f9eacb2b7f525a7446dc00621a8b removed the NGINX argument entirely, but users may rely on and override it. Reported by rekado on #guix. * gnu/services/monitoring.scm (%zabbix-front-end-nginx-configuration): Restore exported variable. (zabbix-front-end-nginx-extension): New procedure. (zabbix-front-end-configuration): Remove FASTCGI-PARAMS field. Restore NGINX field, but default to the empty list. (zabbix-front-end-service-type): Extend NGINX-SERVICE-TYPE by ZABBIX-FRONT-END-NGINX-EXTENSION. * doc/guix.texi (Monitoring Services): Regenerate documentation.
* services: zabbix-frontend: Support custom server package.Marius Bakke2022-02-01
| | | | | | | | | | | * gnu/services/monitoring.scm (%zabbix-front-end-configuration-nginx): Rename to ... (zabbix-front-end-nginx-configuration): ... this. Take server package and FastCGI parameters from ... (zabbix-front-end-configuration): ... here. Add PACKAGE and FASTCGI-PARAMS fields, remove NGINX. (zabbix-front-end-service-type): Adjust for renamed procedure. * doc/guix.texi (Monitoring Services)[Zabbix front-end]: Regenerate documentation.
* services: zabbix: Support gexps in configuration serializer.Marius Bakke2022-01-30
| | | | | | | | | This makes it possible to do e.g. (include-files (list (local-file "foo.conf"))). * gnu/services/monitoring.scm (serialize-field, serialize-list, serialize-include-files, serialize-extra-options): Rewrite as gexps. (zabbix-server-config-file, zabbix-agent-config-file): Simplify builders by using FORMAT.
* services: zabbix-agent: Set the PATH variable.Marius Bakke2022-01-29
| | | | | * gnu/services/monitoring.scm (zabbix-agent-shepherd-service)[start]: Set the PATH variable to the common values.
* services: zabbix-frontend: Adjust indentation.Marius Bakke2022-01-29
| | | | * gnu/services/monitoring.scm (zabbix-front-end-activation): Reindent.
* services: zabbix-frontend: Enable IEEE754-compatible history values.Marius Bakke2022-01-29
| | | | | * gnu/services/monitoring.scm (zabbix-front-end-config): Specify $DB['DOUBLE_IEEE754'] in the configuration file, as per current example.
* services: zabbix-server: Add shepherd actions for runtime control commands.Marius Bakke2022-01-29
| | | | | | | * gnu/services/monitoring.scm (zabbix-server-runtime-control-procedure, zabbix-server-actions): New variables. (zabbix-server-shepherd-service)[actions]: New field. Let-bind variables common between actions and the start procedure.
* services: zabbix-frontend: Fix configuration file for hard coded passwords.Marius Bakke2022-01-29
| | | | | | | This is a follow-up to commit 078f5bfae7ee174177791defcfd350117a503a6d. * gnu/services/monitoring.scm (zabbix-front-end-config): When DB-PASSWORD is set, enclose the password with quotes in the configuration file.
* services: zabbix-server: Do not write database password to the store.Marius Bakke2022-01-26
| | | | | * gnu/services/monitoring.scm (zabbix-front-end-config): Read the secret file from zabbix.conf.php at runtime instead of embedding the contents.
* services: zabbix-agent: Respect user and group configuration.Marius Bakke2022-01-26
| | | | | * gnu/services/monitoring.scm (zabbix-agent-account): Look up user and group from CONFIG instead of hard-coded values.
* services: Accept <inferior-package>s in lieu of <package>s.Tobias Geerinckx-Rice2021-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/authentication.scm (fprintd-configuration) (nslcd-configuration): Substitute file-like objects for package ones. * gnu/services/cgit.scm (cgit-configuration, opaque-cgit-configuration): Likewise. * gnu/services/cups.scm (package-list?, cups-configuration): Likewise. * gnu/services/dns.scm (verify-knot-configuration) (ddclient-configuration): Likewise. * gnu/services/docker.scm (docker-configuration): Likewise. * gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise. * gnu/services/getmail.scm (getmail-configuration): Likewise. * gnu/services/mail.scm (dovecot-configuration) (opaque-dovecot-configuration): Likewise. * gnu/services/messaging.scm (prosody-configuration) (opaque-prosody-configuration): Likewise. * gnu/services/monitoring.scm (zabbix-server-configuration) (zabbix-agent-configuration): Likewise. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-configuration): Likewise. * gnu/services/virtualization.scm (libvirt-configuration) (qemu-guest-agent-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise.
* prometheus-node-exporter: Support extra options.Christopher Baines2020-12-07
| | | | | | | | | | There are plenty of options supported that the Guix configuration record doesn't help you with, so add this field to allow users to do their own thing. * gnu/services/monitoring.scm (<prometheus-node-exporter-configuration>): Add extra-options field. (prometheus-node-exporter-shepherd-service): Handle the extra options. * doc/guix.texi (Prometheus Node Exporter Service): Document this.
* prometheus-node-exporter: Enable the textfile collector.Christopher Baines2020-12-07
| | | | | | | | | | | * gnu/services/monitoring.scm (<prometheus-node-exporter-configuration>): Add textfile-directory. (prometheus-node-exporter-textfile-directory, prometheus-node-exporter-activation): New procedures. (prometheus-node-exporter-shepherd-service): Pass --collector.textfile.directoryto the service. (prometheus-node-exporter-service-type): Extend the activation service type. * doc/guix.texi (Prometheus Node Exporter Service): Document.
* services: prometheus-node-exporter: Use a log file.Christopher Baines2020-12-07
| | | | | | | This makes the logs easier to find and read. * gnu/services/monitoring.scm (prometheus-node-exporter-shepherd-service): Pass #:log-file to make-forkexec-constructor.
* prometheus-node-exporter: Add user and group.Christopher Baines2020-12-07
| | | | | | | | | | So it doesn't run as root, and because this will help with the textfile exporter. * gnu/services/monitoring.scm (%prometheus-node-exporter-accounts): New variable. (prometheus-node-exporter-shepherd-service): Use the relevant user and group. (prometheus-node-exporter-service-type): Extend the account service type.
* services: prometheus-node-exporter: Neaten up.Christopher Baines2020-12-07
| | | | | | | | Add relevant exports, as well as a comment to better indicate where the relevant code starts. * gnu/services/monitoring.scm (prometheus-node-exporter-service-type): Capitalise Prometheus.
* services: zabbix-agent: Delete not mandatory hostname configuration.Oleg Pykhalov2020-11-29
| | | | | * gnu/services/monitoring.scm (zabbix-agent-configuration)[hostname]: Set to empty string.
* services: Remove imports of (ice-9 …) modules.Ludovic Courtès2020-11-05
| | | | | | | | * gnu/services/monitoring.scm (zabbix-server-activation): Remove (ice-9 rdelim) from the imported modules. (zabbix-agent-activation): Likewise. * gnu/tests/mail.scm (run-exim-test)[test]: Remove (ice-9 ftw) from the imported modules.
* gnu: zabbix-agentd: Update to 4.4.1.Oleg Pykhalov2019-11-03
| | | | | | * gnu/packages/monitoring.scm (zabbix-agentd): Update to 4.4.1. * gnu/services/monitoring.scm (%zabbix-front-end-configuration-nginx): Add listen record field.
* gnu: darkstat-service-type: Fix typo "statistics".Vagrant Cascadian2019-05-22
| | | | * gnu/services/monitoring (darkstat-service-type)[description]: Fix typo.
* gnu: Update copyright line.Gábor Boskovits2019-05-15
| | | | * gnu/services/monitoring.scm: Update copyright line.
* services: prometheus-node-exporter add default.Gábor Boskovits2019-05-13
| | | | | * gnu/services/monitoring.scm (prometheus-node-exporter-service-type): Add default-value with default configuration.
* services: zabbix-front-end: Show location in messages.Oleg Pykhalov2019-03-10
| | | | | * gnu/services/monitoring.scm (zabbix-front-end-config): Show location in messages.
* services: Use 'file-append' for user account shells.Ludovic Courtès2019-03-04
| | | | | | | | | * gnu/services/cuirass.scm (cuirass-account): Use 'file-append' instead of #~(string-append #$shadow "/sbin/nologin"). * gnu/services/monitoring.scm (zabbix-server-account): Likewise. (zabbix-agent-account): Likewise. * gnu/services/rsync.scm (rsync-account): Likewise. * gnu/services/ssh.scm (%openssh-accounts): Likewise.
* services: zabbix-front-end: Tweak error and hint messages.Ludovic Courtès2018-12-20
| | | | | * gnu/services/monitoring.scm (zabbix-front-end-config): Adjust error and hint mssages.
* services: zabbix-front-end: Improve hint and error messages.Oleg Pykhalov2018-12-19
| | | | | * gnu/services/monitoring.scm (zabbix-front-end-config): Improve hint and error messages.
* services: monitoring: Add 'zabbix-front-end'.Oleg Pykhalov2018-12-17
| | | | | | | | | | * gnu/services/monitoring.scm (nginx-server-configuration-list?, serialize-nginx-server-configuration-list, zabbix-front-end-configuration, zabbix-front-end-config, zabbix-front-end-activation, generate-zabbix-front-end-documentation): New procedures. (%zabbix-front-end-configuration-nginx, %maintenance.inc.php, zabbix-front-end-service-type): New variables. * doc/guix.texi (Monitoring Services): Document this.
* services: monitoring: Add 'zabbix-agent'.Oleg Pykhalov2018-12-17
| | | | | | | | | | | * gnu/services/monitoring.scm (zabbix-server-service-type, zabbix-agent-account, zabbix-agent-activation, zabbix-agent-config-file, zabbix-agent-shepherd-service, generate-zabbix-agent-documentation): New procedures. (zabbix-agent-service-type): New 'service-type'. * gnu/tests/monitoring.scm (run-zabbix-server-test): Test 'zabbix-agent'. (%zabbix-os): Add 'zabbix-agent' service. * doc/guix.texi (Monitoring Services): Document 'zabbix-agent'.
* services: monitoring: Add 'zabbix-server'.Oleg Pykhalov2018-12-17
| | | | | | | | | | | | | | | | | * gnu/services/monitoring.scm (uglify-field-name, serialize-field, serialize-number, serialize-list, serialize-string, group?, serialize-group, include-files?, serialize-include-files, zabbix-server-account, zabbix-server-config-file, zabbix-server-activation, zabbix-server-shepherd-service, generate-zabbix-server-documentation, extra-options, serialize-extra-options): New procedures. (zabbix-server-service-type): New variable. * gnu/tests/monitoring.scm (%psql-user-create-zabbix, %psql-db-zabbix-create-script, %psql-db-create-zabbix, %psql-db-import-zabbix, %zabbix-os, %test-zabbix): New variables. (run-zabbix-server-test): New procedure. * doc/guix.texi (Monitoring Services): Document 'zabbix-server'. squash! services: monitoring: Add 'zabbix-server'.
* services: Add prometheus-node-exporter-service-type.Gábor Boskovits2018-07-09
| | | | | | | | | | * gnu/services/monitoring.scm (prometheus-node-exporter-service-type): New variable. (<prometheus-node-exporter-configuration>): New record type. (prometheus-node-exporter-shepherd-service): New procedure. * gnu/doc/guix.texi (Monitoring Services): Document it. * gnu/tests/monitoring.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add test module.
* gnu: services: Add darkstat service.宋文武2018-01-08
* gnu/services/monitoring.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Monitoring Services): Document it.