summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Rawlinson2020-11-12 08:02:09 +1300
committerGeorge Rawlinson2020-11-12 14:01:48 +1300
commit217060891dc832d9e3966dc862ca9e55785d67ef (patch)
tree072aaebb0b2d854b6006c463428a60b65dff25d3
downloadaur-217060891dc832d9e3966dc862ca9e55785d67ef.tar.gz
addpkg: prometheus-snmp-exporter 0.19.0-1
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD60
-rw-r--r--prometheus-snmp-exporter.conf12
-rw-r--r--prometheus-snmp-exporter.install5
-rw-r--r--prometheus-snmp-exporter.service17
-rw-r--r--prometheus-snmp-exporter.sysusers1
6 files changed, 117 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..589a6a1789a6
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = prometheus-snmp-exporter
+ pkgdesc = Prometheus exporter for SNMP metrics
+ pkgver = 0.19.0
+ pkgrel = 1
+ url = https://github.com/prometheus/snmp_exporter
+ install = prometheus-snmp-exporter.install
+ arch = x86_64
+ license = Apache
+ makedepends = go
+ depends = net-snmp
+ backup = etc/conf.d/prometheus-snmp-exporter
+ source = prometheus-snmp-exporter-0.19.0.tar.gz::https://github.com/prometheus/snmp_exporter/archive/v0.19.0.tar.gz
+ source = prometheus-snmp-exporter.conf
+ source = prometheus-snmp-exporter.service
+ source = prometheus-snmp-exporter.sysusers
+ b2sums = 94c82662c8b52b7f537969f2446bf46d3cadf400b3058b972fff704bc4083cf521790e09b1991d4d3a82d565b7d95e93b675bf6a84d9c93ceed03b7e8f8101fe
+ b2sums = a74e9f55489272ddd683f0c0a34b78d4c4f96173009db2e5334f00c3ad7d2d4ea27ca1aca4fba74cfac1e2a6110a02185bbe65222772e102b1c87fbebaccb9b2
+ b2sums = ac862a1fecc719c04684836b0c0e0aaff93912ad09f676555fc3212dcb8fa93bd4569550247fb0aaca9e7083e6d4707ebd7f6332d28ab14ba0774625fc176737
+ b2sums = 08c063a6626e53100e971f10437a9dc17eeb962bedcd6c9e746ae0d336205c68991518103e0ca393d3711ca4d4394d65574e9c611bcc98e61b9224d3b5d5d6a7
+
+pkgname = prometheus-snmp-exporter
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..28b1c47e41ea
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,60 @@
+# Maintainer: George Rawlinson <george@rawlinson.net.nz>
+
+pkgname=prometheus-snmp-exporter
+_pkgname=snmp_exporter
+pkgver=0.19.0
+pkgrel=1
+pkgdesc="Prometheus exporter for SNMP metrics"
+arch=(x86_64)
+url="https://github.com/prometheus/snmp_exporter"
+license=(Apache)
+makedepends=(go)
+depends=(net-snmp)
+backup=("etc/conf.d/prometheus-snmp-exporter")
+install="$pkgname.install"
+source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
+ "$pkgname.conf"
+ "$pkgname.service"
+ "$pkgname.sysusers")
+b2sums=('94c82662c8b52b7f537969f2446bf46d3cadf400b3058b972fff704bc4083cf521790e09b1991d4d3a82d565b7d95e93b675bf6a84d9c93ceed03b7e8f8101fe'
+ 'a74e9f55489272ddd683f0c0a34b78d4c4f96173009db2e5334f00c3ad7d2d4ea27ca1aca4fba74cfac1e2a6110a02185bbe65222772e102b1c87fbebaccb9b2'
+ 'ac862a1fecc719c04684836b0c0e0aaff93912ad09f676555fc3212dcb8fa93bd4569550247fb0aaca9e7083e6d4707ebd7f6332d28ab14ba0774625fc176737'
+ '08c063a6626e53100e971f10437a9dc17eeb962bedcd6c9e746ae0d336205c68991518103e0ca393d3711ca4d4394d65574e9c611bcc98e61b9224d3b5d5d6a7')
+
+build() {
+ cd "$_pkgname-$pkgver"
+ mkdir build
+ go build -v \
+ -buildmode=pie \
+ -trimpath \
+ -mod=vendor \
+ -modcacherw \
+ -ldflags "-linkmode external -extldflags ${LDFLAGS} \
+ -X github.com/prometheus/common/version.Version=$pkgver \
+ -X github.com/prometheus/common/version.Revision=$pkgver \
+ -X github.com/prometheus/common/version.Branch=tarball \
+ -X github.com/prometheus/common/version.BuildUser=someone@builder \
+ -X github.com/prometheus/common/version.BuildDate=$(date -d@"$SOURCE_DATE_EPOCH" +%Y%m%d-%H:%M:%S)" \
+ -o build ./generator .
+}
+
+package() {
+ # systemd files
+ install -Dm644 "$pkgname.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ install -Dm644 "$pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+ install -Dm644 "$pkgname.conf" "$pkgdir/etc/conf.d/$pkgname"
+
+ cd "$_pkgname-$pkgver"
+
+ # binaries
+ install -Dm755 "build/$_pkgname" "$pkgdir/usr/bin/$pkgname"
+ install -Dm755 build/generator "$pkgdir/usr/bin/${pkgname%exporter}generator"
+
+ # license
+ install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+
+ # docs
+ install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md
+ install -Dm644 snmp.yml "$pkgdir/usr/share/doc/$pkgname/snmp_example.yml"
+ install -Dm644 generator/README.md "$pkgdir/usr/share/doc/$pkgname/GENERATOR_README.md"
+}
diff --git a/prometheus-snmp-exporter.conf b/prometheus-snmp-exporter.conf
new file mode 100644
index 000000000000..7db24cda1baf
--- /dev/null
+++ b/prometheus-snmp-exporter.conf
@@ -0,0 +1,12 @@
+## Specify additional arguments to pass to prometheus-snmp-exporter on startup
+#SNMP_EXPORTER_ARGS=""
+#
+## Available arguments:
+# --snmp.wrap-large-counters
+# Wrap 64-bit counters to avoid floating point rounding.
+# --config.file="snmp.yml" Path to configuration file.
+# --web.listen-address=":9116"
+# Address to listen on for web interface and telemetry.
+# --dry-run Only verify configuration is valid and exit.
+# --log.level=info Only log messages with the given severity or above. One of: [debug, info, warn, error]
+# --log.format=logfmt Output format of log messages. One of: [logfmt, json]
diff --git a/prometheus-snmp-exporter.install b/prometheus-snmp-exporter.install
new file mode 100644
index 000000000000..0ee393f41ffa
--- /dev/null
+++ b/prometheus-snmp-exporter.install
@@ -0,0 +1,5 @@
+post_install() {
+ echo "The generator is installed to /usr/bin/prometheus-snmp-generator"
+ echo ""
+ echo "Documentation is available in /usr/share/doc/prometheus-snmp-exporter"
+}
diff --git a/prometheus-snmp-exporter.service b/prometheus-snmp-exporter.service
new file mode 100644
index 000000000000..d93376fff7dd
--- /dev/null
+++ b/prometheus-snmp-exporter.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Prometheus exporter for SNMP metrics
+Requires=network-online.target
+After=network-online.target
+
+[Service]
+EnvironmentFile=-/etc/conf.d/prometheus-snmp-exporter
+ExecStart=/usr/bin/prometheus-snmp-exporter $SNMP_EXPORTER_ARGS
+ExecReload=/bin/kill -HUP $MAINPID
+User=snmp-exporter
+Group=snmp-exporter
+Restart=on-failure
+NoNewPrivileges=true
+ProtectSystem=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/prometheus-snmp-exporter.sysusers b/prometheus-snmp-exporter.sysusers
new file mode 100644
index 000000000000..b4023ca2b597
--- /dev/null
+++ b/prometheus-snmp-exporter.sysusers
@@ -0,0 +1 @@
+u snmp-exporter - "Prometheus SNMP exporter user"