Commit Graph

501 Commits

Author SHA1 Message Date
Arnout Engelen
81daaece83
prometheus-imap-mailstat-exporter: init at 0.0.1
To be able to monitor the number of (unread) mails in mailboxes
2023-09-20 22:29:57 +02:00
Arnout Engelen
1bf360af28
prometheus-exporter-nextcloud: require either tokenFile or passwordFile
follow-up on 28b3156bc6 which broke
when tokenFile was left empty.

Making both options nullable also allows us to provide a more meaningful
error message when neither authentication method is configured.
2023-09-19 13:19:54 +02:00
tilpner
8562dc924d
nixos/prometheus: add remote{Read, Write}.headers options 2023-09-03 23:36:49 +02:00
Martin Weinelt
73c5a5a778
nixos/prometheus/unbound-exporter: update for new package
The command line interface changed slightly, but still supports the TCP
as well as the UDS control interface.
2023-08-28 23:21:52 +02:00
Franz Pletz
fe907aa37e
Merge pull request #242365 from h7x4/add-mysqld-exporter
services/prometheus/exporters: add mysqld
2023-08-25 23:56:22 +02:00
Arnout Engelen
4dcaa04151
Merge pull request #242942 from raboof/prometheus-nextcloud-auth-token
prometheus-exporter-nextcloud: support for auth tokens
2023-08-25 09:54:23 +02:00
h7x4
8981783b60
services/prometheus/exporters: add mysqld
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2023-08-13 19:46:30 +02:00
Fugi
5e75b36302
nixos/prometheus-sabnzbd-exporter: init 2023-08-13 16:31:52 +02:00
codec
47db2bfffb prometheus-idrac-exporter: init at unstable-2023-06-29 2023-08-04 00:57:19 +02:00
WilliButz
bf48dde359
Merge pull request #233659 from seberm/prometheus-ipmi-exporter-family-restriction
nixos/prometheus-ipmi-exporter: allow AF_UNIX address family
2023-07-31 13:57:15 +02:00
Felix Bühler
0a2745684e
Merge pull request #239624 from Stunkymonkey/use-optionalString-then
treewide: use optionalString instead of 'then ""'
2023-07-22 13:02:47 +02:00
Arnout Engelen
7e26c8d097
prometheus-exporter-nextcloud: support for auth tokens
Fixes #176849
2023-07-12 00:32:17 +02:00
Gaël Reyrol
f856229c9a
nixos/prometheus/exporters: adjust scaphandre assertions 2023-06-30 15:10:38 +02:00
Gaël Reyrol
1a821e7bf5
nixos/prometheus-exporters: add php-fpm 2023-06-28 22:11:36 +02:00
Gaël Reyrol
e11f06a951
services/prometheus/exporters: add scaphandre 2023-06-27 20:50:58 +02:00
Felix Buehler
f3719756b5 treewide: use optionalString instead of 'then ""' 2023-06-24 20:19:19 +02:00
Jenny
3a86958c97
prometheus-junos-czerwonk-exporter: init at 0.10.1 + module (#235433) 2023-06-13 10:15:05 +02:00
Gabriel Fontes
dff2e184f4 nixos/prometheus.exporters.graphite: init 2023-06-03 03:13:09 +00:00
Otto Sabart
2c664e3a65
nixos/prometheus-ipmi-exporter: allow AF_UNIX address family
This family is required for ipmi collector.
2023-05-23 21:00:00 +02:00
figsoda
701bcdbead nixos: fix typos 2023-05-19 22:31:04 -04:00
Weijia Wang
419d7f9c8d
Merge pull request #230753 from fetsorn/typos
several typos
2023-05-09 19:16:12 +03:00
fetsorn
1a4e993104 nixos/prometheus: fix typo
"nixpgs" -> "nixpkgs"
2023-05-09 18:02:17 +04:00
Aaron Andersen
cf0327810b
Merge pull request #207093 from ymarkus/alertmanager
nixos/alertmanager: add checkConfig option
2023-05-08 20:15:17 -04:00
Artturi
b83db86a9e
Merge pull request #222080 from Stunkymonkey/nixos-optionalString 2023-04-20 16:07:30 +03:00
ajs124
6fc4e722c4 nixos/prometheus-smartctl-exporter: fix evaluation after adding cfg.extraFlags
was done in 3c61665b7f but does not evaluate
error: value is a string with context while a list was expected
2023-04-13 17:32:50 +02:00
Jakub Sokołowski
3c61665b7f
nixos/prometheus-smartctl-exporter: support extraFlags
Seems to be ignored currently. Useful for `-verbose` flag.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-12 23:56:32 +02:00
Felix Buehler
327b0cff7a treewide: use more lib.optionalString 2023-04-07 13:38:33 +02:00
Justinas Stankevicius
eddd1e46e6 prometheus-exporters: support nftables 2023-03-21 22:24:37 +02:00
Alvar Penning
0810a6e018 nixos/prometheus.alertmanagerIrcRelay: init
Co-authored-by: Martin Weinelt <mweinelt@users.noreply.github.com>
2023-03-20 15:57:11 +01:00
Franz Pletz
bc0a1dd982
Merge pull request #220461 from SuperSandro2000/prometheus
prometheus: 2.41.0 -> 2.42.0, split outputs, other cleanups
2023-03-14 05:28:59 +01:00
Sandro Jäckel
da2f281453
prometheus: split doc and cli into extra outputs 2023-03-10 11:45:45 +01:00
Sandro
bca9ab3d26
Merge pull request #205060 from jslight90/patch-8
nixos/prometheus: Add new relabel_configs actions
2023-03-10 11:19:31 +01:00
pennae
bf4c0c1900 nixos/*: remove trailing period in mkEnableOptions
those are added by mkEnableOption, and .. is replaced to … by markdown
processing.
2023-02-08 15:23:34 +01:00
Pol Dellaiera
4e7f20ade9 nixos/prometheus-pihole-exporter: update configuration options
The `interval` configuration option doesn't exist and has been removed.
The `timeout` configuration option has been added.
2023-02-06 11:35:51 +01:00
Thomas Gerbet
34f5d8cd24
Merge pull request #213534 from drupol/add-prometheus-shelly-exporter
prometheus-shelly-exporter: init at 1.0.0
2023-02-02 00:11:56 +01:00
Pol Dellaiera
9f17e032e7
prometheus-shelly-exporter: add NixOS module 2023-02-01 19:49:33 +01:00
pennae
0a6e6cf7e6 nixos/manual: render module chapters with nixos-render-docs
this converts meta.doc into an md pointer, not an xml pointer. since we
no longer need xml for manual chapters we can also remove support for
manual chapters from md-to-db.sh

since pandoc converts smart quotes to docbook quote elements and our
nixos-render-docs does not we lose this distinction in the rendered
output. that's probably not that bad, our stylesheet didn't make use of
this anyway (and pre-23.05 versions of the chapters didn't use quote
elements either).

also updates the nixpkgs manual to clarify that option docs support all
extensions (although it doesn't support headings at all, so heading
anchors don't work by extension).
2023-01-27 20:07:34 +01:00
Sandro
fa8ae2120d
Merge pull request #208715 from elohmeier/prom-rspamd-fix
Fixes https://github.com/NixOS/nixpkgs/issues/210390
2023-01-15 02:49:52 +01:00
pennae
53fc887582 nixos/manual: move "edit the MD file" comments to generated XML 2023-01-10 12:34:37 +01:00
pennae
bf92eaebe4 nixos/manual: generate module chapters with md-to-db.sh 2023-01-10 10:32:00 +01:00
pennae
23ea73b416 nixos/manual: enable smart quotes for all MD chapters 2023-01-10 10:31:59 +01:00
pennae
ce319f60ad nixos/prometheus/exporters: convert manual chapter to MD 2023-01-10 10:31:57 +01:00
Enno Richter
ed060ff92b prometheus-exporters: update rspamd exporter for prometheus-json-exporter >=0.5.0 2023-01-02 06:36:22 +01:00
Yannick Markus
060f0dd496
nixos/alertmanager: add checkConfig option 2022-12-21 12:29:48 +01:00
Sandro
bf46d7b626
Merge pull request #172084 from priegger/prometheus-statsd-exporter 2022-12-19 23:16:02 +01:00
figsoda
6bb0dbf91f nixos: fix typos 2022-12-17 19:31:14 -05:00
Shawn8901
6e530b9eda prometheus: Adds an option for web.config.file which can specity settings including authorization. 2022-12-15 10:14:42 +01:00
Shawn8901
470247d433 prometheus: Use yaml format generator instaed json for prometheus.yml
Additionally remove an unused variable
2022-12-15 10:11:25 +01:00
Bobby Rong
9015c9f389
Merge pull request #205525 from SuperSandro2000/prometheus2
nixos/alertmanager: fix renamed option
2022-12-12 18:08:36 +08:00
Sandro Jäckel
a49606696e
nixos/alertmanager: fix renamed option 2022-12-10 20:11:18 +01:00
Martin Weinelt
fdcc9e8202
nixos/prometheus.exporters.smartctl: Simplify DeviceAllow logic
Setting up the DeviceAllow list with explicitly configured devices was a
nice idea, but sometimes a configured device (`/dev/nvme0n1` an NVMe
namespace) has a parent device (`/dev/nvme0`) that smartctl needs to
access to query metrics.

Falling back to the block and character definitions is probably a valid
fallback.
2022-12-09 01:40:01 +01:00
Sergey Lukjanov
a49feed255 nixos/prometheus.exporters.smartctl: use cli args instead of config
Config support was dropped and replaced with CLI args
2022-12-08 15:31:33 -08:00
Jeff Slight
61840f7181
nixos/prometheus: Add new relabel_configs actions
The relabel_configs option for scrape_configs is missing two options: lowercase and uppercase

https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
2022-12-07 15:22:04 -08:00
Daniel Nagy
ad866e565d
treewide: switch to port type for nixos modules 2022-12-08 00:00:00 +01:00
Luke Granger-Brown
c7918fed9e nixos/prometheus/unifi-poller: rename to unpoller. 2022-12-03 20:12:54 +00:00
Sandro
068e7cb340
Merge pull request #201817 from jhh/nut-exporter 2022-12-03 02:22:48 +01:00
Daniel Nagy
dbe8182e74
treewide: switch to port type for nixos modules 2022-12-01 22:30:00 +01:00
Sandro
03b9249971
Merge pull request #202087 from Shawn8901/pve-load-credential 2022-11-28 23:17:26 +01:00
Jeff Hutchison
a587e528c5
Add prometheus-nut-exporter module 2022-11-24 07:50:09 -05:00
Mathieu Fenniak
eed28ead0c Workaround for upstream crash when !datadog 2022-11-23 12:58:07 -07:00
Mathieu Fenniak
e7f761fe60 Fix executable name 2022-11-23 10:31:46 -07:00
Shawn8901
5ed08d83f7 nixos/prometheus-pve-exporter: Use LoadCredentials to make configFiles readable to DynamicUser 2022-11-21 20:20:50 +01:00
Franz Pletz
8cc2dcce7d
Merge pull request #199524 from ymarkus/zfs-exporter
nixos/prometheus-zfs-exporter: init
2022-11-11 02:01:13 +01:00
Franz Pletz
286f868a5c
Merge pull request #162057 from jdheyburn/jdheyburn-unifi-prometheus-exporter-loki 2022-11-11 01:31:41 +01:00
Franz Pletz
8e9f00682d
nixos/prometheus-zfs-exporter: mdDoc descriptions 2022-11-11 01:29:10 +01:00
Daniel Nagy
b4674b39c1
treewide: use mkEnableOption in nixos modules 2022-11-10 09:30:00 +01:00
Daniel Nagy
095269c862
treewide: use types.port in nixos modules 2022-11-10 09:30:00 +01:00
Maximilian Bosch
dcb32beda0
nixos/prometheus: fix startup w/hardened service
See the discussion below the original PR[1] and #197443 for more
context.

I guess I missed that upon review because the branch was too old and I
cherry-picked the commit onto my deployment branch which is based on
22.05. Sorry for that!

[1] https://github.com/NixOS/nixpkgs/pull/162784#issuecomment-1306848036
2022-11-08 17:46:35 +01:00
Maximilian Bosch
58227c4de0
Merge pull request #162784 from amarshall/prom-svc-harden
nixos/prometheus: Harden systemd service
2022-11-07 15:03:43 +01:00
Yannick Markus
50f308b059 nixos/prometheus-zfs-exporter: init 2022-11-04 14:43:01 +01:00
KFears
b3782f29ff nixos/prometheus-node-exporter: fix netdev collect
Netdev collector needs AF_NETLINK permissions to work. It will fail with
the message "couldn't get netstats: socket: address family is not
supported by protocol" otherwise.
2022-10-30 14:59:05 +04:00
Martin Weinelt
96d7f29087
Merge pull request #176553 from MalteT/fix/smartctl-exporter-override 2022-10-27 15:50:54 +02:00
MidAutumnMoon
afb8d0e5a6
nixos/prometheus-smartctl: set proper SystemCallFilter 2022-10-25 16:47:09 +08:00
Jared Baur
5d79c93d77
nixos/prometheus-kea-exporter: Fix ExecStart arguments
The current `ExecStart` will not allow for multiple sockets to properly
be passed to the program since the extra newline character is interpreted to
be part of the socket path.
2022-10-12 20:39:09 -07:00
Martin Weinelt
b76d66b4fd nixos/sachet: replace literalExample with literalExpression 2022-09-29 21:13:50 -04:00
pennae
d98322834b nixos/*: fix docbook deprecation notices
mostly no rendering changes except in buildkite, which used markdown
where docbook was expected without marking up its markdown.
2022-09-10 18:23:13 +02:00
Ivv
ac5e7351d1
Merge pull request #188754 from snaar/prometheus-ipmi
nixos/services.prometheus.exporters.ipmi: new module along with underlying ipmi_exporter package
2022-09-08 21:39:49 +02:00
Sandro
2f54aad5e6
Merge pull request #156813 from JQ-Networks/master 2022-09-04 14:32:13 +02:00
snaar
866d977212 nixos/services.prometheus.exporters.ipmi: new module
Bringing in new https://github.com/prometheus-community/ipmi_exporter exporter into existing Prometheus exporters framework.
2022-09-03 10:56:04 -04:00
pennae
1d41cff3dc nixos/*: convert straggler options to MD 2022-08-31 17:27:38 +02:00
pennae
f2ea09ecbe nixos/*: convert options with listings
minor rendering changes.
2022-08-31 17:27:36 +02:00
pennae
ef176dcf7e nixos/*: automatically convert option descriptions
conversions were done using https://github.com/pennae/nix-doc-munge
using (probably) rev f34e145 running

    nix-doc-munge nixos/**/*.nix
    nix-doc-munge --import nixos/**/*.nix

the tool ensures that only changes that could affect the generated
manual *but don't* are committed, other changes require manual review
and are discarded.
2022-08-31 16:32:53 +02:00
pennae
169072fb60 nixos/prometheus: convert option descriptions to MD
this notable also now interprets a markdown-flavored list in
triton_sd_config as actual markdown and renders it differently, but this
is arguably for the better (and probably the original intention).

no other rendering changes.
2022-08-27 19:18:29 +02:00
pennae
97b6defb7b nixos/prometheus: turn markdown in docbook
there seems to be a lot of markdown in the prometheus module that
should've been docbook instead. temporarily convert it to docbook to
keep the diff for the docbook->md conversion of prometheus inspectable.
2022-08-27 19:18:29 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f7e49fae0d nixos/prometheus.sachet: add module 2022-08-27 12:41:54 -04:00
Curtis Jiang
d8bb7ec120 prometheus-v2ray-exporter: init at 0.6.0 2022-08-24 22:35:00 +00:00
pennae
6039648c50 nixos/*: automatically convert option docs 2022-08-19 22:40:58 +02:00
pennae
7e7d68a250 nixos/*: mark pre-existing markdown descriptions as mdDoc 2022-08-19 22:40:58 +02:00
pennae
b0e56acef9 nixos/*: remove links to options in code blocks
markdown simply cannot represent these. would be nice to have, but
it'll have to happen some other way (if at all).
2022-08-19 22:40:58 +02:00
pennae
e4ed177f82 nixos/* eliminate inner whitespace in tags that was missed earlier
nix-doc-munge won't match tags that contain newlines anywhere. most of
these have already been removed, but a few obviously made it through.
2022-08-19 22:40:58 +02:00
pennae
8f8e101527 nixos/*: normalize <package> to <literal>
this renders the same in the manpage and a little more clearly in the
html manual. in the manpage there continues to be no distinction from
regular text, the html manual gets code-type markup (which was probably
the intention for most of these uses anyway).
2022-08-19 22:40:58 +02:00
pennae
087472b1e5 nixos/*: automatically convert option docs 2022-08-06 20:39:12 +02:00
pennae
423545fe48 nixos/*: normalize manpage references to single-line form
now nix-doc-munge will not introduce whitespace changes when it replaces
manpage references with the MD equivalent.

no change to the manpage, changes to the HTML manual are whitespace only.
2022-08-05 18:34:50 +02:00
pennae
3aebb4a2be nixos/*: normalize link format
make (almost) all links appear on only a single line, with no
unnecessary whitespace, using double quotes for attributes. this lets us
automatically convert them to markdown easily.

the few remaining links are extremely long link in a gnome module, we'll
come back to those at a later date.
2022-08-03 21:57:46 +02:00
pennae
2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
Andrew Marshall
26ca4d1587 nixos/prometheus: Harden systemd service
For reference:

- ./nixos/modules/services/monitoring/grafana.nix
- 80192f1fe3/debian/service
- 5894b9b77a/trunk/prometheus.service

I have omitted the Limit* as they do not appear to be commonly used in
NixOS, and, per `man systemd.exec`, are less preferred vs. cgroup
limits.
2022-07-29 15:44:14 -04:00
Maximilian Bosch
92bd77e85e
nixos/prometheus-mail-exporter: umask to avoid accidental world-readability 2022-07-20 20:29:38 +02:00
Maximilian Bosch
39c0694709
nixos/prometheus-mail-exporter: support storing passphrase outside of the store 2022-07-19 17:32:08 +02:00
Martin Weinelt
f8137a54eb
Merge pull request #153445 from erdnaxe/prometheus_protecthome
nixos/prometheus-node-exporter: do not protect home
2022-07-10 17:21:44 +02:00
Philipp Riegger
3624f0bbf0 services.prometheus.exporters.statsd: init service 2022-06-27 23:04:54 +02:00
Maximilian Bosch
5ab65d9cd1 nixos/prometheus-postfix-exporter: fixes for systemd integration
* Allow the service to read from the journal w/systemd.enable
* Ensure that the service is started after postfix.service
2022-06-20 19:30:59 +02:00
Maximilian Bosch
e03d41fb6b
nixos/prometheus-wireguard-exporter: fix broken options
This is apparently a breaking change in a patch-level release[1] where
it's now necessary to specify values for each CLI argument.

[1] https://github.com/MindFlavor/prometheus_wireguard_exporter/releases/tag/3.6.1
2022-06-12 20:27:25 +02:00
Malte Tammena
488aa85ca1 Increase override priority for DeviceAllow 2022-06-06 15:00:32 +02:00
Robert Schütz
aff15c41fc dmarc-metrics-exporter: rename from prometheus-dmarc-exporter
Also stop using poetry2nix.
2022-05-31 23:25:18 +00:00
Cole Helbling
c0723eef37 nixos/prometheus: enable checking syntax only
This allows config checking with external files to not fail inside the
sandbox.
2022-05-17 10:45:49 -07:00
Sandro
befb337461
Merge pull request #169216 from Shawn8901/fix_prometheus_config_generation
nixos/prometheus: use pkgs.formats.json.generate to write config file
2022-05-08 15:09:09 +02:00
ajs124
3fedfb5f8a
Merge pull request #110870 from asymmetric/doc/prom-node-exp
docs: modules/prometheus: finish exporter setup
2022-04-18 22:54:01 +01:00
Shawn8901
7f01ff7822 nixos/prometheus: use pkgs.formats.json.generate to write config file
The old way of writing the file omited qoutes within strings which are needed by some configurations like federations.
The quotes got lost when `echo`ing the content via `echo '${builtins.toJSON x}'`.
The pkgs.formats.json does handle that race condition properly, so this commit switches the writing to that helper.
2022-04-18 18:09:03 +02:00
Lassulus
807b226542
Merge pull request #162777 from amarshall/prom-deprecated-opt
nixos/prometheus: Remove upstream-deprecated alertManagerTimeout
2022-04-12 09:07:51 +01:00
Andrew Marshall
3bbfc7849e nixos/prometheus: Remove upstream-deprecated alertManagerTimeout
When started, Prometheus prints:

> The flag --alertmanager.timeout has no effect and will be removed in
> the future.

See also
2316062d4e
2022-04-11 23:37:33 -04:00
Florian Klink
c57c5c42a4 prometheus-bird-exporter: update birdSocket default path
a5276e1fbd updated bird to use
/run/bird/bird.ctl, but didn't update the default used for
prometheus-bird-exporter.

Reported-In: https://github.com/NixOS/nixpkgs/pull/161193#issuecomment-1086228985
2022-04-01 22:59:48 +02:00
Martin Weinelt
35b3c26351
Merge pull request #164533 from mweinelt/kea-exporter-after-kea
nixos/prometheus-exporters/kea: wait for kea
2022-03-30 00:03:03 +02:00
Janne Heß
a34c788e30
Merge pull request #163230 from helsinki-systems/feat/misc-prometheus-varnis
nixos/prometheus/exporters/varnish: improve some defaults
2022-03-26 18:32:30 +01:00
Martin Weinelt
8b7ca8bdcb
nixos/prometheus-exporters/kea: wait for kea
Fixes race conditions like this:

> systemd[1]: Started prometheus-kea-exporter.service.
> kea-exporter[927]: Listening on http://0.0.0.0:9547
> kea-exporter[927]: Socket at /run/kea/dhcp4.sock does not exist. Is Kea running?
> systemd[1]: prometheus-kea-exporter.service: Main process exited, code=exited, status=1/FAILURE
2022-03-17 03:27:21 +01:00
Maximilian Bosch
0c5586c2f2
Merge pull request #162254 from Ma27/init-dmarc-exporter
prometheus-dmarc-exporter: init at 0.5.1
2022-03-14 09:02:08 +01:00
Martin Weinelt
76721f5e5e
Merge pull request #159986 from NukaDuka/pve_exporter 2022-03-10 22:41:45 +01:00
pennae
06c57317c2
Merge pull request #146653 from DarkDNA/nixos/fix-systemd-exporter/extraFlags
nixos/prometheus/systemd: Implement the extraFlags config option.
2022-03-09 16:12:32 +00:00
ajs124
a28591680b nixos/prometheus/exporters/varnish: improve some defaults 2022-03-08 01:42:27 +01:00
Kartik Gokte
6a0b420d94 nixos/prometheus-pve-exporter: init at 2.2.2 2022-03-02 23:59:33 +05:30
Maximilian Bosch
5cee9c9ef2
prometheus-dmarc-exporter: init at 0.5.1 2022-02-28 16:50:01 +01:00
Joseph Heyburn
263c233e51
prometheus-exporter/unifi-poller: Add loki config
Allows unifi logs to be sent to Loki via unifi-poller
2022-02-27 08:36:02 +00:00
Martin Weinelt
9d8a23f66e
nixos/smartctl-exporter: fix typo in rawio capab 2022-01-30 04:32:15 +01:00
Martin Weinelt
12c26aca1f
prometheus.exporters.smartctl: Fix autodiscovery
When no devices are given the exporter tries to autodiscover available
disks. The previous DevicePolicy was however preventing the exporter
from accessing any device at all, since only explicitly mentioned ones
were allowed.

This commit adds an allow rule for several device classes that I could
find on my machines, that gets set when no devices are explicitly
configured.

There is an existing problem with nvme devices, that expose a character
device at `/dev/nvme0`, and a (namespaced) block device at
`/dev/nvme0n1`. The character device does not come with permissions that
we could give to the exporter without further impacting the hardening.

  crw------- 1 root root 247, 0 27. Jan 03:10 /dev/nvme0
  brw-rw---- 1 root disk 259, 0 27. Jan 03:10 /dev/nvme0n1

The autodiscovery only finds the character device, which the exporter
unfortunately does not have access to.

However a simple udev rule can be used to resolve this:

  services.udev.extraRules = ''
    SUBSYSTEM=="nvme", KERNEL=="nvme[0-9]*", GROUP="disk"
  '';

Unfortunately I'm not fully aware of the security implications this
change carries and we should question upstream (systemd) why they did
not include such a rule.
The disk group has no members on any of my machines.

  ❯ getent group disk
  disk6:
2022-01-27 17:33:27 +01:00
Martin Weinelt
f860b289d4
prometheus.exporters.smartctl: Allow RAWIO
This allows the exporter to perform SCSI commands and interact with hpsa
and cciss devices.
2022-01-27 13:49:25 +01:00
Sandro Jäckel
39ce4ddd85
nixos/prometheus: fix usage of bearer_token 2022-01-08 22:56:51 +01:00
Alexandre Iooss
e5b24e6da2
nixos/prometheus-node-exporter: do not protect home
Set ProtectHome to false for the node exporter. This allows free space
monitoring under /home.
2022-01-04 08:14:36 +01:00
Jörg Thalheim
fd0a6311a7 prometheus: add authorization section 2022-01-03 12:04:08 +01:00
Bobby Rong
7378b39d1d
Merge pull request #149704 from squalus/nginx-prometheus-exporter-fix
nixos/prometheus-nginx-exporter: fix argument syntax
2021-12-23 10:27:16 +08:00
Graham Christensen
3907d19260 services.prometheus.exporters.fastly: add a smoke test 2021-12-20 10:57:31 -05:00
Graham Christensen
1753f97e13 services.prometheus.exporters.fastly: fixup broken module config 2021-12-20 10:29:13 -05:00
squalus
c3ab9e6d40 nixos/prometheus-nginx-exporter: fix argument syntax
Arguments were being ignored because the program expects an equals sign
to separate the argument name from the value.

Documented in https://github.com/nginxinc/nginx-prometheus-exporter/issues/153

Fixes #107541
2021-12-08 11:32:13 -08:00
Martin Weinelt
0c008f9c0d
Merge pull request #147056 from mweinelt/smartctl-exporter 2021-12-05 03:00:48 +01:00
Maximilian Bosch
8e6d403e65
nixos/prometheus-postfix-exporter: whitelist addr-family AF_UNIX
Otherwise, `postfix_up{path="/var/lib/postfix/queue/public/showq"}` will
always be `0` indicating an postfix outage because this is a unix domain
socket that cannot be connected to:

    2021/12/03 14:50:46 Failed to scrape showq socket: dial unix /var/lib/postfix/queue/public/showq: socket: address family not supported by protocol
2021-12-03 19:01:19 +01:00
Martin Weinelt
386a1e79eb
nixos/smartctl-exporter: init 2021-11-23 11:30:28 +01:00
Amanda Cameron
4bfe837a58 nixos/prometheus/systemd: Implement the extraFlags config option. 2021-11-19 13:09:56 -05:00
Marek Mahut
2e75b280a7
prometheus-nginx-exporter: boolean conversion to string 2021-11-19 16:22:04 +01:00
Bas van Dijk
7f7780daa5 nixos/prometheus: throw a helpful error when services.prometheus.environmentFile is defined 2021-11-07 19:04:24 +00:00
Bas van Dijk
0e4abb0df7 nixos/prometheus: remove services.prometheus.environmentFile
The option `services.prometheus.environmentFile` has been removed since it was causing [issues](https://github.com/NixOS/nixpkgs/issues/126083) and Prometheus now has native support for secret files.
2021-11-07 14:45:40 +00:00
Yannik Rödel
7d34d32b3d nixos/prometheus: add remaining service discovery options 2021-11-05 12:18:13 +01:00
Yannik Rödel
b3d4f6d841 nixos/prometheus: add service discovery options 2021-11-04 15:07:18 +00:00
Yannik Rödel
904d29e1c4 nixos/prometheus: add new configuration options 2021-11-04 15:02:00 +00:00
Bas van Dijk
f12e976ade module/prometheus: optionally support reloading on config changes
The new option `services.prometheus.enableReload` has been introduced
which, when enabled, causes the prometheus systemd service to reload
when its config file changes.

More specifically the following property holds: switching to a
configuration (`switch-to-configuration`) that changes the prometheus
configuration only finishes successully when prometheus has finished
loading the new configuration.

`enableReload` is `false` by default in which case the old semantics
of restarting the prometheus systemd service are in effect.
2021-11-04 11:15:21 +00:00
Martin Weinelt
9b46e3084b
nixos/prometheus: add hardening exceptions to node-exporter
Conditionally grants access for the logind, wifi and network_route
collectors.
2021-10-18 19:21:30 +02:00
Alexandre Macabies
7fb3edb077 nixos/prometheus-rtl_433-exporter: fix systemd hardening
9fea6d4c85 broke rtl_433-exporter by
introducing several hardening options which do not play well with
rtl_433 requiring writing to USB. More precisely, rtl_433 requires
(a) AF_NETLINK to configure the radio; (b) access to the USB device,
but PrivateDevices=true hides them; (c) rw access to the USB device,
but DeviceAllow= block-lists everything.

This commit was tested on real hardware with a standard NixOS setup.
2021-10-16 01:57:50 +02:00
Matthias Treydte
72fbd63c5c nixos/prometheus: fix node exporter timex collector
The timex collector (enabled by default) needs the
adjtimex syscall, which was disabled by
9fea6d4c85.

So allow it unless the timex collector is disabled.
2021-10-14 11:26:29 +02:00
Matthias Treydte
ae7ce180dd nixos/prometheus: fix node exporter systemd collector
The systemd collector needs AF_UNIX to talk to
/var/run/dbus/system_bus_socket, which was broken
with 9fea6d4c85.

This commit allows AF_UNIX when needed.
2021-10-14 11:26:29 +02:00
Alexandre Iooss
9fea6d4c85 nixos/prometheus: systemd unit hardening of exporters 2021-10-07 10:19:55 +02:00
Naïm Favier
2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Graham Christensen
6c88e85807
Merge pull request #133726 from deshaw/fastly-exporter
prometheus-fastly-exporter: init at v6.1.0
2021-09-27 11:09:33 -04:00
Souvik Sen
2f669293bf prometheus-fastly-exporter: init at v6.1.0 2021-09-21 04:05:18 -04:00