Linux Docker 安装 Logstash 7.12.0

369 阅读2分钟

1.安装Logstash镜像

docker pull docker.elastic.co/logstash/logstash:7.12.0

创建文件目录和配置文件

2.创建文件夹

mkdir -p /usr/local/docker/logstash

mkdir -p /usr/local/docker/logstash/config
mkdir -p /usr/local/docker/logstash/configmkdir
mkdir -p /usr/local/docker/logstash/data
mkdir -p /usr/local/docker/logstash/logs
mkdir -p /usr/local/docker/logstash/pipeline

3.创建配置文件

touch /usr/local/docker/logstash/config/jvm.options
touch /usr/local/docker/logstash/config/log4j2.properties
touch /usr/local/docker/logstash/config/logstash.conf
touch /usr/local/docker/logstash/config/logstash.yml
touch /usr/local/docker/logstash/config/piplines.yml


touch /usr/local/docker/logstash/data/test.log

4.编辑配置文件

1)jvm.options配置

编辑文件

vim jvm.options

添加配置

-Xmx512m
-Xms512m

2)logstash.yml配置

编辑配置文件

vim logstash.yml

添加配置

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://ElasticSearchip地址:9200(ElasticSearchip端口)" ]
path.config: /usr/share/logstash/config/conf.d/*.conf
path.logs: /usr/share/logstash/logs

2)piplines.yml配置

- pipeline.id: main
  path.config: "/usr/share/logstash/pipeline"

5.启动容器

1、  文件夹授权

chmod 777 /usr/local/docker/logstash/**

2、启动镜像

docker run \
--name logstash \
--restart=always \
-p 5044:5044 \
-p 9600:9600 \
-e ES_JAVA_OPTS="-Duser.timezone=Asia/Shanghai" \
-v /usr/local/docker/logstash/config:/usr/share/logstash/config \
-v /usr/local/docker/logstash/data:/usr/share/logstash/data \
-v /usr/local/docker/logstash/pipeline:/usr/share/logstash/pipeline \
-d docker.elastic.co/logstash/logstash:7.12.0

命令解释:

docker run \     启动容器

--name logstash\ 将容器命名为 logstash

--restart=always \ 容器自动重启

-p 5044:5044 \ 将容器的5044端口映射到宿主机5044端口 logstash的启动端口

-p 9600:9600 \ 将容器的9600端口映射到宿主机9600 端口,api端口

-e ES_JAVA_OPTS="-Duser.timezone=Asia/Shanghai" \ 设置时区

-v /usr/local/docker/logstash/config:/usr/share/logstash/config \ 挂载本机配置文件目录映射到容器目录中

-v /usr/local/docker/logstash/data:/usr/share/logstash/data \ 挂载本机data目录映射到容器目录中

-v /usr/local/docker/logstash/pipeline:/usr/share/logstash/pipeline \ 

-d docker.elastic.co/logstash/logstash:7.12.0 后台运行容器,并返回容器ID

6.  验证是否安装成功

使用docker ps命令查询是否启动成功

image.png

使用docker exec -it logstash bash查看是否可以进入容器内部