--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/goaccess/defaults/main.yaml Sun Aug 09 14:20:24 2020 -0500
@@ -0,0 +1,5 @@
+---
+
+goaccess_timer_freq: "hourly"
+goaccess_http_log: "/var/log/nginx/access.log"
+goaccess_output_dest: "/var/www/report.html"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/goaccess/handlers/main.yaml Sun Aug 09 14:20:24 2020 -0500
@@ -0,0 +1,5 @@
+---
+
+- name: daemon reload
+ systemd: name="goaccess.timer" enabled="yes" daemon_reload="yes"
+ become: yes
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/goaccess/tasks/main.yaml Sun Aug 09 14:20:24 2020 -0500
@@ -0,0 +1,17 @@
+---
+
+- name: apt install goaccess
+ become: yes
+ apt: name="goaccess"
+
+- name: install systemd timer and service
+ become: yes
+ template: src="goaccess.{{item}}.j2" dest="/lib/systemd/system/goaccess.{{item}}"
+ loop:
+ - "timer"
+ - "service"
+ notify: daemon reload
+
+- name: ensure timer is started
+ become: yes
+ systemd: name="goaccess.timer" enabled="yes" state="started"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/goaccess/templates/goaccess.service.j2 Sun Aug 09 14:20:24 2020 -0500
@@ -0,0 +1,11 @@
+[Unit]
+Description=GoAccess
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/goaccess {{goaccess_http_log}} -o {{goaccess_output_dest}} --log-format=COMBINED --no-progress --no-parsing-spinner
+RemainAfterExit=true
+Environment=HOME=/var/run
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/goaccess/templates/goaccess.timer.j2 Sun Aug 09 14:20:24 2020 -0500
@@ -0,0 +1,9 @@
+[Unit]
+Description=GoAccess refresh timer
+
+[Timer]
+OnCalendar={{goaccess_timer_freq}}
+Unit=goaccess.service
+
+[Install]
+WantedBy=timers.target