Logstash cheat sheet: Difference between revisions

Line 119: Line 119:


==== Filebeat 設定 ====
==== Filebeat 設定 ====
(クライアント側はリリースされてパッケージが出たら作業する)
:1.0.0-beta4 でちょっと動かしてみたら、LSF でよくあった証明書問題にひっかかるようだ。コードをみたら tls なんかまだおかしい気がするのでもう少し様子見したほうが良さそう。(insecure: true にしているのに InsecureSkipVerify がちゃんと設定されてない?)
:やっぱり insesure option がうごいてなかった。 [https://github.com/elastic/libbeat/issues/238 TLS insecure option is ignored for logstash · Issue #238 · elastic/libbeat]
:1.0.0-rc1 まで待つ...1.0.0-rc1 出たが...動かない...configかなりかわってる...LSFマイグレーションガイドはほぼ無かったことになってる...
::shipper: セクション書くとうごいた...とりあえずテストする。
:LSF 互換性が微妙(違うものであるからこれで良いのかもしれないが、違いを押さえておきたい)
::LSF ではある host field がない。その代わり shipper field がある。また、file field が source field になってる。とりあえず issue あげといた。
::offset field の mapping が long になってる。logstash 側で対処してみた。
:1.0.0-rc2 ではドキュメントの整備、ログ情報の充実、shipper filed が beat.name, beat.hostname へ等々。
::issue で粘ってるが、LSF 互換の host field は beat.hostname で代用しろという事になりそう。(このままでリリースされたら混乱するとおもうんだけどねぇ)
:logstash-input-beats 側で取り込まれた。https://github.com/logstash-plugins/logstash-input-beats/pull/28/files
:: logstash-input-beats 2.0.2 で対応。とのことだが動いなさそう。確認する。logstash-input-beats 2.0.3 でもダメだった。私の環境がおかしいのか???
:1.0.0-GA にむけて ignore_older が 10m から 24h に変更された。よかった!
'''logstash-input-beats がちゃんとうごくまでは logstash filter で LSF 互換を保つ'''
<syntaxhighlight lang="javascript" enclose="div">
filter {
  # For Beat and LSF compatibility                                                                                           
  if [beat][hostname] {
    if ![host] {
      mutate {
        add_field => {
          "host" => "%{[beat][hostname]}"
        }
      }
    }
    if [source] {
      if ![file] {
        mutate {
  add_field => {
            "file" => "%{source}"
          }
        }
      }
    }
  }
}
</syntaxhighlight>
'''filebeat.yml 例'''
'''filebeat.yml 例'''
<syntaxhighlight lang="yaml" enclose="div">
<syntaxhighlight lang="yaml" enclose="div">
Line 172: Line 133:
       input_type: log
       input_type: log
       document_type: syslog
       document_type: syslog
      # default value 10m is too short.
      ignore_older: 24h
       fields_under_root: true
       fields_under_root: true


Line 181: Line 140:
       input_type: log
       input_type: log
       document_type: apache
       document_type: apache
      # default value 10m is too short.
      ignore_older: 24h
       fields_under_root: true
       fields_under_root: true


Line 190: Line 147:
       input_type: log
       input_type: log
       document_type: apache-other-vhost
       document_type: apache-other-vhost
      # default value 10m is too short.
      ignore_older: 24h
       fields_under_root: true
       fields_under_root: true


Line 199: Line 154:
       input_type: log
       input_type: log
       document_type: apache-error
       document_type: apache-error
      # default value 10m is too short.
      ignore_older: 24h
       fields_under_root: true
       fields_under_root: true


Line 208: Line 161:
       input_type: log
       input_type: log
       document_type: dpkg
       document_type: dpkg
      # default value 10m is too short.
      ignore_older: 24h
       fields_under_root: true
       fields_under_root: true