summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSorah Fukumori2020-01-20 04:45:26 +0900
committerSorah Fukumori2020-01-20 04:45:26 +0900
commit13a33aa06b690bdb299dbfca37680f2c243dc07a (patch)
tree03b4e8864b8c0612d4606569c7818374268a1d54
downloadaur-13a33aa06b690bdb299dbfca37680f2c243dc07a.tar.gz
Initial commit
-rw-r--r--.SRCINFO25
-rw-r--r--.gitignore2
-rw-r--r--PKGBUILD44
-rw-r--r--confd3
-rw-r--r--config.yml21
-rw-r--r--prometheus-junos-exporter.service24
6 files changed, 119 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..bd30b00ebae8
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,25 @@
+pkgbase = prometheus-junos-exporter
+ pkgdesc = https://github.com/czerwonk/junos_exporter
+ pkgver = 0.9.5.6
+ pkgrel = 2
+ url = https://github.com/czerwonk/junos_exporter
+ arch = x86_64
+ license = MIT
+ makedepends = go-pie
+ backup = etc/prometheus-junos-exporter/config.yml
+ backup = etc/conf.d/prometheus-junos-exporter
+ source = prometheus-junos-exporter.service
+ source = config.yml
+ source = confd
+ source = https://github.com/czerwonk/junos_exporter/archive/0.9.5.6.tar.gz
+ sha256sums = 83c92eb98c5451c73d53cd70544e85a50d1cd4b3b07b404ccc332e4abe0886c3
+ sha256sums = 0cf56736f996e2b5a563b7ea3b2f0b175a7f3e9dede0152a8974d897a2ba6f79
+ sha256sums = 6756bc5e6f78f73accf0f323de7104c8d764fead7c97f298c3b5b3bf377cb114
+ sha256sums = a3a94b5f5147e123c257c360fae537912e7e6c96943e238d25b85e3e85f17da7
+ sha512sums = 648a165b5276b41d3fafd64b73ad78e995797a2a0e1cb86bc465f90e6301d2677bb06241c80a3bdb2e920e09a358f73bc3fef81de4aedaa8fc17c4394fcf2740
+ sha512sums = 60d8990ce6ddf47b58b9e5cbecf0438f0c7f9b583e09b2d08f3f49bd0308c69e9d29412470e168bc07989bf9cf4a10dc0606933dd225bd61fe17cfd4ccff3a05
+ sha512sums = 62944d88850fe278139b6a02bd084f54fe29e09191201df44446e45ce3087b0b2c002a026fcd751e8f2e2617ba297258c6cc0c6f8feb40eda9d47ab4b8d22b92
+ sha512sums = bdbde2287e1c6d85e6a80c9a4f933afbef80fdebe4750618603517d6e8fec5dcd8bb41151fab2e3b419c41fa7b17a6217f4236768b6eb9ecbd37e529953827c0
+
+pkgname = prometheus-junos-exporter
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..e61ae05f5e26
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.tar.gz
+*.log
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..9392d1b82950
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Sorah Fukumori <her@sorah.jp>
+pkgname=prometheus-junos-exporter
+pkgver=0.9.5.6
+pkgrel=2
+pkgdesc="https://github.com/czerwonk/junos_exporter"
+arch=('x86_64')
+url="https://github.com/czerwonk/junos_exporter"
+license=('MIT')
+makedepends=('go-pie')
+backup=('etc/prometheus-junos-exporter/config.yml'
+ 'etc/conf.d/prometheus-junos-exporter')
+source=(
+ "prometheus-junos-exporter.service"
+ "config.yml"
+ "confd"
+ "https://github.com/czerwonk/junos_exporter/archive/${pkgver}.tar.gz"
+)
+sha256sums=('83c92eb98c5451c73d53cd70544e85a50d1cd4b3b07b404ccc332e4abe0886c3'
+ '0cf56736f996e2b5a563b7ea3b2f0b175a7f3e9dede0152a8974d897a2ba6f79'
+ '6756bc5e6f78f73accf0f323de7104c8d764fead7c97f298c3b5b3bf377cb114'
+ 'a3a94b5f5147e123c257c360fae537912e7e6c96943e238d25b85e3e85f17da7')
+sha512sums=('648a165b5276b41d3fafd64b73ad78e995797a2a0e1cb86bc465f90e6301d2677bb06241c80a3bdb2e920e09a358f73bc3fef81de4aedaa8fc17c4394fcf2740'
+ '60d8990ce6ddf47b58b9e5cbecf0438f0c7f9b583e09b2d08f3f49bd0308c69e9d29412470e168bc07989bf9cf4a10dc0606933dd225bd61fe17cfd4ccff3a05'
+ '62944d88850fe278139b6a02bd084f54fe29e09191201df44446e45ce3087b0b2c002a026fcd751e8f2e2617ba297258c6cc0c6f8feb40eda9d47ab4b8d22b92'
+ 'bdbde2287e1c6d85e6a80c9a4f933afbef80fdebe4750618603517d6e8fec5dcd8bb41151fab2e3b419c41fa7b17a6217f4236768b6eb9ecbd37e529953827c0')
+
+
+build() {
+ cd "junos_exporter-$pkgver"
+
+ go build \
+ -trimpath \
+ -ldflags "-extldflags $LDFLAGS" \
+ -o prometheus-junos-exporter .
+}
+
+package() {
+ cd "junos_exporter-$pkgver"
+ install -Dm0755 prometheus-junos-exporter "${pkgdir}/usr/bin/prometheus-junos-exporter"
+ install -Dm0644 "${srcdir}/prometheus-junos-exporter.service" "${pkgdir}/usr/lib/systemd/system/prometheus-junos-exporter.service"
+ install -Dm0644 "${srcdir}/config.yml" "${pkgdir}/etc/prometheus-junos-exporter/config.yml"
+ install -Dm0644 "${srcdir}/confd" "${pkgdir}/etc/conf.d/prometheus-junos-exporter"
+}
+
diff --git a/confd b/confd
new file mode 100644
index 000000000000..37a150c61608
--- /dev/null
+++ b/confd
@@ -0,0 +1,3 @@
+IGNORE_TARGETS=false
+SSH_USER=prometheus
+SSH_KEYFILE=
diff --git a/config.yml b/config.yml
new file mode 100644
index 000000000000..8a594437d439
--- /dev/null
+++ b/config.yml
@@ -0,0 +1,21 @@
+# ssh key file must be present under /etc/prometheus-junos-exporter otherwise you need to create appropriate dropin for the systemd unit
+
+devices:
+ #- host: router1
+ # key_file: /path/to/key
+ #- host: router2
+ # username: exporter
+ # password: secret
+
+features:
+ bgp: true
+ ospf: true
+ isis: false
+ nat: true
+ ldp: true
+ l2circuit: false
+ environment: true
+ routes: true
+ routing_engine: true
+ interface_diagnostic: true
+ fpc: true
diff --git a/prometheus-junos-exporter.service b/prometheus-junos-exporter.service
new file mode 100644
index 000000000000..dd93e42209c5
--- /dev/null
+++ b/prometheus-junos-exporter.service
@@ -0,0 +1,24 @@
+[Unit]
+Description=prometheus-junos-exporter
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/prometheus-junos-exporter \
+ -config.file=/etc/prometheus-junos-exporter/config.yml \
+ -ssh.user=${SSH_USER} \
+ -ssh.keyfile=${SSH_KEYFILE} \
+ -config.ignore-targets=${IGNORE_TARGETS}
+EnvironmentFile=-/etc/conf.d/prometheus-junos-exporter
+ProtectSystem=strict
+PrivateDevices=yes
+ProtectControlGroups=yes
+ProtectKernelTunables=yes
+ProtectHome=tmpfs
+TemporaryFileSystem=/:ro
+BindReadOnlyPaths=/etc/prometheus-junos-exporter
+
+[Install]
+WantedBy=multi-user.service
+
+# vim: ft=systemd