One of my current assignments at work is to build a new ELK stack to provide logfile aggregation for a new group of servers that will be going online soon. We use it for aggregating the Apache access logs mainly, as well as the error logs from Drupal. Aggregating it with ELK allows our developers to quickly and easily review what is going on with the web servers in as near to real-time as possible.
I have been using Ansible for server management for several years now. While investigating the options available for roles to install the various components of the ELK stack on Ansible Galaxy, I discovered that I had a slight problem. I found an Elasticsearch role created by Elastic.co, but was not able to find a role for installing/configuring Kibana that seemed to suit my needs. I therefore went about creating one: javiergayala.kibana.
I created the Kibana role using the Molecule role testing framework. It uses Docker to create a container on which to apply the role, and Testinfra to verify that the role is applied the way that it should. I uploaded it to GitHub, and configured TravisCI to automate the testing for the repository.