Commit Graph

427 Commits

Author SHA1 Message Date
Peter Jones
0da9489c6a
nixos/netdata: Add option to include extra plugins
New option `extraPluginPaths' that allows users to supply additional
paths for netdata plugins.  Very useful for when you want to use
custom collection scripts.
2019-01-28 09:02:47 -07:00
volth
b3c5e9ac1e
nixos/collectd: restart on failure
`collectd' might fail because of a failure in any of numerous plugins.
For example `virt' plugin sometimes fails if `collectd' is started before `libvirtd'
2019-01-26 00:31:32 +00:00
Silvan Mosberger
7222fd9e21
Merge pull request #53986 from Ma27/document-dovecot-prometheus-exporter-issues
nixos/prometheus-dovecot-exporter: enhance `socketPath` documentation
2019-01-24 00:17:20 +01:00
Maximilian Bosch
ca72dbd125
nixos/prometheus-dovecot-exporter: enhance socketPath documentation
In Dovecot 2.3[1] the stats module changed and now the UNIX socket
provided by Dovecot by default isn't compatible anymore with the
exporter[2]. By enabling the `old-stats` plugin in Dovecot this issue
can be solved which should be documented in this module.

[1] https://wiki2.dovecot.org/Upgrading/2.3
[2] https://github.com/kumina/dovecot_exporter/issues/8
2019-01-23 23:51:48 +01:00
Maximilian Bosch
003132c2dd
nixos/prometheus: make source_labels optional
It's possible to skip `source_labels` entirely, an example for this is
the blackbox exporter configuration:

https://github.com/prometheus/blackbox_exporter#prometheus-configuration
2019-01-16 14:01:43 +01:00
Silvan Mosberger
6a942aec5b
Merge pull request #52765 from Izorkin/datadog-agent
datadog-agent: 6.4.2 -> 6.8.3
2019-01-08 16:01:26 +01:00
Izorkin
47a8b13efa datadog-agent: 6.4.2 -> 6.8.3 2019-01-08 11:16:44 +03:00
Jean-Philippe Braun
4f99f8d2cb nixos/prometheus-bind-exporter: add module 2019-01-03 21:14:21 +01:00
WilliButz
60eff0eecb
nixos/grafana: use new default for connMaxLifetime 2018-12-05 20:49:45 +01:00
Pierre Bourdon
3873f43fc3 prometheus/exporters: fix regression in DynamicUser behavior
Instead of setting User/Group only when DynamicUser is disabled, the
previous version of the code set it only when it was enabled. This
caused services with DynamicUser enabled to actually run as nobody, and
services without DynamicUser enabled to run as root.

