This project contains Ansible playbooks and roles for automated deployment and configuration of various logging and monitoring solutions including ELK Stack, EFK Stack, Prometheus/Grafana, Graylog, and Splunk.
- Ansible 2.9 or higher
- Python 3.x
- SSH access to target hosts
- Sufficient permissions to install and configure monitoring tools
ansible-logging-monitoring-automation/
├── ansible.cfg # Ansible configuration
├── inventory/ # Environment-specific inventories
├── playbooks/ # Main playbooks
├── roles/ # Individual role definitions
├── vars/ # Variable definitions
└── docs/ # Documentation
-
Clone the repository:
git clone <repository-url> cd ansible-logging-monitoring-automation
-
Update inventory:
# Edit the appropriate inventory file vim inventory/dev.yml
-
Configure variables:
# Update global variables vim vars/global.yml
-
Run playbook:
ansible-playbook -i inventory/dev.yml playbooks/elk_stack.yml
elk_stack.yml
: Deploys ELK (Elasticsearch, Logstash, Kibana) stackefk_stack.yml
: Deploys EFK (Elasticsearch, Fluentd, Kibana) stackprometheus_grafana.yml
: Deploys Prometheus and Grafanagraylog.yml
: Deploys Graylogsplunk.yml
: Deploys Splunk
Detailed documentation for each role is available in the docs/role_guides/
directory.
# Run molecule tests
molecule test
# Run integration tests
./tests/integration/run_tests.sh
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
See docs/troubleshooting.md
for common issues and solutions.