ELK--Logstash 安装与数据导入

本文详细介绍了如何使用Docker安装并配置Logstash,包括选择与Elasticsearch匹配的版本、配置网络参数、导入CSV数据文件至Elasticsearch,并通过Kibana进行数据验证的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Logstash 安装

查找镜像

docker search logstash

下载镜像

docker pull logstash:6.5.0

6.5.0 : 因为我的elasticsearch版本是6.5.0,故选此版本。

运行

docker run --name logstash logstash:6.5.0

查看是否启动

docker ps -a
在这里插入图片描述

进入容器修改配置

winpty docker exec -it logstash bash (docker exec -it logstash /bin/bash)

cd config
vi logstash.yml

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.url: http://172.17.0.2:9200

172.17.0.2 elasticsearch 的 ip
获取容器IP
docker inspect --format ‘{{ .NetworkSettings.IPAddress }}’

退出重新启动

dcoker restart logstash

二、Logstash 导入数据

下载数据源(movies.cvs文件,很经典的测试数据,自行搜索下载)

将数据文件拷贝至容器

docker cp G:/usr/local/logstash/movies.csv logstash:/usr/share/logstash/config/

将配置文件拷贝至容器

docker cp G:/usr/local/logstash/logstash.conf logstash:/usr/share/logstash/config/

1 从容器拷贝文件到宿主机
拷贝方式为:
docker cp 容器名:容器中要拷贝的文件名及其路径 要拷贝到宿主机里面对应的路径
2 从宿主机拷贝文件到容器
拷贝方式为:
docker cp 宿主机中要拷贝的文件名及其路径 容器名:要拷贝到容器里面对应的路径

配置文件内容

input {
  file {
    path => "/usr/share/logstash/config/movies.csv"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}
filter {
  csv {
    separator => ","
    columns => ["id","content","genre"]
  }

  mutate {
    split => { "genre" => "|" }
    remove_field => ["path", "host","@timestamp","message"]
  }

  mutate {

    split => ["content", "("]
    add_field => { "title" => "%{[content][0]}"}
    add_field => { "year" => "%{[content][1]}"}
  }

#  mutate {

#    gsub => [
#      
#      "year", "\\)", ""
#    ]
#  }


  mutate {
    convert => {
      "year" => "integer"
    }
    strip => ["title"]
    remove_field => ["path", "host","@timestamp","message","content"]
  }



}
output {
   elasticsearch {
     hosts => "http://172.17.0.2:9200"
     index => "movies"
     document_type => "movies"
     document_id => "%{id}"
   }
  stdout {}
}

path => "/usr/share/logstash/config/movies.csv"
这里一定是cvs的绝对路径
document_type => "movies"
elasticsearch 版本 6.X 及之前需要 type字段。

执行导数

进入容器
winpty docker exec -it logstash bash (docker exec -it logstash /bin/bash)
导数
bin/logstash -f ./config/logstash.conf

在这里插入图片描述

三、进入kibana 查看数据

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值