ELKのシンプルなHello Worldを作成し、インターネット経由でキバナレポートを表示できるようにしています。 kibana、logstash、nginx、elastic searchをインストールしました。これが私の/etc/logstash/conf.d/10-syslog.conf
:
input {
file {
path => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ]
type => "syslog"
}
}
output {
elasticsearch { Host => localhost }
stdout { codec => rubydebug }
}
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{Host}" ]
}
syslog_pri { }
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
インターネットから木花にアクセスできます。ただし、ダッシュボード、視覚化、または検出をクリックするとKibanaでエラーが発生するため、レポートを表示できます。
Index Patterns: Please specify a default index pattern
どのように正確に指定する必要がありますか?とりあえずシンプルにしたい。
Kibanaは「インデックスパターン」を使用して、elasticsearchインデックスに格納されているデータを視覚化します。
Elasticsearch RESTfulエンドポイントをヒットし、次のようにしてインデックスの名前を確認する必要があります
curl -X GET <elasticsearchIP>:<elasticsearchport>/_cat/indices?v
これにより、すべてのインデックスが一覧表示されます。次に、kibanaの下で、[管理]-> [インデックスパターン]-> [インデックスパターンを作成]に移動します。
ここでは、1つ以上のelasticsearchインデックスに一致する正規表現を記述します。たとえば、インデックスが私のように見える場合:
logstash-2018.10.29
logstash-2018.11.14
あなたはlog *と呼ばれるインデックスパターンを書くことができ、それはそれらのlogstashインデックスの両方からのデータを表示するでしょう
Kibana-> Management-> Advanced Settingsに行き、 "defaultIndex"フィールドに入力してください。もちろん、このインデックスはESに存在する必要があります。