|
|
|
---
|
|
|
|
- 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
|
|
|
|
|
|
|
|
- name: add bash script to check internet
|
|
|
|
copy:
|
|
|
|
src: check_internet.sh
|
|
|
|
dest: /usr/local/bin/check_internet.sh
|
|
|
|
mode: 0744
|
|
|
|
|
|
|
|
- name: add cronjob to check internet
|
|
|
|
cron:
|
|
|
|
name: check_internet
|
|
|
|
user: root
|
|
|
|
cron_file: fastd-api
|
|
|
|
job: '/usr/local/bin/check_internet.sh'
|
|
|
|
|
|
|
|
- name: install munin
|
|
|
|
pacman:
|
|
|
|
name: munin-node
|
|
|
|
state: present
|
|
|
|
|
|
|
|
- name: copy munin-node config
|
|
|
|
template:
|
|
|
|
src: munin-node.conf.j2
|
|
|
|
dest: /etc/munin/munin-node.conf
|
|
|
|
|
|
|
|
- name: copy fastd plugin
|
|
|
|
copy:
|
|
|
|
src: munin_fastd_plugin
|
|
|
|
dest: /usr/lib/munin/plugins/fastd_
|
|
|
|
mode: 0755
|
|
|
|
|
|
|
|
- name: copy dhcp-pool plugin
|
|
|
|
copy:
|
|
|
|
src: munin_dhcp_pool_plugin
|
|
|
|
dest: /usr/lib/munin/plugins/dhcp-pool
|
|
|
|
mode: 0755
|
|
|
|
|
|
|
|
- name: copy fastd plugin config
|
|
|
|
copy:
|
|
|
|
src: munin_fastd_conf
|
|
|
|
dest: /etc/munin/plugin-conf.d/fastd
|
|
|
|
|
|
|
|
- name: copy global config
|
|
|
|
copy:
|
|
|
|
src: munin_global_conf
|
|
|
|
dest: /etc/munin/plugin-conf.d/global
|
|
|
|
|
|
|
|
- name: install netstat
|
|
|
|
pacman:
|
|
|
|
name: net-tools
|
|
|
|
state: present
|
|
|
|
|
|
|
|
- name: install perl-lwp-protocol-https
|
|
|
|
pacman:
|
|
|
|
name: perl-lwp-protocol-https
|
|
|
|
state: present
|
|
|
|
|
|
|
|
- name: enable munin plugins
|
|
|
|
file:
|
|
|
|
path: /etc/munin/plugins/{{ item.name }}
|
|
|
|
src: /usr/lib/munin/plugins/{{ item.plugin | default( item.name ) }}
|
|
|
|
state: link
|
|
|
|
with_items: "{{ munin_node_plugins }}"
|
|
|
|
|
|
|
|
- name: start and enable munin-node
|
|
|
|
systemd:
|
|
|
|
name: munin-node.service
|
|
|
|
enabled: yes
|
|
|
|
state: started
|