zoukankan      html  css  js  c++  java
  • logstash 问题集锦 自动重新加载配置


    输入内容中最好不要出现 "type":"...",key为type的json。它会覆盖配置文件中的type。导致type不相等,不执行output es操作。

    比如json:{"type":"123"}

    logstash配置文件为:

    input {
      kafka {
        bootstrap_servers => "111.111.1.1:9092"
        topics => ["test"]
        group_id => "test_group_main"
        client_id => "test_kafka_client_25"
        type => "test_logstash_25"
      }
    }
    
    filter {
      if [type] == "test_logstash_25" {
         json {
          source => "message"
          remove_field => ["message"]
        }
      }
    }
    
    output {
    
      if [type] == "test_logstash_25" { #这里的type值变成了123,取自json。导致不存es库。
        elasticsearch {
          hosts=> ["111.111.11.111:9200"]
          index=> "my_test-%{+YYYY.MM.dd}"
          codec => json
        }
      }
    }

    自动重新加载配置

    为了可以自动检测配置文件的变动和自动重新加载配置文件,需要在启动的时候使用以下命令:

    ./bin/lagstash -f configfile.conf --config.reload.automatic
    1
    默认,检测配置文件的间隔时间是3秒,可以通过以下命令改变

    --config.reload.interval <second>
    1
    如果已经运行了没有提供自动重启的logstash,可以发送一个挂起命令给logstash重新加载配置文件:

    kill -1 <pid>
    1
    配置文件自动重载工作原理

    检测到配置文件变化
    通过停止所有输入停止当前pipline
    用新的配置创建一个新的管道
    检查配置文件语法是否正确
    检查所有的输入和输出是否可以初始化
    检查成功使用新的pipeline替换当前的pipeline,
    检查失败,使用旧的继续工作.
    在重载过程中,jvm没有重启.

    注意事项

    stdin输入插件不支持自动重启.
    syslog作为输入源,当重载配置文件时,会崩溃.请看: https://github.com/logstash-plugins/logstash-input-syslog/issues/40
    ---------------------
    作者:落叶下的光
    来源:CSDN
    原文:https://blog.csdn.net/qq_32292967/article/details/78622647
    版权声明:本文为博主原创文章,转载请附上博文链接!

    启动时加载目录下所有配置文件:配置文件必须要以 config 为后缀。 yml在指定单个可以执行,批量就不认了!!!

    bin/logstash -f ./config/ (bin/logstash -f ./config/*还是启动第一个)

     需要用pipeline.xml


     验证正确性:

    bin/logstash -f first-pipeline.conf --config.test_and_exit

    bin/logstash -f first-pipeline.conf --config.reload.automatic  自动加载

    ./bin/logstash  --path.settings ./bak.config/ 自己设定config目录
  • 相关阅读:
    js_阶乘
    python 最新方案-解决编码错误问题:UnicodeEncodeError: 'ascii' codec can't encode characters in position
    RabbitMQ Python端发送消息给Java端 接受消息全数字问题
    【Hadoop】第六天 Hive
    【Hadoop 】第五天 Hadoop-HA 搭建
    Redis面试常问点
    python md5 salt 摘要算法
    【Hadoop】第四天 Shuffle MapReduce组件全貌
    【Hadoop】第三天 mapreduce的原理和编程
    【Hadoop 】第二天 hdfs的原理和使用操作、编程
  • 原文地址:https://www.cnblogs.com/bigben0123/p/10768124.html
Copyright © 2011-2022 走看看