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
