Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cicdguy/civis-assignment
Interview assignment for Civis Analytics
https://github.com/cicdguy/civis-assignment
Last synced: about 1 month ago
JSON representation
Interview assignment for Civis Analytics
- Host: GitHub
- URL: https://github.com/cicdguy/civis-assignment
- Owner: cicdguy
- License: apache-2.0
- Created: 2019-05-07T21:52:23.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-04-28T13:12:59.000Z (over 4 years ago)
- Last Synced: 2023-03-10T00:03:02.359Z (almost 2 years ago)
- Language: HTML
- Size: 20.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Civis Analytics Assignment
## Disclaimer
This setup is not meant to be used in production. It is simply for demonstration purposes.
## Pre-requsities
* [Vagrant](https://www.vagrantup.com/)
* [Ansible](https://www.ansible.com/)You don't need Docker for this, as Docker will be installed on the VM.
## Stack
* *App*: A simple "Task Manager" web application built with Flask
* *MongoDB*: Database tier for the app
* *ELK stack*: Monitoring
* *Vagrant*: Provisioning VM + entire stack## Quickstart
Issuing this command will bring up the entire infrastructure:
```bash
vagrant up
```## Services
After `vagrant up` has successfully completed, run this to see how you can access the app as well as Kibana on your browser:
```bash
IP=`grep "^vagrant_ip" Vagrantfile | awk -F '=' '{print $2}' | tr -d ' "'` && \
echo "Webapp: http://$IP:80" && \
echo "Kibana: http://$IP:5601"
```In order to login to Kibana, you can use these credentials:
* Username: *elastic*
* Password: *changeme*Filebeat, Metricbeat and Packetbeat are all configured to push metrics to Logstash and Elasticsearch. You will need to create indexes via Kibana to visualize and discover metrics.
## Known issues
* Log messages are garbled in Logstash, mostly due to encoding issues
## References
* Official Elastic Ansible role for Beats: https://github.com/elastic/ansible-beats
* Awesome docker-compose-based ELK stack: https://github.com/deviantony/docker-elk
* geerlingguy's Docker install Ansible role: https://galaxy.ansible.com/geerlingguy/docker