Commit Graph

98 Commits

Author SHA1 Message Date
Janne Heß
6ad3977ec9
Merge pull request #253184 from tilpner/prometheus-headers
nixos/prometheus: add remote{Read, Write}.headers options
2023-12-13 21:53:52 +01:00
Victor Hugo Aguiar Pacce
5c6c35d0f8 nixos/prometheus: add enableAgentMode option
Required for running a prometheus service under agent mode

Signed-off-by: Victor Hugo Aguiar Pacce <victorhugoaguiarpacce@gmail.com>
2023-12-05 11:24:04 -03:00
h7x4
0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
Alexandre Iooss
925a8806dc nixos/prometheus: fix cross-compilation 2023-10-14 16:45:18 +02:00
tilpner
8562dc924d
nixos/prometheus: add remote{Read, Write}.headers options 2023-09-03 23:36:49 +02:00
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