大まかな機能

  • 管理者向けの機能
    • admin/audit-log でアクセス
  • 収集する activity
  • テーブルで activity document を列挙
  • 検索
    • username
    • from, to を指定して、特定の時間帯の検索
    • 特定の action
  • json で export
  • 保存する Activity を管理者が制限できる
    • inAppNotification との兼ね合いを考える必要がある

詳細仕様

AuditLog 機能自体の ON/OFF 機能

  • 環境変数を入れて ON / OFF できる
  • 環境変数名: AUDIT_LOG_ENABLED
  • デフォルトは OFF
    • AuditLog 機能の存在を知らずに、Activity を取られたくない
    • GROWI の管理者が明示的に ON にする必要がある
    • 通知機能に必要な Activity は収集する
  • メモ
    • generateConfigsForInstalling
    • AuditLogEnabled

Activity の保持期間

  • 保持期間を過ぎた activity は自動的に削除される
  • 環境変数に保持期間の秒数を入れる
    • デフォルトは2592000 秒(1ヶ月, 30日)
    • 変更した場合は再起動必須
    • UI からは保持期間の変更はできない
  • 環境変数名: ACTIVITY_EXPIRATION_SECONDS
  • UI
    • 設定画面から有効期限を表示する 

収集する Activity を action ごとに選択できる機能

  • 収集する action は下記のグループ名に示す3種類のグループに分かれており、いずれかの値を環境変数に入れる(デフォルトは SMALL)
    • 環境変数名: AUDIT_LOG_ACTION_GROUP_SIZE
    • グループ名
      • SMALL (ログイン・ログアウト・ページ作成・ページ削除 + 通知を行う action)
      • MEDIUM (SMALL + 一般ユーザーによる操作全部 - ページ閲覧 + 通知を行う action)
      • LARGE (MEDIUM + 管理ユーザーによる操作全部 + ページ閲覧 + 通知を行う action)
  • AuditLog 機能が ON になった段階で上記で指定したグループが適用される
  • ACTION_GROUP に含まれていない action を個別に選択する
    • 環境変数名: AUDIT_LOG_ADDITONAL_ACTIONS
    • 使用例(action 名をカンマ区切りで入れる)
      • AUDIT_LOG_ADDITONAL_ACTIONS="PAGE_RENAME,LOGIN,COMMENT_DELETE"
    • ケース
      • A グループを指定した時に、ページ閲覧 を追加したい
    • ACTION_GROUP に含まれている action 名を ADDITONAL_ACTIONS でも指定した場合は、通常通り対象の action 名の Activity を収集する
  • ACTION_GROUP に含まれている不要な action を個別に取り除く
    • 環境変数名: AUDIT_LOG_EXCLUDE_ACTIONS
    • ケース
      • A グループを指定した時に、ログイン を取り除きたい
    • ACTION_GROUP に含まれていない action を指定しても、通常通り対象の action 名の Activity は収集しない
    • ADDITONAL_ACTIONS と EXCLUDE_ACTIONS で同一の action 名が含まれていた場合は EXCLUDE_ACTIONS が勝つ(対象の action 名の Activity は収集しない)