logstash清洗日志處理

用 date 插件 實現(xiàn)

input {
  beats {
    port => 5044
  }
}

filter {
  # 如果日志是整個 message,需要先用 grok ,也實現(xiàn)從日志中新增字段:logtime、loglevel、appname、pid、traceid
  grok {
    match => { "message" => "%{TIMESTAMP_ISO8601:logtime} \[%{SPACE}%{LOGLEVEL:loglevel}\]\[%{DATA:appname}\]\[%{NUMBER:pid}\]\[(?:%{NUMBER:traceid}|)\]" }
  }

  # 用 date 插件替換 @timestamp
  date {
    match => ["logtime", "ISO8601"]   # 如果是標準 ISO8601 格式
    timezone => "Asia/Shanghai"       # 明確時區(qū)
    target => "@timestamp"            # 默認就是 @timestamp,可以省略
  }

  # 可選:刪除原字段
  mutate {
    remove_field => ["@version", "event", "agent", "hosts"]
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
## 動態(tài)生成索引,這里在filebeat 中使用fields新增可選字段project、env、log_type,這里引用
    index => "%{[fields][project]}-%{[fields][env]}-%{[fields][log_type]}%{+YYYY.MM.dd}"
  }
  stdout { codec => rubydebug }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容