問題タブ [gelf]

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.

0 投票する
0 に答える
335 参照

nginx - 最初の 8 バイトからの Nginx UDP 負荷分散ハッシュ

私はnginxを使用して、グレーログサーバーのセットの前でロガーのUDPトラフィックを負荷分散しています。GELF のドキュメント ( http://docs.graylog.org/en/2.3/pages/gelf. html

これらの 8 バイト (またはペイロードの最初の 10 バイトのみ) に基づいてメッセージの負荷を分散したいのですが、これらのバイトをハッシュ パラメーターの変数として使用できるように抽出する方法がわかりません。

これはnginxで実行できますか?カスタム変数を定義してトラフィックのルーティングに使用できますか?

http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html

0 投票する
0 に答える
296 参照

docker - '\0' ヌル区切りメッセージの Logstash tcp 入力 (\n なし)

以下の構成で、logstash を使用して、tcp 経由で Gelf ログを解析したいと考えています。私のメッセージ ストリームはヌル バイトで区切られており、\n が含まれていません。残念ながら、設定で config.support_escapes: true を設定した後でも、logstash は区切り文字として \0 を受け入れません。このオプションは、より一般的な \n、\r、\t など専用です。

これらのgelfメッセージからlogstashイベントを生成するために機能するアプローチを知っている人はいますか?

logstash -e 'input { tcp { port => 7777 codec => json_lines { delimiter => "\0" } } } output { stdout{ } }'

メッセージは docker gelf ログ ドライバーによって生成され、次のようになります。 {"version":"1.1","host":"herm-VirtualBox","short_message":"{ counter: 1 } ","timestamp":1515490442.825,"level":6,"_command":"bin/sh -c COUNTER=1;while true; do printf \"{ counter: $COUNTER } \\n\"; COUNTER=$((COUNTER+1)); sleep 1; done","_container_id":"4aa5b8bd52381b005ad9c5d07db8bd71358a16510f16ef9e0f1887b25ac3040b","_container_name":"inspiring_booth","_created":"2018-01-09T09:34:02.506691976Z","_image_id":"sha256:00fd29ccc6f167fa991580690a00e844664cb2381c74cd14d539e36ca014f043","_image_name":"ubuntu","_tag":"4aa5b8bd5238"}

それらは常に {"version": で始まります。