0
私はsyslogサーバとELKスタックを同じサーバに持っています。 syslogソースごとにディレクトリがあります。 Logstashでsyslogファイルを解析しようとしていますが、 "host"フィールドにsyslogソースのIPアドレスまたはホスト名を保存します。現時点では、Logstashの解析後に0.0.0.0のソースがあります。Logstash keep syslog host
マイlogstash.conf:あなたはそれを解析された後
input {
file {
path => ["path/to/file.log"]
start_position => "beginning"
type => "linux-syslog"
ignore_older => 0
}
}
filter {
if [type] == "linux-syslog" {
grok {
match => {"message" => "<%{POSINT:syslog_pri}>%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:[%{POSINT:syslog_pid}])?: %{GREEDYDATA:syslog_message}" }
}
}
}
output {
elasticsearch {
hosts => ["@IP_Elastic:Port_Elastic"]
}
stdout { codec => rubydebug }
}
あなたの質問は、syslogメッセージは、可能性例Syslogメッセージ – pandaadb
にアップデートしてください: '1月12日午前6時30分00秒1.2.3.4 apache_server:1.2.3.4 - - [12 /月/ 2011:06:29:59 +0100] "GET /foo/bar.html HTTP/1.1" 301 96 " - " Mozilla/5.0(Windows; U; Windows NT 5.1; fr; rv:1.9.2.12)Gecko/20101026 Firefox/3.6.12(.NET CLR 3.5.30729) "PID 18904 Time Taken 0' 私はログのソースIPアドレスまたはログ内のホスト名を持っていませんが、各ソース、これらのディレクトリの名前を使ってLogstashの「ホスト」フィールドを設定したい – ted