docker compose elk集群
时间: 2023-11-20 09:56:25 浏览: 112
docker-compose-linux
以下是使用Docker Compose建立ELK集群的步骤:
1.创建一个新的目录并在其中创建一个docker-compose.yml文件。
2.在docker-compose.yml文件中定义三个服务:Elasticsearch、Logstash和Kibana。
3.为每个服务定义容器映像,端口和其他配置选项。
4.使用Docker Compose命令启动ELK集群。
5.在Kibana中配置索引模式和可视化仪表板以查看和分析日志数据。
下面是一个示例docker-compose.yml文件,用于启动一个ELK集群:
```yaml
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
container_name: elasticsearch
environment:
- node.name=elasticsearch
- discovery.seed_hosts=elasticsearch
- cluster.initial_master_nodes=elasticsearch
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- elk
logstash:
image: docker.elastic.co/logstash/logstash:7.14.0
container_name: logstash
volumes:
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
- ./logstash/pipeline:/usr/share/logstash/pipeline
ports:
- 5044:5044
networks:
- elk
kibana:
image: docker.elastic.co/kibana/kibana:7.14.0
container_name: kibana
environment:
ELASTICSEARCH_URL: http://elasticsearch:9200
ports:
- 5601:5601
networks:
- elk
volumes:
esdata1:
driver: local
networks:
elk:
```
在上面的示例中,我们定义了三个服务:Elasticsearch、Logstash和Kibana。每个服务都有自己的容器映像,端口和其他配置选项。我们还定义了一个名为“elk”的网络,以便服务可以相互通信。
要启动ELK集群,请在包含docker-compose.yml文件的目录中运行以下命令:
```
docker-compose up
```
这将启动Elasticsearch、Logstash和Kibana容器,并将它们连接到“elk”网络。一旦容器启动,您可以在浏览器中访问Kibana Web界面,该界面默认在端口5601上运行。
在Kibana中,您可以配置索引模式和可视化仪表板以查看和分析日志数据。要将日志数据发送到Logstash,请将日志发送到Logstash监听的端口5044。
阅读全文