Regression from fbb7e0c82f.
2018-12-05 11:26:38 +01:00
Pierre Bourdon
199b4c4743 prometheus/exporters/tor: make CPython happy by defining $HOME 2018-12-05 11:26:38 +01:00
Renaud
6a5fff3741
Merge pull request #51001 from c0bw3b/cleanup/more-https
Treewide: use more HTTPS-enabled sources
2018-11-25 16:22:34 +01:00
Craig Younkins
eff461c8ef treewide: systemd timeout arguments to use infinity instead of 0 (#50934)
Fixes https://github.com/NixOS/nixpkgs/issues/49700
2018-11-25 13:33:22 +01:00
c0bw3b
434eab9955 nixos/systemhealth: fix url and use https 2018-11-24 23:07:30 +01:00
Andreas Rammhold
51c3082119 nixos/prometheus: require one alertmanager configuration parameter
This commit adds an assertion that checks that either `configFile` or
`configuration` is configured for alertmanager. The alertmanager config
can not be an empty attributeset. The check executed with `amtool` fails
before the service even has the chance to start. We should probably not
allow a broken alertmanager configuration anyway.

This also introduces a test for alertmanager configuration that piggy
backs on the existing prometheus tests.
2018-11-23 19:45:17 +01:00
Andreas Rammhold
b1032db5a9 nixos/prometheus: check alertmanager configuration 2018-11-23 19:45:17 +01:00
Andreas Rammhold
d1ef00ebee nixos/prometheus: add package option to alertmanager 2018-11-23 19:45:17 +01:00
Jörg Thalheim
769735d8a1
netdata: create missing /etc/netdata
Since netdata 1.11.0 updated in https://github.com/NixOS/nixpkgs/pull/50459
it needs to have a /etc/netdata directory, which we did not create by default.
fixes #50893
2018-11-21 23:00:04 +00:00
Jörg Thalheim
31d2593ced
netdata: fix python plugins
fixes #33366
2018-11-17 15:38:15 +00:00
Jörg Thalheim
348b7b8be9 nixos/netdata: own plugins must the looked up first
Otherwise netdata will not find python modules.
To make sure netdata still pick up our setuid version of apps.plugin
we rename the original executable.
2018-11-16 11:24:27 -05:00
Jörg Thalheim
1d261945c7
Merge pull request #50113 from ryantm/monit
nixos/monit: change type of 'config' option to lines
2018-11-10 14:47:38 +00:00
Silvan Mosberger
9c984b06c4
Merge pull request #38514 from disassembler/grafana-reporter
grafana-reporter: init at 2.0.1
2018-11-10 15:15:21 +01:00
Ryan Mulligan
8d0b95dc09 nixos/monit: change type of 'config' option to lines
By using types.lines for 'config', we can specify monit configurations
in lots of modules and they can all be automatically combined together
with newlines. This is desireable because different modules might want
to each specify the small monitoring task specific to their service.

This commit also updates the module to use current idioms.
2018-11-09 16:07:42 -08:00
Sander van der Burg
530b4bcadd nixos/alerta: create new module + add kapacitor integration 2018-11-08 22:34:23 +01:00
Andreas Rammhold
6795bdd58c nixos/prometheus: check configuration before starting service
With `promtool` we can check the validity of a configuration before
deploying it. This avoids situations where you would end up with a
broken monitoring system without noticing it - since the monitoring
broke down. :-)
2018-11-04 15:08:44 +01:00
Andreas Rammhold
0de150e0f2 nixos/prometheus: add package option
With a package option we can let the user decide what package to use for
prometheus without requiring an overlay.
2018-11-04 15:08:44 +01:00
Sander van der Burg
60298d1e08 nixos/kapacitor: new service 2018-11-01 21:53:45 +01:00
Samuel Leathers
5b30cd77db
nixos/grafana_reporter: initial service 2018-10-27 05:15:03 -04:00
Rob Vermaas
debbed29d1 datadog-agent: add option to enable trace agent 2018-10-23 12:30:06 +02:00
Jörg Thalheim
c4a7ebb46b
Merge pull request #47070 from Mic92/grafana-improvements
Grafana: secrets outside of the nix store + smtp
2018-10-21 14:21:09 +01:00
Renaud
cb9237d16f
Merge pull request #47775 from florianjacob/munin-var-run-to-run
nixos/munin: move from /var/run to /run
2018-10-21 10:07:25 +02:00
Pierre Bourdon
cf58856d90 nixos/prometheus: add webExternalUrl option
Similar to the prometheus.alertmanager.webExternalUrl option, but for
Prometheus itself.
2018-10-20 13:45:55 +02:00
Pierre Bourdon
86d644f8cc prometheus-tor-exporter: init at 0.3
Upstream: https://github.com/atx/prometheus-tor_exporter
2018-10-13 10:10:29 +02:00
WilliButz
fbb7e0c82f
nixos/prometheus-exporters: fix unapplied service config
Prior to this commit, the default values for `Restart`, `PrivateTmp` and
`WorkingDirectory` were falsely ignored.

