問題タブ [logstash-grok]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - logstash - ログをフィルタリングし、別の Elasticsearch クラスターに送信します
次のようなスタックがあるとしましょう: logstash-forwarder -> logstash -> elasticsearch -> kibana
フィルターに基づいて、logstash-forwarder を使用してディレクトリ全体を監視し、ログを別の Elasticsearch クラスターに送信することは可能でしょうか。使用事例:
ログを同じディレクトリに出力するプログラムがいくつかあります。これらのログには、「プライベート」またはデバッグの 2 種類のメッセージが含まれる場合があります。繰り返しますが、これらのメッセージは同じログファイルに表示されることがあります。特定のファイルに別のタイプを指定し、if でそれらをフィルタリングして別の出力にすることが可能であることを知っています。私が知らないのは、特定のログに複数のタイプのログメッセージが含まれている可能性がある場合に何ができるかです。
それらを分割する方法はありますか?個人情報を含むログメッセージへのアクセスを特定のユーザーに制限したいので、それぞれ独自の Kibana と LDAP を持つ 2 つの異なる Elasticsearch クラスターを考えました。
ブラジル
parsing - grok マッチ パターンの最後の部分は何ですか?
grok マッチング述語で 3 番目の部分を使用する人がいることに気付きました。
最初の 2 が何を意味するかは明らかで、3 番目の部分は結果の明示的な型であると推測できますが、その 3 番目の部分が何であるかの包括的な説明を見つけることができません。
Logstash のドキュメントとGrok のドキュメントの両方をチェックインしましたが、包括的な構文記述の痕跡は見当たりません。
参照はありますか?
更新日:
これが機能し、構文的に正しい例を次に示します。
構成ファイルの場合:
の出力12345
は次のとおりです。
削除すると:float
、次のように変わります
これは、少なくとも logstash v1.4.2 に当てはまります。
logstash - Grokのマルチラインレシピ?
複数行のログメッセージを解析するlogstashにはまだかなり慣れていませんが、まだ少し威圧的ですが、私がやろうとしていること(別名、logstashログの解析)のために、これはかなり試行錯誤されたパターンであり、誰かが実用的な解決策を教えてくれるかもしれません。
基本的に、次のようなエラーがあります。
これは、Kibana ダッシュボードで「ホスト」を数値として使用するのをためらっているようです。私は実際には実際のエラーにはあまり興味がありませんが、これを効果的なログスタッシュのような方法で解析して、Kibana を調べて適切なエラー メッセージを表示できるようにすることに関心があります。
ファイル入力にコーデックを使用する必要があるmultiline { ... }
と思いますが、そのメッセージを見ると、かなり毛むくじゃらに見えます...確かに、私が発明する必要のないことわざの「車輪」がどこかにありますか?
regex - grok regex 解析がログと一致しません。グループをオプションとして指定するが、最後のグループではない場合
例:
情報: 2014-10-28T22:39:46.593Z - 情報: コマンドの処理中にエラーが発生しました: PlaceMarketOrderCommand、xkkdAAGRIl。エラー: 現金が不足しています #userId=5 #orderId=Y5545
パターン:
使用される追加のパターン:
正常に動作します: オプションの last orderId を削除しても動作します
情報: 2014-10-28T22:39:46.593Z - 情報: コマンドの処理中にエラーが発生しました: PlaceMarketOrderCommand、xkkdAAGRIl。エラー: 現金が不足しています #userId=5
しかし、orderId を保持して userId を削除すると、「一致しません」というメッセージが表示されます
情報: 2014-10-28T22:39:46.593Z - 情報: コマンドの処理中にエラーが発生しました: PlaceMarketOrderCommand、xkkdAAGRIl。エラー: 現金が不足しています #orderId=Y5545
また、user_id グループは ? で終わっています。オプションのグループとして..
herokuでgrok デバッガーを使用する場合:
これはバグですか?(logstash 1.4.2) 正規表現で何か不足していますか? (より可能性が高い..しかし、何?)
grokが使用している正規表現ライブラリを調べたところ、この構文が機能するはずです。最後のグループ (orderId) では機能しますが、前のグループでは機能しません..
助けてくれてありがとう!