問題タブ [logstash-forwarder]
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.
logstash - logstash サーバー マシンで glob を使用していますか?
logstash 用に別のサーバーがあり、ログはリモート マシンにあります。logstash 用の lumberjack のプラグインを使用して、これらの同じログをリモート マシンから logstash サーバーに送信します。
私はこれを試しました:
クライアント構成 (ログが存在する場所):
ファイル入力のパス変数からフィールドを抽出したいので、それに応じて異なるフィールド値に対して異なる解析パターンを適用できます。
例:こんな感じ
ここでサーバー、ログタイプは、フィールドに次のようなさまざまな解析パターンを適用するディレクトリ名です。
ファイル入力は、パスからフィールドを抽出したいクライアントマシン上にあるため、logstash-server構成に上記を適用するにはどうすればよいですか???
Lumberjack はログをサーバーに正常に送信します。クライアントにgrokを適用してみました:
サーバー、ログタイプなどのフィールドをログに追加するクライアント コンソールを確認しましたが、logstsh-server コンソールではフィールドが追加されません。
上記を達成するにはどうすればよいですか????
logstash - logstash 日付形式、データを取得しない
こんにちは、以下は centos6 logstash サーバーでの私の構成です。私はlogstash 1.4.2とelasticsearch 1.2.1を使用しています。/var/log/messages および /var/log/secure からログを転送していますが、時刻の形式は「Sep 1 22:15:34」です。
1.input.conf
2.filter.conf
3.output.conf
以下は、すべてのクライアントサーバーのlogstash-forwarder confです
これが問題です。EDT、NDT、NST、NPT などのタイムゾーンが異なる 5 つのサーバーからログを転送しています。logstash_server のタイムゾーンは NPT (ネパール時間) [UTC + 5:45] です。
以下を与えるすべてのサーバー
これは良いと思いますが、タイムゾーンNPTを持つ1つだけがログを転送しており、キバナで見ることができます。他のすべての人は上記のログをくれましたが、キバナで見ることができません。別のサーバーからの日付を解析できないため、問題はDATEにあると思います。また、logstash にエラーを示すログはありません。
この場合、どうすれば問題を解決できますか?
logstash-grok - logstash で直面しているエラー
logstash で Apache Tomcat とアプリケーション ログ ファイルを解析するためのパターンを定義すると、次のエラーが発生します。サンプル ログ ファイルは次のとおりです。
設定ファイルは次のとおりです。
日付 {:level=>:error} の不明な設定 'timestamp'
load-balancing - Logstash をスケールアウトし、ロードのバランスをとるより良い方法は?
質問の元: https://groups.google.com/forum/#!topic/logstash-users/cYv8ULhHeE0
以下の logstash スケール アウト戦略を比較すると、トラフィックと CPU の負荷が分散されている場合、tcp ロード バランサーは最高のパフォーマンスを発揮します。ただし、logstash-forwarder <-> logstash tcp 接続の性質上、常にトラフィックのバランスをとるのは難しいようです。logstash ノード全体でトラフィック/CPU 負荷のバランスをより良くするためのより良いアイデアを思いついた人はいますか? アドバイスをありがとう:)
<私のシナリオ>
- ログを中央のlogstashノード(クラスター)に転送するlogstash-forwarderを備えた10以上のサービスノード
- 各サービスノードのログ平均スループット、スループットの日次分布、ログタイプのフィルターの複雑さは大きく異なります
- ログの平均スループット: 例 service_1: 0.5k イベント/秒; service_2: 5k イベント/秒
- スループットの毎日の分布: たとえば、service_1 のピークは朝、service_2 のピークは夜
- ログ タイプのフィルターの複雑さ: 単一の logstash ノードの CPU を 100% 消費することにより、service_1 のログ タイプは 300 イベント/秒で処理できますが、service_2 のログ タイプは 1500 イベント/秒です。
<TCPロードバランサ>
tcp 接続は logstash-forwarder と logstash の間で永続化されるため、最終的に tcp 接続量がすべての logstash ノード間で最小の接続、最小の負荷によってバランスが取れているか分散されているかどうかを意味します。トラフィック/CPU 負荷がすべての logstash ノード間でバランスが取れていることを保証するものではありません。私のシナリオによると、各 tcp 接続のトラフィックは、時間の経過とともに毎日の平均で変化し、それはイベントの複雑さです。したがって、さらに悪いケースとして、logstash_1 と logstash_2 の両方に 10 の tcp 接続があるとしますが、logstash_1 の接続にはより高いトラフィックと複雑なイベントが含まれているため、logstash_1 の CPU 負荷は logstash_2 の 3 倍になる可能性があります。
< 手動で logstash-forwarders を logstash に割り当てる >
過去の日次平均トラフィックに基づいて負荷分散を計画できるため、TCP ロード バランサと同じ状況に直面する可能性がありますが、時間の経過とともに変化し、もちろん HA はありません。
< メッセージキュー >
アーキテクチャとして: logstash-forwarder を使用したサービス ノード -> キューアー: ウサギのログスタッシュへ -> インデクサー: ウサギのログスタッシュと ElasticSearch へ
- すべてのノードで、キュー ブローカーとの間でメッセージを送受信する際の CPU オーバーヘッドの約 30%。
ruby-on-rails-3 - Logstasher+Kibana : メッセージが二重引用符で囲まれ、解析が困難
私はこのスタックを使用します:
- 各フロントサーバー上
- レール
- logstasher gem (Rails ログを json でフォーマット)
- logstash-forwarder (ログを中央サーバーの logstash に転送するだけ)
- ログサーバー上:
- logstash (ログを一元化し、インデックスを作成するため)
- 表示するキバナ
Kibana は JSON 形式でうまく動作します。ただし、「メッセージ」データは、json としてではなく、文字列によって提供されます (提供されたスニペットを参照)。これを修正する方法はありますか?たとえば、ステータスへのアクセスは少しトリッキーです
メッセージサンプルはこちら
ご協力ありがとう御座います ;)。
編集 1: logstash 構成ファイルを追加します。
/etc/logstash/conf.d/01-lumberjack-input.conf
/etc/logstash/conf.d/10-syslog.conf
/etc/logstash/conf.d/30-lumberjack-output.conf
有用な場合、logstash-forwarder 構成:
/etc/logstash-forwarder
Web サーバー上
私の設定ファイルは主にこのチュートリアルから着想を得ています: https://www.digitalocean.com/community/tutorials/how-to-use-logstash-and-kibana-to-centralize-and-visualize-logs-on-ubuntu- 14-04
elasticsearch - logstash フォワーダーでパス情報を送信する方法
Logstash フォワーダーが、logstash サーバーとは別のホストで実行されています。ここで、logstashforwarder がログを読み取った場所からファイルの正確なパス情報を送信したいと考えています。これを行う方法はありますか..以下は私のlogstash-forwarder設定ファイルです
上記のように、*.log を使用してすべてのエラー ログ ファイル (error.log、process.log など) を含めました。今、ログとともにファイル名をlogstashサーバーに送信したいと考えています。
elasticsearch - logstash - ログをフィルタリングし、別の Elasticsearch クラスターに送信します
次のようなスタックがあるとしましょう: logstash-forwarder -> logstash -> elasticsearch -> kibana
フィルターに基づいて、logstash-forwarder を使用してディレクトリ全体を監視し、ログを別の Elasticsearch クラスターに送信することは可能でしょうか。使用事例:
ログを同じディレクトリに出力するプログラムがいくつかあります。これらのログには、「プライベート」またはデバッグの 2 種類のメッセージが含まれる場合があります。繰り返しますが、これらのメッセージは同じログファイルに表示されることがあります。特定のファイルに別のタイプを指定し、if でそれらをフィルタリングして別の出力にすることが可能であることを知っています。私が知らないのは、特定のログに複数のタイプのログメッセージが含まれている可能性がある場合に何ができるかです。
それらを分割する方法はありますか?個人情報を含むログメッセージへのアクセスを特定のユーザーに制限したいので、それぞれ独自の Kibana と LDAP を持つ 2 つの異なる Elasticsearch クラスターを考えました。
ブラジル
elasticsearch - Logstash-forwarder マシンの IP アドレスの取得
システムに Elasticsearch、Logstash、Kibana ログ表示ツールをセットアップしました。現在、私の構成には 2 台のマシンがあります (Amazon EC2 インスタンス):
- 54.251.120.171 - ELK がインストールされている Logstash サーバー
- 54.249.59.224 - Logstash-forwarder - 「/var/logs/messages」ログを Logstash-server に送信します
logstash-server では、これは私の構成 (異なるファイル内) のように見えます:-
logstash-forwarder では、これが私の構成ファイルのようです。/var/log/messages、/var/log/secure ログを logstash-server に転送します
これは、Elasticsearch からインデックス付きログを取得した後の Kibana インターフェースの外観です。
私の質問は、ログ イベントが発生した場合に備えて、logstash-forwarder の IP アドレス、つまり 54.249.59.224 を取得する方法が必要です。
私がこれを尋ねている理由は、実際のシナリオです。多くのログスタッシュ フォワーダー (たとえば 10) があり、その 10 個すべてがログをログスタッシュ サーバーに送信している可能性があります。そのため、どの logstash-server がどのログ イベントを送信したかを識別できるように、何らかの方法ですべてのログ イベントにタグを付ける必要があります。
Kibana インターフェイスでログ イベントを検索するには、IP アドレス (おそらく他の情報も) を使用する必要があります。
誰かがこれを行うのを手伝ってもらえますか? :)
または、誰かがこれを別の方法で効果的に行う方法についてより良いアイデアを持っている場合は、大歓迎です!
ruby - logstash の健全性の監視
logstash を使用して大量のイベントをブローカーに送信します。ヘルス ステータスをチェックするためにブローカーを監視していますが、失敗したプロセスの兆候がある場合、logstash プロセスが正常であるかどうかを確認する方法について多くの情報を見つけることができません。
logstash を使用している方に興味がありましたが、どのような方法で監視していますか?