I also added myself as maintainer.
2018-10-08 17:21:49 +02:00
WilliButz
24320f4a9e
nixos/prometheus-varnish-exporter: avoid crash on restart 2018-10-08 17:21:48 +02:00
Andrew Childs
c477d6658c nixos/prometheus-snmp-exporter: fix command line argument format 2018-10-07 11:35:55 +09:00
Matthew Bauer
907afd17f9
Merge pull request #46068 from azazel75/alertmanager-flags
Prometheus Alertmanager: Allow the definition of extra options on commandline
2018-10-05 22:52:48 -05:00
Florian Jacob
c54aa26a2d nixos/munin: move from /var/run to /run
as using /var/run now emits a warning by systemd's tmpfiles.d.
As /var/run is already a symlink to /run, this can't break anything, and
data does not need to be migrated.
2018-10-03 17:36:37 +02:00
Graham Christensen
8413f22bb3
docs: format 2018-09-29 20:51:11 -04:00
Jörg Thalheim
9046673696 nixos/grafana: option to configure smtp 2018-09-20 23:06:10 +01:00
Jörg Thalheim
7eb9c348fb nixos/grafana: options to store secrets not in nix store 2018-09-20 23:06:10 +01:00
Domen Kožar
5715aa1951
datadog-agent: remove privateTmp=true
This allows postgres integration to connect to socket in /tmp
2018-09-19 18:53:51 +01:00
Domen Kožar
bef541c569 datadog: add live process monitoring 2018-09-13 09:11:06 +01:00
Domen Kožar
049b3a6cc2 nixos: remove unneeded api_key from config 2018-09-13 09:11:06 +01:00
Robin Gloster
929f71d381
grafana module: allow path for extraConfig vals 2018-09-12 14:21:46 +02:00
David Smith
1d497bbff1 nixos/riemann: refactor config
Previously it was only possible to use very simple Riemann config.
For more complicated scenarios you need a directory of clojure
files and the config file that riemann starts with should be in this
directory.
2018-09-07 09:46:46 +01:00
Alberto Berti
69e4e4934d Allow the definition of extra options on commandline
I stumbled upon an issue with the Alertmanager that required
an additional comand line option. See https://groups.google.com/forum/#!msg/prometheus-users/-5wd-P13xCI/lGLBHHgnBgAJ
2018-09-04 23:19:26 +02:00
Graham Christensen
34d2ec7c09
nixos docs: give IDs to things 2018-09-01 16:20:49 -04:00
Jan Tojnar
f0136e4bc8
Merge pull request #45638 from aanderse/incron
incron: init at 0.5.12
2018-08-31 06:54:58 +01:00
Aaron Andersen
9b12db6928 changed from forking to simple as recommended by @aszlig 2018-08-31 03:03:04 +00:00
Aaron Andersen
d7d7533c18 changes as per requested by @aszlig 2018-08-31 02:52:49 +00:00
Aaron Andersen
7bc2a0dd64 removed quotes when not needed as suggested by @aszlig 2018-08-31 02:17:38 +00:00
Johannes Lötzsch
bb08d1c13f nixos/zabbix: fix initial database creation (#45750)
without this fix the database setup fails with „could not connect to database postgres: FATAL:  role "root" does not exist“
2018-08-30 08:25:13 +01:00
Aaron Andersen
d9943e6bba added option to specify which packages are available to the system incrontab
recommendation by @jtojnar and @maurer
2018-08-29 00:43:28 +00:00
Aaron Andersen
3d1091eb5b added a check to make sure a situation where a defined configuration wouldn't be unused as per recommended by @maurer 2018-08-28 23:50:55 +00:00
Tuomas Tynkkynen
69b4f427b6 nixos/zabbix-agent: Make the Zabbix package user-configurable 2018-08-28 17:43:12 +03:00
Aaron Andersen
b77f38c3cd added a comment about the PATH variable under which incrontab commands will run 2018-08-27 21:31:55 +00:00
Aaron Andersen
7840d00532 clarified the descriptions of the allow and deny options 2018-08-27 21:15:03 +00:00
Aaron Andersen
fc1f33bc2c fixed issue with system jobs 2018-08-27 15:23:19 +00:00
Aaron Andersen
fc03a9f5b7 initial work on incron service 2018-08-25 18:08:24 -04:00
Sarah Brofeldt
8f61e96c1e nixos/datadog-agent: Fix type of use_dogstatsd (#45587) 2018-08-25 00:18:59 +02:00
Vincent Ambo
5b748bd8fa nixos/datadog-agent: Add option to configure datadog integrations
Introduces an option `services.datadog-agent.extraIntegrations` that
can be set to include additional Datadog agent integrations from the
integrations-core repository.

Documentation and an example is provided with the change.

Relates to NixOS/nixpkgs#40399
2018-08-09 17:25:23 +02:00
Vincent Ambo
5a07bb2fc7 nixos/datadog-agent: Refactor to allow arbitrary check configs
Refactors the datadog-agent (i.e. V6) module to let users configure
arbitrary checks, not just a limited set, without having to resort to
linking the files manually and updating the systemd unit.

Checks are now configured via a `services.datadog-agent.checks` option
which takes an attribute set in which the keys refer directly to
Datadog check names, and the values are attribute sets representing
Datadog's configuration structure.

With this mechanism users can configure arbitrary integrations, for
example for the `ntp`-check, simply by saying:

    services.datadog-agent.checks.ntp = {
      init_config = null;
      # ... other check configuration options as per Datadog
      # documentation
    };

The previous check-specific configuration options for non-default
checks have been removed. Disk & network check configuration options
have been kept rather than making them a `default`-value of the
`checks`-option because they will be overridden by user-configurations
in that case.

Relates to NixOS/nixpkgs#40399.
2018-08-09 17:25:23 +02:00
Rodney Lorrimar
b9486e2b50 nixos/datadog-agent: add module
This is the new v6 version of datadog-agent.

The old v5 module is kept as dd-agent.
2018-08-09 16:53:31 +02:00
Rodney Lorrimar
51618113f4 nixos/dd-agent: Fix dodgy temp files
DataDog was dropping PID files and and python pickle files in
/tmp. Move these to private directories as a precaution.
2018-08-09 16:53:30 +02:00
Jesper
0254ae4e80 netdata: 1.9.0 -> 1.10.0 (#44472)
The web_access.patch would no longer apply.
It disabled a check that required the static files
for the web UI to be owned by the user the daemon runs as
(not root, so it doesn't work well with nix).

Besides updating netdata, this commit removes that patch,
changes the netdata service config to set the "web files owner/group"
option to "root" and adds a test that checks that the web UI is being served.

This allows the web files to be owned by root without patching.
2018-08-05 00:05:48 +02:00
Bas van Dijk
5a43f6ffeb graphite: make systemd create /run directory for us (#44392) 2018-08-04 20:55:59 +02:00
WilliButz
9216da8928
nixos/prometheus-exporters: use nixos-fw chain
Use nixos-fw chain instead of INPUT so that the rules don't keep
stacking everytime the firewall is reloaded.
This also adds a comment to each rule about the associated exporter.
2018-08-03 13:20:53 +02:00
Bas van Dijk
0aae3fda06 graphite: 1.0.2 -> 1.1.3 & moved dependencies to python-modules (#44276)
Fixes #30891

* Upgrade `graphite-web`, `carbon` and `whisper` from 1.0.2 -> 1.1.3.

* Replaced the deprecated `pythonPackages.graphite_influxdb` with
  `pythonPackages.influxgraph.`

* Renamed `pythonPackages.graphite_web` to `pythonPackages.graphite-web`
  to be consistent with the Python package name.

* Replaced the unmaintained `pythonPackages.graphite_pager` with
  `pythonPackages.graphitepager`

* Moved all new packages from `python-packages.nix` to
  `pkgs/development/python-modules`
2018-08-02 16:39:57 +02:00
Jörg Thalheim
e9ff0f9448
Merge pull request #43863 from volth/unused4
[bot] nixos/*: remove unused arguments in lambdas
2018-07-21 16:39:08 +01:00
volth
2e979e8ceb [bot] nixos/*: remove unused arguments in lambdas 2018-07-20 20:56:59 +00:00
volth
6d2857a311 [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
Florian Klink
fff5923686 nixos/modules: users.(extraUsers|extraGroup->users|group) 2018-06-30 03:02:58 +02:00
Matthew Justin Bauer
bc7ea93a47
Merge pull request #40028 from WilliButz/add-dnsmasq-exporter
prometheus-dnsmasq-exporter: init at 2018-05-05, add module
2018-06-01 23:18:49 -04:00
Vincent Ambo
f4c87183df nixos/dd-agent: fix runtime errors by adding gohai to $PATH
The Datadog agent requires `gohai` to be available on its `$PATH` in
order to collect certain metrics.

It would previously start up and collect certain types of metrics, but
log errors related to the missing gohai binary.

This commit configures the systemd-unit to make gohai available at
runtime.

This fixes #39810.
2018-05-24 10:58:28 +02:00
WilliButz
de5205ae2d
nixos/prometheus-node-exporter: fix file collector 2018-05-24 04:40:46 +02:00
WilliButz
e2dfac67f7
nixos/promtheus-dnsmasq-exporter: add module 2018-05-06 13:58:39 +02:00
WilliButz
27eb2859f2 prometheus-nginx-exporter: fix bool to string coercion 2018-05-02 16:18:20 +02:00
Samuel Leathers
78f09c9102 nixos/prometheus-surfboard-exporter: add new module 2018-05-02 13:04:34 +02:00
WilliButz
cb4c2834ef nixos/prometheus-varnish-exporter: update module 2018-05-01 18:00:53 +02:00
WilliButz
de60146f59 nixos/promtheus-nginx-exporter: update module 2018-05-01 15:45:48 +02:00
WilliButz
c3d46165db
nixos/prometheus-postfix-exporter: update module 2018-04-19 19:47:13 +02:00
WilliButz
01af301443 prometheus-exporters: add dovecot exporter module 2018-04-19 00:35:27 +02:00
Ben Wolsieffer
ed6f1761cc grafana: support socket protocol 2018-04-12 22:49:15 -04:00
Ryan Mulligan
690fcc97ef nixos/monit: restart if config changes 2018-03-28 15:21:56 -07:00
WilliButz
c54aa1f293
nixos/prometheus-exporters: add postfix exporter & documentation 2018-03-22 14:52:23 +01:00
WilliButz
f4d03b5c9c
nixos/prometheus-exporters: rewrite and restructure
- prometheus exporters are now configured with
  `services.prometheus.exporters.<name>`
- the exporters are now defined by attribute sets
  from which the options for each exporter are generated
- most of the exporter definitions are used unchanged,
  except for some changes that should't have any impact
  on the functionality.
2018-03-22 14:46:17 +01:00
WilliButz
ca7b29050f grafana: 5.0.2 -> 5.0.3, fix headless phantomjs 2018-03-19 19:59:10 +01:00
Tuomas Tynkkynen
1e107443ad Merge commit '618ac29687a650d854c8bea7efd4490387589ce2' into staging 2018-03-03 22:40:32 +02:00
Shea Levy
fec543436d
nixos: Move uses of stdenv.shell to runtimeShell. 2018-03-01 14:38:53 -05:00
WilliButz
5ea2c87464
grafana: 4.6.3 -> 5.0.0 2018-03-01 17:50:09 +01:00
Ruben Maher
ac52cb3aed nixos/prometheus/alertmanager: double hyphenate long opts (#34914)
Alertmanager 0.13.0 doesn't support single dash long options, so '-config.file'
for example is parsed as '-c', which leads to the service not starting.
2018-02-12 18:02:38 -05:00
Casey Ransom
f3cba4f6bb netdata service: fix permissions for apps.plugin
apps.plugin requires capabilities for full process monitoring. with
1.9.0, netdata allows multiple directories to search for plugins and the
setuid directory can be specified here.

the module is backwards compatible with older configs. a test is
included that verifies data gathering for the elevated privileges. one
additional attribute is added to make configuration more generic than
including configuration in string form.
2018-01-02 17:57:19 -05:00
Kevin Hanselman
65fb15aaf8 nixos/smartd: allow extra cli options for daemon
This enables further customization of smartd.
2017-12-19 18:43:49 +01:00
Maximilian Bosch
aaf1e1c4fb statsd: restore support for {influx,librato,stackdriver} backends
These packages will be placed into an environment using
`backendsToPackages`. This function explicitly maps backends to
`pkgs.nodePackages.${type}` unless it's a builtin. This ensures that only
valid backends that work on NixOS are used (if not, the build already
breaks at evaluation time).

The log will be redirected to `stdout` to be able to watch the entire
output using `journalctl`.

Configuration parameters for the backends need to be set using
`services.statsd.extraConfig` as each backend has its own options and
all of them shouldn't be validated and checked explicitly and manually.
2017-12-04 16:56:16 +01:00
Philipp Hausmann
5f59913c74 FusionInventory: 3.18 -> 3.21 2017-11-29 14:58:36 +00:00
Ollie Charles
6ece306812 nixos/grafana: Fix type of database.type option
If you want to use grafana with PostgreSQL, the type is `postgres`,
not `postgresql`.
2017-11-28 11:57:35 +00:00
Kjetil Orbekk
bd3e49a80e nixos/munin: fix broken plugin wrappers
The munin-node service used wrapProgram to inject environment variables.
This doesn't work because munin plugins depend on argv[0], which is
overwritten when the executable is a script with a shebang line (example
below).

This commit removes the wrappers and instead passes the required
environment variables to munin-node.

Eliminating the wrappers resulted in some broken plugins, e.g., meminfo
and hddtemp_smartctl. That was fixed with the per-plugin configuration.

Example:

  The plugin if_eth0 is a symlink to /.../plugins/if_, which uses $0
  to determine that it should monitor traffic on the eth0 interface.

  if_ is a wrapped program, and runs `exec -a "$0" .if_-wrapped`

  .if_-wrapped has a "#!/nix/.../bash" line, which results in bash
  changing $0, and as a result the plugin thinks my interface
  is called "-wrapped".
2017-11-25 11:23:56 +01:00
Oliver Charles
560400773c nixos/prometheus: Correct documentation for external_labels
As description is literal XML, I need to escape < and > by hand.
2017-11-17 11:06:03 +00:00
Oliver Charles
acb7f43db9 nixos/prometheus: add external_labels option 2017-11-17 10:16:21 +00:00