Initial commit

This commit is contained in:
yo
2020-08-06 23:09:38 +02:00
commit 6b40cd5331
6 changed files with 136 additions and 0 deletions

38
files/dovecot_exporter.in Normal file
View File

@ -0,0 +1,38 @@
#!/bin/sh
# $FreeBSD: head/net/dovecot_exporter/files/dovecot_exporter.in 529909 2020-03-30 19:18:03Z decke $
#
# PROVIDE: dovecot_exporter
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# dovecot_exporter_enable (bool): Set to "YES" to enable dovecot_exporter.
# (default: "NO")
#
# dovecot_exporter_socket (str): Dovecot socket path
# (default: "/var/run/dovecot/stats-reader")
# dovecot_exporter_listen (str): Exporter listening address
# (default: ":9166")
# dovecot_exporter_telemetry_path (str): Path under which to expose metrics
# (default: "/metrics")
# dovecot_exporter_stats_scopes (str): Stats scopes to query (comma separated)
. /etc/rc.subr
name=dovecot_exporter
rcvar=dovecot_exporter_enable
load_rc_config $name
: ${dovecot_exporter_enable="NO"}
: ${dovecot_exporter_socket="/var/run/dovecot/stats-reader"}
: ${dovecot_exporter_listen=":9166"}
: ${dovecot_exporter_telemetry_path="/metrics"}
: ${dovecot_exporter_pidfile:="/var/run/dovecot_exporter.pid"}
: ${dovecot_exporter_user:="dovecot_exporter"}
command="/usr/local/bin/dovecot_exporter"
command_args="--web.listen-address=\${dovecot_exporter_listen} --web.telemetry-path=\${dovecot_exporter_telemetry_path} --dovecot.socket-path=\${dovecot_exporter_showq} --dovecot.scopes=\${dovecot_exporter_stats_scopes}"
start_cmd="/usr/sbin/daemon -u ${dovecot_exporter_user} ${command} ${command_args}"
run_rc_command "$1"

View File

@ -0,0 +1,21 @@
--- dovecot_exporter.go.orig 2018-09-12 13:52:05 UTC
+++ dovecot_exporter.go
@@ -25,7 +25,8 @@ import (
"strings"
"github.com/prometheus/client_golang/prometheus"
- "gopkg.in/alecthomas/kingpin.v2"
+ "github.com/prometheus/client_golang/prometheus/promhttp"
+ "github.com/alecthomas/kingpin"
)
var dovecotUpDesc = prometheus.NewDesc(
@@ -216,7 +217,7 @@ func main() {
exporter := NewDovecotExporter(*socketPath, strings.Split(*dovecotScopes, ","))
prometheus.MustRegister(exporter)
- http.Handle(*metricsPath, prometheus.Handler())
+ http.Handle(*metricsPath, promhttp.Handler())
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte(`
<html>