1
の作品私は、フィルタのための私のログをこのlogstash設定を使用していません:Logstashフィルタは、任意のlogline
input {
udp {
port => 9600
codec => json
}
tcp {
port => 9600
codec => json
}
}
filter {
mutate { add_field => [ "pod_id", "${POD_ID}" ] }
if [docker.image] =~ /consul/ {
mutate { add_field => [ "image_type", "consul" ] }
}
else if [docker.image] =~ /image86/ {
mutate { add_field => [ "image_type", "image86" ] }
}
else if [docker.image] =~ /traefik/ {
mutate { add_field => [ "image_type", "traefik" ] }
} else {
drop {}
}
}
output {
file {
path => [ "${LOGSTASH_OUTPUT_PATH}/${NODE_ID}/%{image_type}-%{+YYYY-MM-dd}.log" ]
}
}
ログのサンプル行:
{
"@timestamp": "2017-08-16T10:31:24.912Z",
"stream": "stderr",
"port": 58768,
"@version": "1",
"host": "127.0.0.1",
"message": "\"Update /api/v1/namespaces/default/pods/logstash-l0t1l/status\" [638.662326ms] [107.202µs] END",
"pod_id": "logstash-h04h7",
"docker": {
"image": "gcrio.azureedge.net/google_containers/[email protected]:97a2133434e2d3b12afcc19d47c53bf4c3539eb8dab1ece0bc58cc9509",
"hostname": "k8s-master-sdfsd1DC9D-1",
"name": "/traefik_kube-system_0b2942b3e833432463ca0b767977a99e_0",
"id": "fbc8bbbdaf2c3845008fc800a6134e2740eb72f9f705b0720a450a9c2d435c76",
"labels": null
},
"tags": []
}
この1の問題は、すべてのことですメッセージはドロップされ、エンドファイルには何も移動しません。私はlogstashで非常に初心者ですので、私を助けることができます。 logstashフィルタでdocker.image
値にアクセスするには
ありがとうございました:) – doktoric
あなたの問題を解決した場合は、回答を受け入れ可能とマークして、インターネットポイントを受け取るのが楽しいです。B) – baudsp