V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
monway
V2EX  ›  数据库

关于 logstash 配置问题

  •  
  •   monway · 2017-12-26 10:27:49 +08:00 · 936 次点击
    这是一个创建于 2305 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想从本地的文件中使用 logstash 导入 ElasticSearch 中,文件格式如下

    [email protected]	aaaaaaa
    [email protected]	aaaaaaa
    [email protected]	bbbbbbbb
    [email protected]	bbbbbbb
    

    我想根据每行两个字段,一行一条数据。请问该如何写 logstash 的 filter 呢?

    5 条回复    2017-12-27 10:52:12 +08:00
    wayne1007
        1
    wayne1007  
       2017-12-26 13:41:42 +08:00
    logstash 的 filter 支持正则表达式
    mason961125
        2
    mason961125  
       2017-12-26 13:50:04 +08:00
    下面三个 QQ 都试了下,都是存在的。
    badttt
        3
    badttt  
       2017-12-26 18:45:33 +08:00
    这种类型数据建议使用 dissect,不要用 gork
    Terenc3
        4
    Terenc3  
       2017-12-27 00:11:43 +08:00
    1. 用 filebeat 读取文件,然后丢给 logstash 处理:

    ```

    - input_type: log
    paths:
    - [your file path here]
    tags: email_analysis

    output.logstash:
    hosts: ["your logstash host here"]

    ```


    2. logstash 用 grok 处理完成后存到 elasticsearch 或其他地方:

    ```

    filter {
    if "email_analysis" in [tags] {
    grok {
    match => { "message" => "%{NOTSPACE:username}\@%{NOTSPACE:mail_host}%{SPACE}%{NOTSPACE:your_patterns}" }
    }
    }
    }

    ```


    3. 这是 elasticsearch 的配置:

    ```

    output {
    if "email_analysis" in [tags] {
    elasticsearch {
    hosts => ["es6-node1.t.com:9200"]
    manage_template => false
    index => "your-index"
    }
    }
    }

    ```
    monway
        5
    monway  
    OP
       2017-12-27 10:52:12 +08:00
    @Terenc3 非常感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1202 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:20 · PVG 07:20 · LAX 16:20 · JFK 19:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.