2017-12-01 2 views
0

次のフィルタで失敗します。指定された構成は無効です。理由:最後に「/」がないため、行23、列1(バイト308)の/、/、いずれかの文字が予想されます。 /path/である必要があります。 logstashは/ pathの後ろのすべてを "/"で終わらないと正規表現の一部として解釈しているようです。誰かがlogstashの=〜演算子について説明できますか?

filter { 
    if [message] =~ /path { 
     drop { } 
    } 
} 
  1. 私が知っている/パスは、/正規表現ですが、前方には、この場合のためにスラッシュ何ですか?
  2. 私のパターンは、/ pathが入っているログ行に一致しますか?

残念ながらofficial docsに何も見つかりませんでした。

答えて

1

2つの間にあるもの/はパターンで、/はデリミタにすぎず、残りの設定とパターンを区切ります。

[message] =~ /path/がある場合、フィールドメッセージに文字列pathが含まれているかどうかを確認します。 /pathと一致させるには、/\/path/を使用する必要があります。

+0

Thx。それはどこに書かれていますか? – kev

+0

@kev明示的ではありません。しかし、私はlogstash設定のいくつかの例を見たかもしれないので、私はそこでそれを理解したと思う。 '/'の間に正規表現パターンを書く方法も他の場​​所にあります(https://en.wikipedia.org/wiki/Regular_expression#Delimitersを参照してください、それはsedと多分他のものと一緒に使われます)。 – baudsp

関連する問題