ユーザー アクセスのログ取得を有効化する方法

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

From Confluence 7.11, access logging (using Apache Tomcat access log valve) is enabled by default, so the information on this page does not apply.


監査のために、管理者では Confluence サイトでどのユーザーが何をしたかを確認する必要がある場合があります。通知はこの目的を実現するための最適な方法ではありません。アプリケーション サーバーではリクエストされた URL を記録することはできますが、ログインしているユーザーを特定することはできません。現時点でログはホストや get メソッドを含まないため、AWStats などの web ログ分析ツールでアクセス可能な形式ではありません。これらのログは手動で確認する必要があります。

Confluence でどのユーザーがどのページにアクセスしているかを示す基本的なログを生成することができます。Confluence の組み込みのアクセス ログ メカニズムを使用して、ユーザーと呼び出された URL を表示できます。これを有効化するには、いくつかの構成ファイルを変更して Confluence を再起動する必要があります。

AccessLogFilter の構成

Confluence のシンプルな AccessLogFilter を confluence/WEB-INF/classes/log4j.properties および confluence/WEB-INF/web.xml から有効化できます。

メモ:

  • アプリケーション全体の web ディスクリプタである $server/conf/web.xml は変更しないでください。これを行っても効果はなく、Confluence が破壊される可能性があります。 
  • IP アドレス、使用されたクライアント、リクエスト メソッドなどのより詳細なアクセス ログについては、以降の「Tomcat Valve Component アクセス ログ」セクションをご参照ください。

ユーザー アクセスのログ記録を有効化する方法

  1. confluence/WEB-INF/classes/log4j.properties で次の行のコメントを解除します。

    log4j.category.com.atlassian.confluence.util.AccessLogFilter=INFO
    
  2. 次の行のコメントを解除する (これらの行が含まれていない場合は追加する) ことで、confluence/WEB-INF/web.xml  でフィルターを有効化します。

    <filter-mapping>
        <filter-name>AccessLogFilter</filter-name>
        <url-pattern>/display/*</url-pattern>
    </filter-mapping>
    
    <filter-mapping>
        <filter-name>AccessLogFilter</filter-name>
        <url-pattern>*.action</url-pattern>
    </filter-mapping>

    *.action パターンは、Confluence のページ ビュー以外のアクションを記録するためにオプションで追加されたものです。たとえば、login.action と指定してユーザー ログインを記録します。URL パターンの組み合わせはすべての URL で動作します。url-pattern フィールドを調整することでパターンをさらに調整できます。

    代替フィルター: トラブルシューティングを行う場合、Confluence へのすべてのアクセスを取得すると役立つ場合が多くあります。これを行うには、前述の設定内容の代わりに confluence/WEB-INF/web.xml で次のフィルター マッピングを使用します。

    <filter-mapping>
       <filter-name>AccessLogFilter</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping>
    
  3. Confluence を再起動します。

既定では、このログ情報は Confluence ホーム ディレクトリの atlassian-confluence.log ファイルに保存されます。アクティビティの数が多い大規模な環境の場合、これらのエントリはアプリケーション ログを素早く飽和させる可能性があるため、ログを別のファイルにパイプすることをおすすめします。詳細については後述の「高度な構成」セクションをご参照ください。

高度な構成

log4j.properties の最初に新しく RollingFileAppender を追加することで、アクセス ログを別のファイルにリダイレクトするように選択できます。

log4j.appender.accesslog=org.apache.log4j.RollingFileAppender
log4j.appender.accesslog.Threshold=DEBUG
log4j.appender.accesslog.File=${catalina.home}/logs/atlassian-confluence-access.log
log4j.appender.accesslog.MaxFileSize=20480KB
log4j.appender.accesslog.MaxBackupIndex=5
log4j.appender.accesslog.layout=com.atlassian.confluence.util.PatternLayoutWithStackTrace
log4j.appender.accesslog.layout.ConversionPattern=%d %p [%t] [%c{4}] %M %m%n

次の行を見つけます。

#log4j.category.com.atlassian.confluence.util.AccessLogFilter=INFO

次のように変更します。

log4j.category.com.atlassian.confluence.util.AccessLogFilter=INFO, accesslog
log4j.additivity.com.atlassian.confluence.util.AccessLogFilter=false

上述の web.xml の url-pattern はページ ビュー (/display/*) にのみマッチします。url-pattern を変更したり、別の種類のアクセスをログするようにフィルターマッピング全体を複製したりすることができます (管理機能については /admin/*、編集および作成については /pages/* など。/pages/editpage.action* は動作しない点にご注意ください)。

記録される情報

ログ ファイルには次の値がスペース区切りで含まれます。

  • スレッド名
  • ユーザー名。ユーザーが存在しない場合は "-"
  • URL
  • リクエスト開始時の VM の空きメモリ (KB 単位)
  • リクエスト完了後の空きメモリの変更量 (KB 単位)
  • リクエストにかかった時間 (ミリ秒単位)
  • リモート アドレス

例:

2008-08-08 10:33:05,359 INFO [atlassian.confluence.util.AccessLogFilter] init AccessLogFilter initialized. Format is: <user> <url> <starting memory free (kb)> +- <difference in free mem (kb)> <query time (ms)> <remote address>
2008-08-08 10:47:27,015 INFO [atlassian.confluence.util.AccessLogFilter] doFilter admin http://localhost:8080/display/ds 42025-154 15 127.0.0.1
2008-08-08 10:47:27,187 INFO [atlassian.confluence.util.AccessLogFilter] doFilter admin http://localhost:8080/display/ds/Confluence+Overview 41805+982 172 127.0.0.1
2008-08-08 10:47:36,296 INFO [atlassian.confluence.util.AccessLogFilter] doFilter admin http://localhost:8080/display/ds/Breadcrumb+demonstration 42102-6660 156 127.0.0.1
2008-08-08 11:08:16,875 INFO [atlassian.confluence.util.AccessLogFilter] doFilter admin http://localhost:8080/display/ds/test+firelite 34362-1616 188 127.0.0.1
2008-08-08 11:47:01,890 INFO [atlassian.confluence.util.AccessLogFilter] doFilter admin http://localhost:8080/display/sand 59711-148 0 127.0.0.1
2008-08-08 11:47:02,171 INFO [atlassian.confluence.util.AccessLogFilter] doFilter admin http://localhost:8080/display/sand/Home 59497-2302 234 127.0.0.1
2008-08-08 11:47:04,500 INFO [atlassian.confluence.util.AccessLogFilter] doFilter admin http://localhost:8080/display/ds/Tasklist 57124+155 1266 127.0.0.1

構成されている log4j パターンによっては、上述のログでは追加の log4j 生成テキストが先行している可能性があります。

その他のアクセス ログ オプション

Google Analytics

Google Analytics can be easily integrated with Confluence for access tracking.

サインアップ後、JavaScript をコピーし、[管理] > [カスタム HTML] の "Before end of <body>" セクションにペーストします。これにより、Confluence が生成するすべてのページに JavaScript が含まれます。

ユーザーがファイアウォールや認証済みのプロキシの背後にいる場合、これは適切に動作しない可能性があります。

For more information on using Google Analytics with Confluence you may wish to refer to this blog post by David Simpson.

Tomcat Access Logs

A robust option is also offered by the Tomcat web server, please see Configure access logs for more information.

注意

  • Path must contain forward slashes '/', not backward slashes.This note is particularly relevant for Windows Users. When configuring the log4j logging options, each backslash in your path must be written as a forward slash. For example, this path:

    c:\confluence\data
    

    これは次のように記載する必要があります。

    c:/confluence/data
    
Last modified on Mar 27, 2021

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.