1、拉取镜像
- 指定版本(6.4.3)进行拉取,不指定版本是以latest版本为主.
docker pull docker.elastic.co/logstash/logstash:6.4.3
2、创建文件目录
- 指定目录进行创建config和pipeline文件
mkdir -p /usr/local/logstash/config /usr/local/logstash/pipeline/
3、配置yml文件
- 在config文件进行新建
logstash.ym
l和pipelines.yml
文件 -
logstash.yml
配置内容
config:
reload:
automatic: true
interval: 3s
xpack:
management.enabled: false
monitoring.enabled: false
pipelines.yml配置内容
- pipeline.id: logstash_dev
path.config: "/usr/share/logstash/pipeline/logstash_dev.conf"
pipeline.png
4、配置conf文件
- 配置conf文件,指定一个名称进行配置,比如:
logstash_dev.conf
表示开发环境的logs有多个环境可以创建多个文件进行指定配置同步到容器执行即可
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 5047
codec => json_lines
}
}
filter{
}
output {
elasticsearch {
hosts => ["192.168.1.237:9200"]
index => "logstash-dev-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}
image.png
5、运行容器
- 命令操作,在运行有转义问题,建议把\去掉,整成一行命令脚本进行执行
docker run -d -it --restart=always \
--privileged=true \
--name=logstash -p 5047:5047 -p 9600:9600 \
-v /usr/local/logstash/pipeline/:/usr/share/logstash/pipeline/ \
-v /usr/local/logstash/config/:/usr/share/logstash/config/ docker.elastic.co/logstash/logstash:6.4.3
image.png
6、代码验证Logstash
-
新建一个
Springboot
工程,用于验证logstash是否成功 -
maven 的
pom.xml
依赖的jar
<!-- 简化 lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- logstash -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.1</version>
</dependency>
-
Java代码
Java代码.png
- 配置一个
logback-spring.xml
文件,其中destination的节点是logstash安装的目标机器和端口,而springProfile是配置不同的环境logs输出信息
网友评论