We have a situation where prometheus-elasticsearch-exporter running on bullseye hosts is incompatible with the systemd unit file configuration that we ship with puppet.
The result is that the prometheus-elasticsearch-exporter service fails to start on these nodes and puppet runs repeatedly fail while trying to start the service.
btullis@datahubsearch1001:~$ /usr/bin/prometheus-elasticsearch-exporter -es.uri=http://localhost:9200 -web.listen-address=:9108 prometheus-elasticsearch-exporter: error: unknown short flag '-e', try --help
Debian bullseye includes this package at version 1.1.0+ds-2
For buster and stretch we host version 10.0.4+ds-1 ourselves.
btullis@apt1001:~$ sudo -i reprepro ls prometheus-elasticsearch-exporter prometheus-elasticsearch-exporter | 1.0.4+ds-1 | stretch-wikimedia | amd64, source prometheus-elasticsearch-exporter | 1.0.2+ds-1 | stretch-wikimedia | amd64 prometheus-elasticsearch-exporter | 1.0.4+ds-1 | buster-wikimedia | amd64, source
I think that the best way to solve this issue is to backport version 1.1.0+ds-2 (or similar) to buster and deploy the upgraded package to all hosts where it is currently running.
We will need to coordinate this with a change to this file:
https://phabricator.wikimedia.org/source/operations-puppet/browse/production/modules/prometheus/templates/initscripts/prometheus-elasticsearch-exporter.systemd.erb$8
...since the new version requires long-format options.
e.g.
btullis@datahubsearch1001:~$ /usr/bin/prometheus-elasticsearch-exporter --help usage: prometheus-elasticsearch-exporter [<flags>] Flags: -h, --help Show context-sensitive help (also try --help-long and --help-man). --web.listen-address=":9114" Address to listen on for web interface and telemetry. --web.telemetry-path="/metrics" Path under which to expose metrics. --es.uri="http://localhost:9200" HTTP API address of an Elasticsearch node.