問題タブ [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.
docker - ポッドごとに Kubernetes から GELF UDP エンドポイントにログを送信する方法
最近 kubernetes の使用を開始し、集中ログを構成する方法を検討しています。ほとんどのポッドでは、アプリケーション自体が直接 GELF エンドポイント (logstash) にログを記録しますが、ログを取得する必要がある「管理」ポッドもいくつかあります。
以前、Docker Swarm を使用していたときは、ログ ドライバー (および関連する構成) を構成ファイルに追加するだけでした。ただし、Kubernetes にはそのオプションがないようです。
Fluentd を使用して /var/log/containers から直接ログを読み取ることを検討しましたが、ここでいくつかの問題に遭遇しました。
どの Pod を logstash に記録するかを指定する簡単な方法はないようです。フィルターなどを作成できると思いますが、これは今後はあまり保守できないようです。個々のポッドで注釈を使用する方が賢明なようです。
/var/log/containers のログは、GELF ではなく、json ファイルのログ形式です。
kubernetes で組み込みの Docker ログ ドライバーをポッドごとに使用して、GELF エンドポイントに簡単にログを記録する方法はありますか?
logstash - Monlog からの Logstash とネストされた JSON。配列が JSON 文字列に変換されるのはなぜですか?
私はMonologでPHPを使用しています。ログを JSON ファイルに出力し、Gelf を Logstash に使用して、ログを ElasticSearch に送信しています。
私が抱えている問題はextra
、Kibana にオブジェクトがなく、tags
フィールドがネストされたオブジェクトではなく文字列として解釈されることです。
Logstash/Kibana を納得させる方法があるので、内部の JSON フィールドは JSON 文字列ではなくフィールド/オブジェクトとして解析されますか?
Kibana ではこのように表示されます。
私のログは次のようになります。
私のlogstash conf:
私のモノログ設定:
GelfMessageFormatter
編集:これまでのところ、これは配列をJSONに変換することによって引き起こされるということが私の発見です:
netcat
ネストされた JSON と一緒に使用される場合。
その後、Kibana のデータは問題ないように見えます
java - de.siegmar.logbackgelf.GelfUdpAppender から graylog への TraceId
ログをグレーログにプッシュするためにde.siegmar.logbackgelf.GelfUdpAppenderを使用していますが、TraceId がグレーログに入っていません。
入れてみました
ただし、tracId の代わりに、%X{X-B3-TraceId:-}が出力されます。
logging - graylog ログを別の graylog に出力する
Graylog サーバーから別のサーバーにすべてのログを出力しようとしています。これを複数のサーバーから同じサーバーに作成したいと思います(どのログがどのサーバーから来たかを追跡するためにそれらを分類します)
誰かが私がそれを行う方法について考えを持っていますか?