首页 > 其他分享 >logstash同步文本数据到es

logstash同步文本数据到es

时间:2023-10-26 15:22:06浏览次数:33  
标签:08 myfile localhost file path 文本 logstash es

环境:
OS:Centos 7
ES:6.8.5
logstash:6.8.5

1.准备测试文件

[root@localhost myfile]# pwd
/tmp/myfile
[root@localhost myfile]# more a.log 
111@3334@3333
vvv@aaa@gggg
utri@rtkjr@trtr
4354@5454@654
rerr@78@ffg

 

2.logstash配置文件

[root@localhost config]# more sync_file_to_es.conf 
input {
    file {
        path=> [ "/tmp/myfile/*.log" ]
        start_position => beginning
        stat_interval => 1 #设置多长时间检测文件是否修改 默认是1s
        discover_interval => 15
    }
}

output {
     elasticsearch {
       hosts => ["http://192.168.1.109:19200"]
       user => "elastic"
       password => "elastic123"
       action => "index"
       index => "file_%{+YYYYMMdd}" ##按照时间格式创建index
       ##document_type => "_doc" ##可以不指定,6.8默认是doc
     }
}

 

3.启动

[root@localhost config]# /opt/logstash-6.8.5/bin/logstash -f /opt/logstash-6.8.5/config/sync_file_to_es.conf

启动日志有这么一段输出

[2023-10-26T03:08:15,132][INFO ][logstash.inputs.file     ] No sincedb_path set, generating one based on the "path" setting {:sincedb_path=>"/opt/logstash-6.8.5/data/plugins/inputs/file/.sincedb_f019a9f5e77dadb5d6981e37ca0b16f6", :path=>["/tmp/myfile/*.log"]}
[2023-10-26T03:08:15,230][INFO ][logstash.pipeline        ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<Thread:0x40beb660 run>"}
[2023-10-26T03:08:15,517][INFO ][logstash.agent           ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2023-10-26T03:08:15,577][INFO ][filewatch.observingtail  ] START, creating Discoverer, Watch with file and sincedb collections
[2023-10-26T03:08:16,810][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}

 

 No sincedb_path set, generating one based on the "path" setting {:sincedb_path=>"/opt/logstash-6.8.5/data/plugins/inputs/file/.sincedb_f019a9f5e77dadb5d6981e37ca0b16f6", :path=>["/tmp/myfile/*.log"]}

 

若想删除之前的索引重新同步的话需要将sincedb文件删除掉,否则之前同步过的文件数据不会同步了。

 

4.查看同步的数据

 

[root@localhost ~]# curl -u elastic:elastic123 -H "Content-Type: application/json" -XGET '192.168.1.109:19200/file_20231026/_search?pretty' -d '
> {
> "query": { "match_all": {} }
> }'
{
  "took" : 5,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 5,
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "file_20231026",
        "_type" : "doc",
        "_id" : "iJDQaosBHfZiQDCXAfRs",
        "_score" : 1.0,
        "_source" : {
          "@version" : "1",
          "@timestamp" : "2023-10-26T07:08:17.322Z",
          "host" : "localhost.localdomain",
          "message" : "111@3334@3333",
          "path" : "/tmp/myfile/a.log"
        }
      },
      {
        "_index" : "file_20231026",
        "_type" : "doc",
        "_id" : "i5DQaosBHfZiQDCXAfRs",
        "_score" : 1.0,
        "_source" : {
          "@version" : "1",
          "@timestamp" : "2023-10-26T07:08:17.408Z",
          "host" : "localhost.localdomain",
          "message" : "4354@5454@654",
          "path" : "/tmp/myfile/a.log"
        }
      },
      {
        "_index" : "file_20231026",
        "_type" : "doc",
        "_id" : "iZDQaosBHfZiQDCXAfRs",
        "_score" : 1.0,
        "_source" : {
          "@version" : "1",
          "@timestamp" : "2023-10-26T07:08:17.394Z",
          "host" : "localhost.localdomain",
          "message" : "vvv@aaa@gggg",
          "path" : "/tmp/myfile/a.log"
        }
      },
      {
        "_index" : "file_20231026",
        "_type" : "doc",
        "_id" : "ipDQaosBHfZiQDCXAfRs",
        "_score" : 1.0,
        "_source" : {
          "@version" : "1",
          "@timestamp" : "2023-10-26T07:08:17.407Z",
          "host" : "localhost.localdomain",
          "message" : "utri@rtkjr@trtr",
          "path" : "/tmp/myfile/a.log"
        }
      },
      {
        "_index" : "file_20231026",
        "_type" : "doc",
        "_id" : "jJDQaosBHfZiQDCXAfRs",
        "_score" : 1.0,
        "_source" : {
          "@version" : "1",
          "@timestamp" : "2023-10-26T07:08:17.409Z",
          "host" : "localhost.localdomain",
          "message" : "rerr@78@ffg",
          "path" : "/tmp/myfile/a.log"
        }
      }
    ]
  }
}

 

