elk--docker中安装logstash以及相关案例配置

1.下载镜像

docker pull logstash:7.6.2

elk版本统一
elk--docker中安装logstash以及相关案例配置_第1张图片
2.启动logstash(目的拷贝数据将文件夹挂载到外部)

docker run -d --name=logstash logstash:7.6.2

3.启动完成后查看容器是否启动完成

docker ps

在这里插入图片描述

docker logs -f logstash

在这里插入图片描述
启动日志打印成功说明启动已完成
4.进入logstash容器内部

docker exec -it logstash /bin/bash

在这里插入图片描述
5.退出容器,将/usr/share/logstash文件夹下所有内容拷贝到外部/mydata文件夹下

docker cp logstash:/usr/share/logstash /mydata/

在这里插入图片描述
elk--docker中安装logstash以及相关案例配置_第2张图片
6.在config文件夹下创建一个新的文件夹conf.d

mkdir /mydata/logstash/config/conf.d

在这里插入图片描述

7.给/mydata/logstash/文件夹授予权限

chmod 777 -R /mydata/logstash

8.logstash相关配置,请确保elasticsearch运行正常,修改配置文件中的elasticsearch地址(请根据实际情况修改elasticsearch地址!)
logstash配置文件logstash.yml详解

vi /mydata/logstash/config/logstash.yml 
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.56.10:9200" ]
#指定管道配置的目录,在此目录下的所有管道配置文件都将被logstash读取,除管道配置外,不要放任何文件
path.config: /usr/share/logstash/config/conf.d/*.conf
#logstash日志目录位置,默认为logstash路径下的logs
path.logs: /usr/share/logstash/logs
#logstash及其插件所使用的数据路径,默认路径为logstash家目录下的data目录
path.data: /usr/share/logstash/data

elk--docker中安装logstash以及相关案例配置_第3张图片

9.新建文件syslog.conf,用来收集/usr/share/logstash/logs/temp_log

vi /mydata/logstash/config/conf.d/syslog.conf 
input {
  file {
    #标签
    type => "systemlog-localhost"
    #采集点
    path => "/usr/share/logstash/logs/temp_log"
    #开始收集点
    start_position => "beginning"
    #扫描间隔时间,默认是1s,建议5s
    stat_interval => "5"
  }
}

output {
  elasticsearch {
    hosts => ["192.168.56.10:9200"]
    index => "logstash-system-localhost-%{+YYYY.MM.dd}"
 }
}

elk--docker中安装logstash以及相关案例配置_第4张图片
10.在采集点文件/usr/share/logstash/logs/temp_log中随意写点测试采集数据退出保存

vi /mydata/logstash/logs/temp_log

elk--docker中安装logstash以及相关案例配置_第5张图片
11.停止并移除logstash容器

docker stop logstash
docker rm logstash

12.使用外部挂载文件方式重新启动logstash

docker run -d \
--name=logstash \
--restart=always \
-p 5044:5044 \
-v /mydata/logstash:/usr/share/logstash \
logstash:7.6.2

13.查看容器运行状态

docker ps
docker logs -f logstash

14.重启完成之后,访问elasticsearch-head确保创建了索引
elk--docker中安装logstash以及相关案例配置_第6张图片
也可以使用kibana控制台方式查看
elk--docker中安装logstash以及相关案例配置_第7张图片
好啦,以上就是安装logstash及相关配置的使用!
关于logstash采集数据的方式很多,本文使用file方式做了简单的介绍,有兴趣的朋友可以参照官方文档:elasticsearch官方文档
elk--docker中安装logstash以及相关案例配置_第8张图片
备注:
如果想使用./bin/logstash指定某一个配置文件文件启动logstash的话,需要把logstash.yml文件中的path.config注释掉(注意:这种启动方式需要java环境支持要先在虚拟机中配置jdk环境变量)

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.56.10:9200" ]
#指定管道配置的目录,在此目录下的所有管道配置文件都将被logstash读取,除管道配置外,不要放任何文件
#path.config: /usr/share/logstash/config/conf.d/*.conf
#logstash日志目录位置,默认为logstash路径下的logs
path.logs: /usr/share/logstash/logs
#logstash及其插件所使用的数据路径,默认路径为logstash家目录下的data目录
path.data: /usr/share/logstash/data

1)stdin 标准输入和 stdout 标准输出,在/mydata/logstash目录下键入以下命令即可;启动完成在控制台输入输出

./bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'

2)使用指定配置文件filter.conf 方式启动logstash

./bin/logstash -f /mydata/logstash/config/conf.d/filter.conf 

elk--docker中安装logstash以及相关案例配置_第9张图片
3)以上配置完成后,以后logstash从各种不同的地方采集输入输出数据只需要在/mydata/logstash/config/conf.d文件夹下编写不同的.conf文件并制定启动即可
elk--docker中安装logstash以及相关案例配置_第10张图片

你可能感兴趣的:(笔记,elk,docker,elasticsearch)