問題タブ [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.
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
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": で始まります。