[英]How to remove extra timestamp added by logstash for syslog output plugin
我正在使用 logstash 管道將數據提取到 rsyslog 服務器中。
但是管道在開始時添加了額外的時間戳。
示例消息:
9 月 22 日 04:47:20 22-09-2022 05:47:20.875 a7bd0ebd9101-SLOT0 TEST-AWS-ACTIVITY
#011970507 P 201059147698 [FCH-TEST] [35.49.122.49] [TEST-251047********-******] [c713fcf9-6e73-4627-ace9-170e6c72fac5] OUT;P;201059147698;;;;/bcl/test/survey/checkSurveyEligibility.json;ErrorMsg=none;;{"body":{"eligible":false,"surveys":[]},"header":null}
但我沒有獲得從 output 中刪除時間戳的配置。
時間戳已經作為消息的一部分存在,這就是我需要顯示的全部內容。
數據來自安裝在 ECS 容器上的 AWS cloudwatch。
管道配置為:
input { pipeline { address => test_syslog } }
filter {
if [owner] == "1638134254521" {
mutate { add_field => { "[ec_part]" => "AWS_TEST"} }
}
}
output {
#TEST ACTIVITY Logs being sent via TCP to Logreceiver
if [ec_part] == "AWS_TEST" {
syslog {
appname => ""
sourcehost =>""
host => "10.119.140.206"
port => "10514"
protocol => "ssl-tcp"
ssl_cacert => "/etc/logstash/ca.crt"
ssl_cert => "/etc/logstash/server.crt"
ssl_key => "/etc/logstash/server.key"
priority => "info"
rfc => "rfc5424"
codec => plain { format => "%{message}" }
}
}
}
您可以將 Logstash 中的mutate 過濾器與gsub
一起使用,這將在開始時替換日期。
filter {
mutate {
gsub => [
"message", "^\\w{3,4} \\d{2} \\d{2}:\\d{2}:\\d{2}\\s+", ""
]
}
}
PS:我沒有測試過這個配置,但大多數情況下只要稍作改動就可以使用。 您可以根據您的要求和數據更新正則表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.