summaryrefslogtreecommitdiff
path: root/roles/install_monitoring/tasks/install_vnstat.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/install_monitoring/tasks/install_vnstat.yml')
-rw-r--r--roles/install_monitoring/tasks/install_vnstat.yml64
1 files changed, 64 insertions, 0 deletions
diff --git a/roles/install_monitoring/tasks/install_vnstat.yml b/roles/install_monitoring/tasks/install_vnstat.yml
new file mode 100644
index 0000000..0198403
--- /dev/null
+++ b/roles/install_monitoring/tasks/install_vnstat.yml
@@ -0,0 +1,64 @@
+---
+- name: install vnstat
+ pacman:
+ name: vnstat
+ state: present
+
+- name: start and enable vnstat service
+ systemd:
+ name: vnstat.service
+ enabled: yes
+ state: started
+
+- name: add interfaces to vnstat
+ command: /usr/bin/vnstat -u -i {{ item }}
+ args:
+ creates: '/var/lib/vnstat/{{ item }}'
+ with_items:
+ - bat0
+ - ens3
+ - ffmyk-mesh-vpn
+ - mullvad
+
+- name: add output folder for vnstat graphs
+ file:
+ path: /srv/http/vnstat
+ state: directory
+
+- name: install gd which is needed for graph generation
+ pacman:
+ name: gd
+ state: present
+
+- name: add bash script to generate vnstat graphs
+ copy:
+ src: vnstat.sh
+ dest: /usr/local/bin/vnstat.sh
+ mode: 0744
+
+- name: add cronjob to generate vnstat graphs
+ cron:
+ name: vnstat
+ minute: '*/5'
+ user: root
+ cron_file: fastd-api
+ job: '/usr/local/bin/vnstat.sh'
+
+- name: add vnstat nginx config
+ copy:
+ src: vnstat
+ dest: /etc/nginx/sites-available/vnstat
+ register: nginx_config
+
+- name: enable vnstat nginx config
+ file:
+ src: /etc/nginx/sites-available/vnstat
+ dest: /etc/nginx/sites-enabled/vnstat
+ state: link
+
+- name: reload nginx
+ when: nginx_config.changed
+ systemd:
+ name: nginx.service
+ state: reloaded
+