Skip to content

Commit

Permalink
Add Rubban to Elastic Stack Tools ✨
Browse files Browse the repository at this point in the history
Signed-off-by: Sherif Abdel-Naby <[email protected]>
  • Loading branch information
sherifabdlnaby committed Apr 7, 2020
1 parent ada635a commit 21507c7
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ COMPOSE_PREFIX_CMD := COMPOSE_DOCKER_CLI_BUILD=1
COMPOSE_ALL_FILES := -f docker-compose.yml -f docker-compose.monitor.yml -f docker-compose.tools.yml -f docker-compose.nodes.yml
ELK_SERVICES := elasticsearch logstash kibana
ELK_MONITORING := elasticsearch-exporter logstash-exporter filebeat-cluster-logs
ELK_TOOLS := curator elastalert
ELK_TOOLS := curator elastalert rubban
ELK_NODES := elasticsearch-1 elasticsearch-2
ELK_MAIN_SERVICES := ${ELK_SERVICES} ${ELK_MONITORING} ${ELK_TOOLS}
ELK_ALL_SERVICES := ${ELK_MAIN_SERVICES} ${ELK_NODES}
Expand Down
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<img width="680px" src="https://user-images.githubusercontent.com/16992394/65840473-f70ca780-e319-11e9-9245-29ec0a8948d6.png">
</p>
<h2 align="center">🐳 Elastic Stack on Docker, with preconfigured security, tools, self-monitoring, and Prometheus Metrics Exporters</h2>
<h4 align="center">With tools like Curator, ElastAlert for Alerting.</h4>
<h4 align="center">With tools like Curator, Rubban, ElastAlert for Alerting.</h4>
<p align="center">
<a>
<img src="https://img.shields.io/badge/Elastic%20Stack-7.6.2-blue?style=flat&logo=elasticsearch" alt="Elastic Stack Version 7^^">
Expand All @@ -25,7 +25,7 @@
</p>

# Introduction
Elastic Stack (AKA **ELK**) Docker Composition, preconfigured with **Security**, **Monitoring**, Tools such as **ElastAlert** for alerting and **Curator**.
Elastic Stack (AKA **ELK**) Docker Composition, preconfigured with **Security**, **Monitoring**, Tools such as **ElastAlert** for alerting, **Rubban** and **Curator**.

Based on [Official Elastic Docker Images](https://www.docker.elastic.co/)

Expand All @@ -37,13 +37,13 @@ Stack Version: [7.6.2](https://www.elastic.co/blog/elastic-stack-7-6-0-released)
- Configured as Production Single Node Cluster. (With a multi-node option for experimenting).
- Security Enabled (under basic license).
- SSL Enabled for Transport Layer and Kibana.
- Use Docker-Compose and `.env` to configure your stack.
- Use Docker-Compose and `.env` to configure your entire stack.
- Automated Script that initializes and persist Elasticsearch's Keystore and SSL Certifications.
- Curator with Crond preconfigured for Automated Scheduled tasks (e.g Snapshots to S3).
- Self-Monitoring Metrics Enabled.
- Prometheus Exporters for Stack Metrics.
- Filebeat instance for shipping Stack logs to Elasticsearch itself.
- ElastAlert preconfigured for Alerting.
- [ElastAlert](https://github.com/Yelp/elastalert) preconfigured for Alerting.
- [Curator](https://github.com/elastic/curator) with Crond preconfigured for Automated Scheduled tasks (e.g Snapshots to S3).
- [Rubban](https://github.com/sherifabdlnaby/rubban) for Kibana curating tasks.
- Embedded Container Healthchecks for Stack Images.

More points at [comparison with deviantony/docker-elk](#Comparison)
Expand Down Expand Up @@ -88,7 +88,7 @@ Username: `elastic` Password: `changeme` (or `ELASTIC_PASSWORD` value in `.env`)
```shell
$ make monitoring
```
#### To Start Tools (ElastAlert and Curator)
#### To Start Tools (ElastAlert, Rubban, and Curator)
```shell
$ make tools
```
Expand Down Expand Up @@ -127,6 +127,7 @@ $ make down
* ElastAlert Configuration in `./tools/elastalert/config`.
* ElastAlert Alert rules in `./tools/elastalert/rules`, [head to ElastAlert docs to lookup how to create alerts.](https://elastalert.readthedocs.io/en/latest/elastalert.html)
* Curator Actions at `./tools/curator/actions` and `./tools/curator/crontab`.
* Rubban Configuration using Docker-Compose passed Environment Variables.

### Setting Up Keystore

Expand Down
13 changes: 12 additions & 1 deletion docker-compose.tools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,15 @@ services:
ELASTIC_USERNAME: ${ELASTIC_USERNAME}
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD}
ports:
- 3030:3030
- 3030:3030

rubban:
image: sherifabdlnaby/rubban:latest
restart: unless-stopped
environment:
RUBBAN_KIBANA_HOST: "https://${KIBANA_HOST}:${KIBANA_PORT}"
RUBBAN_KIBANA_USER: ${ELASTIC_USERNAME}
RUBBAN_KIBANA_PASSWORD: ${ELASTIC_PASSWORD}
RUBBAN_REFRESHINDEXPATTERN_ENABLED: 'true'
RUBBAN_REFRESHINDEXPATTERN_SCHEDULE: '*/5 * * * *'
RUBBAN_REFRESHINDEXPATTERN_PATTERNS: '*'

0 comments on commit 21507c7

Please sign in to comment.