Commit graph

328 commits

Author SHA1 Message Date
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
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
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
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