Hi list,

Prometheus exporters are small agents that collect metrics from systems or
services and expose them on an HTTP endpoint to be consumed by Prometheus.

Currently, we have 3 exporters in Fedora:
- node-exporter (previously golang-github-prometheus-node-exporter)
- prometheus-podman-exporter
- rust-monitord-exporter

We also have package review requests for 4 more:
- snmp-exporter: https://bugzilla.redhat.com/show_bug.cgi?id=2490148
- blackbox-exporter: https://bugzilla.redhat.com/show_bug.cgi?id=2500076
- redis-exporter: https://bugzilla.redhat.com/show_bug.cgi?id=2500075
- python-coredump_exporter: https://bugzilla.redhat.com/show_bug.cgi?id=2431666

In addition to these, I plan to package at least 3 more (mysql, postgresql,
and ssl).

To avoid creating inconsistent precedents, we would like to discuss
some standard
practices openly. We started a discussion on a Bugzilla ticket [1] about
correct naming and config paths, and we would love to collect feedback on
the following points:


1. Naming (Underscores vs. Hyphens)
-----------------------------------
Most upstream exporters use underscores in their names like node_exporter or
snmp_exporter. However, Fedora Naming Guidelines [2] prefer hyphens and
define only a few exceptions.

* Should Prometheus exporters be added to these exceptions?
* Currently, node-exporter uses "Provides: node_exporter" as a workaround, but
  doesn't help on searches. Is this the preferred approach?
* For packages like rust-monitord-exporter, Rust packaging guidelines might
  conflict with a general decision here. What is the best way to handle this?
* Should configuration files and systemd service names follow the Fedora
  package name (downstream), or is it better to stick to the upstream name?


2. The "prometheus-" Prefix
---------------------------
To make these packages easy to identify:

* Should all exporter packages have a "prometheus-" prefix?
* Should the installed binaries have a "prometheus-" prefix?
* Should the systemd service files and configuration files have a
  "prometheus-" prefix?


3. Configuration Files
----------------------
Some exporters like blackbox and snmp require configuration files.

* Should these config files reside in:
  %{_sysconfdir}/prometheus/<exporter_name>/
  ...or directly in:
  %{_sysconfdir}/<exporter_name>/


4. Documentation
----------------
Should we document these best practices in the Fedora Packaging Guidelines
under "Other Domain-specific Guidelines"?


Thank you for your feedback!

Best regards,
Mikel

References:
[1] https://bugzilla.redhat.com/show_bug.cgi?id=2490148#c7
[2] 
https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#_separators
-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to