docker compose安装运行ELK之Logstash
结构:logstash 由管道组成,而一个管道由input,output和filter三个元素组成1.docker-compose.yml配置logstash:image: docker.elastic.co/logstash/logstash:7.3.0container_name: logstashvolumes:- /usr/l...
·
结构:
logstash 由管道组成,而一个管道由input,output和filter三个元素组成
1.docker-compose.yml配置
logstash:
image: docker.elastic.co/logstash/logstash:7.3.0
container_name: logstash
volumes:
- /usr/local/workspace/elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
- /usr/local/workspace/elk/logstash/pipeline:/usr/share/logstash/pipeline
ports:
- 5044:5044
environment:
LS_JAVA_OPTS: "-Xmx256m -Xms256m"
networks:
- esnet
depends_on:
- es01
- es02
说明:这里要挂载两个文件夹,一个是logstash的管道pipeline的配置文件夹,一个是logstash自身的配置文件,5044端口是为了接受filebeat传过来数据,depends_on 是为了在es01和es02服务启动之后再启动该容器,elasticsearch集群可查看我的其他博客
2.config下的logstash.yml配置
http.host: "0.0.0.0"
默认配置基本上够用了,只用设置一个host就行了
3.pipeline的管道配置文件logstash.conf
input {
beats {
port => "5044"
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}"}
}
geoip {
source => "clientip"
}
}
output {
stdout { codec => rubydebug }
elasticsearch {
hosts => ["192.168.20.101:9200"]
}
}
说明:input接收beat的数据,filter是对数据进行操作,可以配置格式,新增常用字段等,output是输出索引的地址,一般就是elasticsearch,如果elasticsearch的hosts有多个地址,会自动负载均衡,请查看文档
4.其他
想要构建整个elk,请查看我的其他博客,我将elk拆分成了4个博客
更多推荐
已为社区贡献4条内容
所有评论(0)