ELK收集tomcat日志_docker elkf tomcat收集日志
为了使用Docker部署ELK(Elasticsearch, Logstash, Kibana)堆栈,并配置Logstash以收集Tomcat日志,你需要执行以下步骤:
- 准备Elasticsearch Docker容器。
- 准备Logstash Docker容器,并配置其以收集Tomcat日志。
- 准备Kibana Docker容器,并连接到Elasticsearch。
以下是一个简化的示例:
- 准备
docker-compose.yml
文件:
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
environment:
- discovery.type=single-node
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
logstash:
image: docker.elastic.co/logstash/logstash:7.10.0
volumes:
- ./logstash/pipeline:/usr/share/logstash/pipeline
depends_on:
- elasticsearch
kibana:
image: docker.elastic.co/kibana/kibana:7.10.0
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
depends_on:
- elasticsearch
ports:
- "5601:5601"
volumes:
esdata1:
driver: local
- 准备Logstash配置文件,例如
logstash/pipeline/logstash.conf
:
input {
file {
path => "/usr/share/logstash/tomcat.log"
start_position => "beginning"
}
}
filter {
# 添加过滤器配置(如果有必要)
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
index => "tomcat-logs-%{+YYYY.MM.dd}"
}
}
- 在包含
docker-compose.yml
文件的目录中运行Docker Compose:
docker-compose up -d
确保你的Tomcat容器将日志输出到/usr/share/logstash/tomcat.log
,这与Logstash的file
插件path
设置相匹配。
以上步骤会启动一个ELK堆栈,并配置Logstash从Tomcat日志文件收集日志,将其索引到Elasticsearch,最后通过Kibana进行查询和可视化。
评论已关闭