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

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

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

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

OS CentOS 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に転送する設定を追加します。

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

 

上記のログ出力フォーマットは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サーバーに転送したいという場合は

を追記するのではなく、

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

syslogサーバーの設定

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

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

 

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

# systemctl  restart rsyslog

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

# systemctl restart tomcat 

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

 

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

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

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

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

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

コメント投稿

メールアドレスは表示されません。


*