16.5. Syslog を使用した集中ロギング


Red Hat build of Keycloak は、ログをリモート Syslog サーバーに送信する機能を提供します。これは、RFC 5424 で定義されたプロトコルを利用します。

16.5.1. Syslog ハンドラーを有効にする

Syslog を使用してロギングを有効にするには、次のように、アクティブ化されたログハンドラーのリストに Syslog を追加します。

bin/kc.[sh|bat] start --log="console,syslog"
Copy to Clipboard Toggle word wrap

16.5.2. Syslog アプリケーション名の設定

別のアプリケーション名を設定するには、次のように --log-syslog-app-name オプションを追加します。

bin/kc.[sh|bat] start --log="console,syslog" --log-syslog-app-name=kc-p-itadmins
Copy to Clipboard Toggle word wrap

設定されていない場合、アプリケーション名はデフォルトで keycloak になります。

16.5.3. Syslog エンドポイントの設定

集中型ロギングシステムのエンドポイント (host:port) を設定するには、次のコマンドを入力し、値を特定の値に置き換えます。

bin/kc.[sh|bat] start --log="console,syslog" --log-syslog-endpoint=myhost:12345
Copy to Clipboard Toggle word wrap

Syslog ハンドラーが有効になっている場合、ホストはホスト値として localhost を使用します。デフォルトのポートは 514 です。

16.5.4. Syslog ログレベルの設定

Syslog ログハンドラーのログレベルは、次のように --log-syslog-level プロパティーで指定できます。

bin/kc.[sh|bat] start --log-syslog-level=warn
Copy to Clipboard Toggle word wrap

詳細は、上記の 「各ハンドラーのログレベルを指定する」 セクションを参照してください。

16.5.5. Syslog プロトコルの設定

Syslog は通信のデフォルトプロトコルとして TCP を使用します。TCP の代わりに UDP を使用するには、次のように --log-syslog-protocol オプションを追加します。

bin/kc.[sh|bat] start --log="console,syslog" --log-syslog-protocol=udp
Copy to Clipboard Toggle word wrap

使用可能なプロトコルは、tpcudp、および ssl-tcp です。

16.5.6. Syslog ログ形式の設定

ログに記録される行のログ形式を設定するには、次の手順を実行します。

  1. 前述の表を使用して、形式テンプレートを作成します。
  2. 以下のコマンドを入力します。

    bin/kc.[sh|bat] start --log-syslog-format="'<format>'"
    Copy to Clipboard Toggle word wrap

; などの特殊なシェル文字を含むコマンドを呼び出す場合は、CLI を使用して文字をエスケープする必要があります。代わりに、設定ファイルで設定することを検討してください。

例: 完全修飾カテゴリー名を短縮する

bin/kc.[sh|bat] start --log-syslog-format="'%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] (%t) %s%e%n'"
Copy to Clipboard Toggle word wrap

この例では、テンプレートでデフォルトの [%c] の代わりに [%c{3.}] を設定することで、カテゴリー名を 3 文字に短縮します。

16.5.7. Syslog タイプの設定

Syslog は、特定の RFC 仕様に基づいてさまざまなメッセージ形式を使用します。異なるメッセージ形式で Syslog タイプを変更するには、次のように --log-syslog-type オプションを使用します。

bin/kc.[sh|bat] start --log-syslog-type=rfc3164
Copy to Clipboard Toggle word wrap

--log-syslog-type オプションに指定できる値は次のとおりです。

  • rfc5424 (デフォルト)
  • rfc3164

推奨される Syslog タイプは RFC 5424 で、これは BSD Syslog プロトコルとして知られる RFC 3164 に代わるものです。

16.5.8. Syslog の最大メッセージ長の設定

送信可能なメッセージの最大長 (バイト単位) を設定するには、次のように --log-syslog-max-length オプションを使用します。

bin/kc.[sh|bat] start --log-syslog-max-length=1536
Copy to Clipboard Toggle word wrap

長さは、1k1K などの適切な接尾辞を使用してメモリーサイズ形式で指定できます。長さには、ヘッダーとメッセージが含まれます。

長さが明示的に設定されていない場合、デフォルト値は次のように --log-syslog-type オプションに基づいて設定されます。

  • 2048B - RFC 5424 用
  • 1024B - RFC 3164 用

16.5.9. Syslog 構造化出力の設定

デフォルトでは、Syslog ログハンドラーはプレーンな非構造化データを Syslog サーバーに送信します。代わりに構造化された JSON ログ出力を使用するには、次のコマンドを入力します。

bin/kc.[sh|bat] start --log-syslog-output=json
Copy to Clipboard Toggle word wrap

ログメッセージの例

2024-04-05T12:32:20.616+02:00 host keycloak 2788276 io.quarkus - {"timestamp":"2024-04-05T12:32:20.616208533+02:00","sequence":9948,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus","level":"INFO","message":"Profile prod activated. ","threadName":"main","threadId":1,"mdc":{},"ndc":"","hostName":"host","processName":"QuarkusEntryPoint","processId":2788276}
Copy to Clipboard Toggle word wrap

JSON 出力を使用する場合、色は無効になり、--log-syslog-format で設定された形式設定は適用されません。

非構造化ロギングを使用するには、次のコマンドを入力します。

bin/kc.[sh|bat] start --log-syslog-output=default
Copy to Clipboard Toggle word wrap

ログメッセージの例

2024-04-05T12:31:38.473+02:00 host keycloak 2787568 io.quarkus - 2024-04-05 12:31:38,473 INFO  [io.quarkus] (main) Profile prod activated.
Copy to Clipboard Toggle word wrap

ご覧のとおり、タイムスタンプは 2 回存在するため、--log-syslog-format プロパティーを使用して適宜修正できます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat