Commit graph

93 commits

Author SHA1 Message Date
figsoda 701bcdbead nixos: fix typos 2023-05-19 22:31:04 -04: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
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
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 b4674b39c1
treewide: use mkEnableOption 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
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
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 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 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
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
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
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
Sandro Jäckel 39ce4ddd85
nixos/prometheus: fix usage of bearer_token 2022-01-08 22:56:51 +01:00
Jörg Thalheim fd0a6311a7 prometheus: add authorization section 2022-01-03 12:04:08 +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
Naïm Favier 2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Robert Hensing 1f20a1097d treewide: runCommandNoCCLocal -> runCommandLocal
It has always been a synonym.
2021-08-15 17:36:41 +02:00
n0emis 336494e19f
nixos/prometheus: add password_file option to scrapeConfig's basic_auth (#123252) 2021-07-10 21:18:38 +02:00
Konrad Borowski 447b1cf03d nixos/prometheus: allow state access for service only
There is no reason for Prometheus state files to be
world-readable.
2021-06-21 10:16:47 +02:00
Janne Heß 672e64701c
nixos/prometheus: Add support for metric relabeling 2021-05-13 15:59:46 +02:00
Silvan Mosberger 0a377f11a5 nixos/treewide: Remove usages of deprecated types.string 2021-05-05 03:31:41 +02:00
Matthew Bauer c168e05c7e
Merge pull request #86239 from tathougies/patch-2
[nixos/prometheus] promTypes.filter.value -> promTypes.filter.values
2021-02-26 19:28:18 -06:00
Phillip Cloud cbe4de90af nixos/prometheus: remove unnecessary whitespace 2021-01-10 13:09:47 -05:00
Phillip Cloud 53796fd70f nixos/prometheus: improve the tag_separator description 2021-01-10 13:08:48 -05:00
Phillip Cloud de96ffeb1c nixos/prometheus: use types.port for metrics port type 2021-01-10 13:08:48 -05:00
Phillip Cloud cad83fc596 nixos/prometheus: add cloud to refresh_interval description 2021-01-10 13:08:48 -05:00
Phillip Cloud 7958dbb8a7 nixos/prometheus: add gce_sd_configs scrapeConfig option 2021-01-10 13:08:47 -05:00
Phillip Cloud 287939e2ed nixos/prometheus: update relabel_action list 2021-01-03 11:01:30 -05:00
0x4A6F 06414886f1
nixos/prometheus: fix remote_{read,write} options
Fix and reorder options and use mkOpt for optional parameters,
according to official documentation.
2021-01-01 14:43:51 +00:00
0x4A6F c53a0c16e4
nixos/prometheus: remote_{read,write}
- add [remote_write](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write) and [remote_read](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_read) support

Co-authored-by: Yorick van Pelt <yorickvanpelt@gmail.com>
2020-12-29 14:48:57 +00:00
Philipp Kern ec6b0950ef
nixos/prometheus: Support environmentFile (#97933)
For the same reason Alertmanager supports environmentFile to pass
secrets along, it is useful to support the same for Prometheus'
configuration to store bearer tokens outside the Nix store.
2020-10-31 20:52:13 +01:00
Andreas Rammhold bb33cdd44b
Merge pull request #98738 from mayflower/prometheus-retention
nixos/prometheus: add retentionTime
2020-09-25 17:11:27 +02:00
Robin Gloster 5c0a2e8c60 nixos/prometheus: add retentionTime 2020-09-25 13:44:13 +02:00
Kirill Elagin a4afd525cb prometheus: Unbreak IPv6 listenAddress
The format of the listenAddress option was recently changed to separate
the address and the port parts. There is now a legacy check that
tells users to update to the new format. This legacy check produces
a false positive on IPv6 addresses, since they contain colons.

Fix the regex to make it not match colons within IPv6 addresses.
2020-09-21 07:53:47 +02:00
Kirill Elagin e1d80de838 prometheus: Add assert for legacy listenAddress 2020-07-23 18:16:13 -04:00
Kirill Elagin 5d2a465add prometheus: Use types.port for port 2020-07-23 18:15:57 -04:00