代码之家  ›  专栏  ›  技术社区  ›  Karn Kumar

删除logstash配置文件中不需要的字段

  •  0
  • Karn Kumar  · 技术社区  · 6 年前

    我正在构建一个ELK设置,它运行良好,但是我正在进入这样一种情况,我希望在处理过程中从系统日志数据中删除某些字段。 logstash 喜欢 remove_field 和; remove_tag 我已经在我的logstash配置文件中定义了它,但它不起作用。

    寻找任何尊重和专家建议,纠正配置,使其运行,非常感谢在高级。

    我的logstash配置文件:

    [root@sandbox-prd~]# cat /etc/logstash/conf.d/syslog.conf
    input {
      file {
        path => [ "/data/SYSTEMS/*/messages.log" ]
        start_position => beginning
        sincedb_path => "/dev/null"
        max_open_files => 64000
        type => "sj-syslog"
     }
    }
    
    filter {
      if [type] == "sj-syslog" {
        grok {
          match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp } %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
          add_field => [ "received_at", "%{@timestamp}" ]
          remove_field => ["@version", "host", "_type", "_index", "_score", "path"]
          remove_tag => ["_grokparsefailure"]
        }
        syslog_pri { }
        date {
          match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
      }
     }
    }
    output {
            if [type] == "sj-syslog" {
            elasticsearch {
                    hosts => "sandbox-prd02:9200"
                    manage_template => false
                    index => "sj-syslog-%{+YYYY.MM.dd}"
                    document_type => "messages"
      }
     }
    }
    

    出现在Kibana门户上的数据示例

    syslog_pid:6662 type:sj-syslog syslog_message:(root) CMD (LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok) syslog_severity:notice syslog_hostname:dbaprod01 syslog_severity_code:5 syslog_timestamp:Feb 11 10:25:02 @timestamp:February 11th 2019, 23:55:02.000 message:Feb 11 10:25:02 dbaprod01 CROND[6662]: (root) CMD (LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok) syslog_facility:user-level syslog_facility_code:1 syslog_program:CROND received_at:February 11th 2019, 10:25:03.353 _id:KpHo2mgBybCgY5IwmRPn _type:messages
    _index:sj-syslog-2019.02.11 _score: -
    

    我的资源详细信息:

    操作系统版本 Linux 7

    Logstash版本 :5.5.4

    1 回复  |  直到 6 年前
        1
  •  2
  •   leandrojmp    6 年前

    您不能删除 _type _index ,这些是ElasticSearch工作所需的元数据字段,它们包含有关索引名和数据映射的信息,以及 _score 字段也是一个元数据字段,在搜索时生成,它不在您的文档中。