- hosts: localhost tasks: - name: Add static.opendev.org to inventory add_host: name: static.opendev.org ansible_connection: ssh ansible_host: static.opendev.org ansible_port: 22 ansible_user: zuul - name: Add static.opendev.org host key known_hosts: name: static.opendev.org key: static.opendev.org,23.253.245.150,2001:4800:7818:101:be76:4eff:fe04:7c28 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMu3PnnkNhPS2d5Z2uPju3Qqcbbc0lwHA1j9MgHlLnbK3bx1O2Kfez6RJUGl2i6nshdzkKwPBvN2vehQKiw1oSk= - hosts: static.opendev.org tasks: - name: Configure goaccess copy: dest: /home/zuul/goaccess.conf owner: zuul group: zuul mode: '0444' content: | log-format COMBINED ignore-panel VISITORS ignore-panel REQUESTS ignore-panel REQUESTS_STATIC ignore-panel NOT_FOUND ignore-panel HOSTS ignore-panel OS ignore-panel BROWSERS ignore-panel VISIT_TIMES ignore-panel VIRTUAL_HOSTS ignore-panel REFERRERS ignore-panel REFERRING_SITES ignore-panel KEYPHRASES ignore-panel STATUS_CODES ignore-panel REMOTE_USER ignore-panel GEO_LOCATION enable-panel VISITORS enable-panel REQUESTS enable-panel REQUESTS_STATIC enable-panel NOT_FOUND enable-panel STATUS_CODES - name: Run goaccess become: yes shell: | # We will publish to the zuul homedir for now as that allows us to # double check the data produced is clean before making it # public. OUT_FILE="/home/zuul/{{ goaccess_site }}_goaccess_report.html" SOURCE_FILE="/var/log/apache2/{{ goaccess_site }}_access.log" # This pipes in all the compressed logs as well as the current # uncompressed logs. Giving us a window as wide as our log retention. ( cat ${SOURCE_FILE}{,.1} ; zcat ${SOURCE_FILE}.*.gz ) | goaccess -o $OUT_FILE -p /home/zuul/goaccess.conf - args: executable: /bin/bash # Not using normal zuul job roles as static.opendev.org is not a # test node with all the normal bits in place. - name: Collect log output synchronize: dest: "{{ zuul.executor.log_root }}/{{ goaccess_site }}_goaccess_report.html" mode: pull src: "/home/zuul/{{ goaccess_site }}_goaccess_report.html" verify_host: true - name: Return goaccess artifact to Zuul zuul_return: data: zuul: artifacts: - name: "Goaccess report" url: "{{ goaccess_site }}_goaccess_report.html" metadata: type: html_report