Shibboleth IdPのログをsyslogサーバーに転送する

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

こんにちは。サイオステクノロジーの小川です。

Shibboleth IdPのログをsyslogサーバーに転送したいという要望があり、調査したので備忘録としてその設定を方法を紹介します。

今回の検証で利用した環境は以下になります。

OSCentOS 7.7
ミドルウェアApache 2.4.6
Apache tomcat 9.0.30
Open JDK 11.0.5
Shibboleth IdP 3.4.6
rsyslog 8.24.0

 

Shibboleth IdPサーバーの設定

Shibboleth IdPのログ出力の設定を行っているファイルは/opt/shibboleth-idp/conf/logback.xmlになります。ここにsyslogに転送する設定を追加します。

設定項目の説明は以下になります。

    <appender name="名前を設定 " class="ch.qos.logback.classic.net.SyslogAppender">
        <syslogHost>syslogサーバーのホスト名/IP</syslogHost>
        <port>syslogサーバーのポート番号</port>
        <facility>ファシリティ</facility>
        <suffixPattern>ログ出力フォーマット</suffixPattern>
    </appender>

 

    <root level=”ログレベル”>
        <appender-ref ref=”appenderで指定した名前” />
    </root>

上記のログ出力フォーマットはShibboleth IdPの標準出力のログと同じ形式で出力する設定になります。

<suffixPattern>%mdc{idp.remote_addr} – %level [%logger:%line] – %msg%n%ex{short}</suffixPattern>の出力ログ

suffixPatternのデフォルトとなっているフォーマットは以下となっています。

<suffixPattern>[%thread] %logger %msg</suffixPattern>

上記の出力ログは以下のように代わります。ログレベルの表示がなくなります。

Syslogサーバーでファシリティとそのログの保存先を指定してあげれば、Shibboleth IdPの動作ログ(idp-process.log)を転送することができます。また送信ログ(idp-audit.log)をsyslogサーバーに転送したいという場合は

    <root level="INFO">
        <appender-ref ref="SYSLOG" />
    </root>

を追記するのではなく、

    <logger name="Shibboleth-Audit" level="ALL">
        <appender-ref ref="${idp.audit.appender:-IDP_AUDIT}"/>
    </logger>

に<appender-ref ref=”SYSLOG” />を追記します。

    <logger name="Shibboleth-Audit" level="ALL">
        <appender-ref ref="${idp.audit.appender:-IDP_AUDIT}"/>
        <appender-ref ref="SYSLOG" />
    </logger>

syslogサーバーの設定

Syslogサーバー側の設定は通信ポート514をUDPで受け付け、logback.xmlで設定したファシリティと出力ログレベルを設定し、出力先ファイルを指定します。

今回は/var/log/rsyslog.logに転送されたログを出力します。

 

設定を変更したら再起動します。

# systemctl  restart rsyslog

tomcatを再起動しShibboleth IdPのログがsyslogサーバーに出力されていることを確認します。

# systemctl restart tomcat 

出力先に指定したファイルが作成されログが転送されていることが確認できました。

 

以上、Shibboleth IdPのログをsyslogサーバーに転送する設定でした。

アバター画像
About 小川雄大 27 Articles
IDaaSプロジェクトを担当。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる