This posts describes how to create a simple Ansible task on how to setup PaperTrail on Ubuntu.
It’s a follow up to a previous
describing an Ansible Playbook to setup an HAProxy system. This Ansible
be included in the HAProxy playbook as well as any other playbooks with something
--- PLAYBOOK: Install papertrail on Ubuntu --- - name: scout hosts: all user: <user-with-sudo> sudo: True tasks: - include: tasks/papertrail.yml
Next, we define the
task that includes installing the dependencies
rsyslog and libssl-dev. Also we copy a specific rsyslog configuration
--- # TASK: Papertrail log aggregation - name: Install dependencies for Papertrail apt: pkg=$item state=latest with_items: - libssl-dev - rsyslog-gnutls - name: Copy rsyslog.conf copy: > src=files/rsyslog.conf dest=/etc/rsyslog.conf owner=root group=root mode=0444 notify: restart rsyslog
And here’s the content of rsyslog.conf:
Next you need to include the papertrail cerfiticate file if you want
to encrypt your connection from rsyslog to PaperTrail.
The link to the certificate file is
You also need to tell Ansible to restart rsyslog when it installs
this file using the
- name: Papertrail certificate copy: > src=files/syslog.papertrail.crt dest=/etc/syslog.papertrail.crt owner=root group=root mode=0444 notify: restart rsyslog
Here you include the specific papertrail configuration for rsyslog.
- name: Papertrail rsyslog config file copy: > src=files/papertrail.conf dest=/etc/rsyslog.d/70-papertrail.conf owner=root group=root mode=0444 notify: restart rsyslog
The papertrail.conf file can be seen here:
Optionally you can install the Ruby papertrail remote syslog in case you’d like to send random logs from the machine to PaperTrail.
- name: Install Papertrail remote file logger shell: > executable=/bin/bash source /etc/profile.d/rvm.sh; gem install remote_syslog --no-ri --no-rdoc
Finally just run it:
ansible-playbook -T 120 -i inventory-file papertrail.yml