667bd9facb
* Adopt Compose v2 Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
59 lines
2.1 KiB
Markdown
59 lines
2.1 KiB
Markdown
## Compose sample application
|
|
### Elasticsearch, Logstash, and Kibana (ELK) in single-node
|
|
|
|
Project structure:
|
|
```
|
|
.
|
|
└── compose.yaml
|
|
```
|
|
|
|
[_compose.yaml_](compose.yaml)
|
|
```
|
|
services:
|
|
elasticsearch:
|
|
image: elasticsearch:7.8.0
|
|
...
|
|
logstash:
|
|
image: logstash:7.8.0
|
|
...
|
|
kibana:
|
|
image: kibana:7.8.0
|
|
...
|
|
```
|
|
|
|
## Deploy with docker compose
|
|
|
|
```
|
|
$ docker compose up -d
|
|
Creating network "elasticsearch-logstash-kibana_elastic" with driver "bridge"
|
|
Creating es ... done
|
|
Creating log ... done
|
|
Creating kib ... done
|
|
```
|
|
|
|
## Expected result
|
|
|
|
Listing containers must show three containers running and the port mapping as below:
|
|
```
|
|
$ docker ps
|
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
173f0634ed33 logstash:7.8.0 "/usr/local/bin/dock…" 43 seconds ago Up 41 seconds 0.0.0.0:5000->5000/tcp, 0.0.0.0:5044->5044/tcp, 0.0.0.0:9600->9600/tcp, 0.0.0.0:5000->5000/udp log
|
|
b448fd3e9b30 kibana:7.8.0 "/usr/local/bin/dumb…" 43 seconds ago Up 42 seconds 0.0.0.0:5601->5601/tcp kib
|
|
366d358fb03d elasticsearch:7.8.0 "/tini -- /usr/local…" 43 seconds ago Up 42 seconds (healthy) 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es
|
|
```
|
|
|
|
After the application starts, navigate to below links in your web browser:
|
|
|
|
* Elasticsearch: [`http://localhost:9200`](http://localhost:9200)
|
|
* Logstash: [`http://localhost:9600`](http://localhost:9600)
|
|
* Kibana: [`http://localhost:5601/api/status`](http://localhost:5601/api/status)
|
|
|
|
Stop and remove the containers
|
|
```
|
|
$ docker compose down
|
|
```
|
|
|
|
## Attribution
|
|
|
|
The [example Nginx logs](https://github.com/docker/awesome-compose/tree/master/elasticsearch-logstash-kibana/logstash/nginx.log) are copied from [here](https://github.com/elastic/examples/blob/master/Common%20Data%20Formats/nginx_json_logs/nginx_json_logs).
|