可以看到es不会对文本内容进行分割,它是一整行进行存储到message字段的。 

 

标签:08,myfile,localhost,file,path,文本,logstash,es
From: https://www.cnblogs.com/hxlasky/p/17789492.html

相关文章

  • Unity Addressable资源管理方案实战详解
    Unity推出了全新的Addressable的资源管理方案, 全网一夜间觉得不用Addressable感觉自己的资源管理方案会低一个档次,本节我们将详细的分析Addressable资源管理系统。本节主要从以下3个点来进行分析:(1) Addressable的本质是什么?AssetsBundle是否过时了?(2) Assetsbundle使用实......
  • 从Docker到Kubernetes
    1简介1.1什么是容器传统的虚拟化技术,比如VMWare,目标是创建完整的虚拟机。为了运行应用,除了部署应用本身及其依赖(通常几十MB),还得安装整个操作系统(几十GB)。如图所示,由于所有的容器共享同一个HostOS,这使得容器在体积上要比虚拟机小很多。另外,启动容器不需要启动整个操作系......
  • 动态库加载失败:error while loading shared libraries: xxx.so: cannot open shared o
    lddmain|grepnot由0.1动态库的工作原理可知,只要把动态库libcalc.so的绝对路径添加到动态载入器ld-linux.so的搜索路径中,那么动态载入器就可以获取到动态库libcalc.so的绝对路径,接着就可以找到动态库文件libcalc.so,将动态库文件载入内存,然后就可以使用动态库里面的代码,最终可......
  • c# Winform中如何把图片添加到resources中
    我们在Winform项目中中需要插入图片资源,但是新建的项目中找不到Resources文件夹,怎么才能出现呢?1:双击项目下的Resources.resx,出现视图2:单击"添加资源",选择"添加现有文件",找到你要添加的图片,确定之后保存就可以了3:这时候你会发现视图中出现添加的图片,解决方案......
  • 管理员|顾问必看!8个Salesforce权限集的最佳实践
    Salesforce中的权限一直始终是热门话题。权限集是简档的附加。它们通常具有相同的设置,用于增加用户的权限,使其超过简档提供的权限。可以将简档视为许多用户共有的基本权限集,而权限集是部分用户需要的额外权限。本篇文章将介绍Salesforce权限集的使用,以及如何利用Salesforce及其......
  • esp32笔记[9]-rust的串口收发及GCODE解析
    摘要使用rust在no-std环境下实现esp32-c3串口收发及gcode解析.平台信息esp32c3rust超链接esp32笔记[7]-使用rust+zig开发入门使用rust实现串口中断示例代码:serial_interrupts.rs//!ThisshowssomeoftheinterruptsthatcanbegeneratedbyUART/Serial.//!Us......
  • 敏捷or瀑布: Salesforce项目应该选哪一个?
    在项目管理方法和框架不断扩展的世界中,敏捷和瀑布是两种最著名的项目管理方法。它们在Salesforce实施中都很流行,但各自适合不同类型的项目。选择正确的方法将直接影响到项目的预算、日程安排和有效执行,对Salesforce项目的成功至关重要。敏捷和瀑布的定义01敏捷模型敏捷将项......
  • Django + celery + django-celery-result + django-celery-beat 实现定时任务
    1.库版本celery5.3.4Django4.2.6django-celery-beat2.5.0django-celery-results2.5.1django-timezone-field6.0.1eventlet0.33.3flower2.0.1redis3.5.3项目名称:new_project2.set......
  • Kubernetes 100个常用命令
    转载https://mp.weixin.qq.com/s/pWj-ni5fuHLaK2AR-4gqqQ100个Kubectl命令,这些命令对于诊断Kubernetes集群中的问题非常有用。这些问题包括但不限于:• 集群信息• Pod诊断• 服务诊断• 部署诊断• 网络诊断• 持久卷和持久卷声明诊断• 资源......
  • 「题解」Codeforces Round 905 (Div. 3)
    before终于有一篇题解是一次性更所有题的了。A.MorningProblemA.MorningSol&Code根据题意模拟即可。#include<bits/stdc++.h>typedeflonglongll;intmin(inta,intb){returna<b?a:b;}intmax(inta,intb){returna>b?a:b;}intT;int......