src.nth.io/

summaryrefslogtreecommitdiff
path: root/bitcoind-prometheus-exporter
diff options
context:
space:
mode:
Diffstat (limited to 'bitcoind-prometheus-exporter')
-rw-r--r--bitcoind-prometheus-exporter/defaults/main.yaml6
-rw-r--r--bitcoind-prometheus-exporter/handlers/main.yaml5
-rw-r--r--bitcoind-prometheus-exporter/tasks/main.yaml45
-rw-r--r--bitcoind-prometheus-exporter/templates/bitcoind-prometheus-exporter.service.j218
4 files changed, 74 insertions, 0 deletions
diff --git a/bitcoind-prometheus-exporter/defaults/main.yaml b/bitcoind-prometheus-exporter/defaults/main.yaml
new file mode 100644
index 0000000..a81a9e5
--- /dev/null
+++ b/bitcoind-prometheus-exporter/defaults/main.yaml
@@ -0,0 +1,6 @@
+---
+
+bitcoind_prometheus_exporter_conf: "/home/bitcoin/.bitcoin/bitcoin.conf"
+bitcoind_prometheus_exporter_version: "0.5.0"
+bitcoind_prometheus_exporter_url: "https://github.com/jvstein/bitcoin-prometheus-exporter/archive/v{{bitcoind_prometheus_exporter_version}}.tar.gz"
+bitcoind_prometheus_exporter_tar_name: "bitcoin-prometheus-exporter-{{bitcoind_prometheus_exporter_version}}"
diff --git a/bitcoind-prometheus-exporter/handlers/main.yaml b/bitcoind-prometheus-exporter/handlers/main.yaml
new file mode 100644
index 0000000..a98877f
--- /dev/null
+++ b/bitcoind-prometheus-exporter/handlers/main.yaml
@@ -0,0 +1,5 @@
+---
+
+- name: restart service
+ become: yes
+ systemd: service="bitcoind-prometheus-exporter.service" state="restarted" daemon_reload="yes"
diff --git a/bitcoind-prometheus-exporter/tasks/main.yaml b/bitcoind-prometheus-exporter/tasks/main.yaml
new file mode 100644
index 0000000..b29b10e
--- /dev/null
+++ b/bitcoind-prometheus-exporter/tasks/main.yaml
@@ -0,0 +1,45 @@
+---
+
+- name: apt-get bitcoind-prometheus-exporter install deps
+ become: yes
+ apt: name="python3-pip"
+
+- name: pip bitcoind-prometheus-exporter install deps
+ become: yes
+ pip: name="{{item}}"
+ loop:
+ - "riprova"
+ - "prometheus_client"
+ - "python-bitcoinlib"
+
+- name: unarchive bitcoind-prometheus-exporter
+ become: yes
+ unarchive:
+ remote_src: yes
+ src: "{{bitcoind_prometheus_exporter_url}}"
+ dest: "/tmp"
+ creates: "/tmp/{{bitcoind_prometheus_exporter_tar_name}}/"
+ notify: restart service
+
+- name: install bitcoind-prometheus-exporter
+ become: yes
+ copy:
+ src: "/tmp/{{bitcoind_prometheus_exporter_tar_name}}/bitcoind-monitor.py"
+ dest: "/usr/local/bin/bitcoind-prometheus-exporter.py"
+ remote_src: yes
+ owner: "root"
+ group: "root"
+ mode: "0755"
+ changed_when: false
+
+- name: install bitcoind-prometheus-exporter service
+ become: yes
+ template:
+ src: "bitcoind-prometheus-exporter.service.j2"
+ dest: "/lib/systemd/system/bitcoind-prometheus-exporter.service"
+ mode: "0644"
+ notify: restart service
+
+- name: ensure bitcoind-prometheus-exporter service is started
+ become: yes
+ systemd: service="bitcoind-prometheus-exporter.service" enabled="yes" state="started" daemon_reload="yes"
diff --git a/bitcoind-prometheus-exporter/templates/bitcoind-prometheus-exporter.service.j2 b/bitcoind-prometheus-exporter/templates/bitcoind-prometheus-exporter.service.j2
new file mode 100644
index 0000000..2d101b6
--- /dev/null
+++ b/bitcoind-prometheus-exporter/templates/bitcoind-prometheus-exporter.service.j2
@@ -0,0 +1,18 @@
+[Unit]
+Description=Bitcoind Prometheus Exporter
+Wants=bitcoind.service
+After=bitcoind.service
+
+[Service]
+ExecStart=/usr/local/bin/bitcoind-prometheus-exporter.py
+User=prometheus
+Environment="BITCOIN_CONF_PATH={{bitcoind_prometheus_exporter_conf}}"
+
+PrivateTmp=true
+ProtectSystem=full
+NoNewPrivileges=true
+PrivateDevices=true
+MemoryDenyWriteExecute=true
+
+[Install]
+WantedBy=multi-user.target