Xray Audit
コンテンツ、設定、データベース、ユーザー、モジュールなど、Drupalインストールのさまざまな側面について詳細なレポートを生成する包括的なサイト監査モジュールです。
xray_audit
インストール
composer require 'drupal/xray_audit:^2.0'
composer require 'drupal/xray_audit:^1.6'
概要
Xray Auditは、Drupalサイト管理者や開発者向けに設計された強力な監査およびレポートモジュールです。整理されたレポートカテゴリを通じて、Drupalインストールのさまざまな側面を分析・理解するための集中型ダッシュボードを提供します。
このモジュールは、レポートカテゴリを整理するXrayAuditGroupPluginと、特定のレポートを生成するXrayAuditTaskPluginという2つの主要なプラグインタイプを持つプラグインベースのアーキテクチャを採用しています。このアーキテクチャによりモジュールは拡張可能であり、開発者は新しいプラグインを実装してカスタムレポートを作成できます。
レポートは、コンテンツモデルアーキテクチャ、コンテンツメトリクス、表示設定、アクセス制御、サイト構造(ViewsとMenus)、インストール済みパッケージ(モジュールとテーマ)、データベース情報、ブロックレイアウト、Webformなどをカバーする論理的なグループに整理されています。各レポートは外部分析用のCSVダウンロードをサポートし、パフォーマンス向上のためのキャッシュ機能を備えています。
オプションのXray Audit Insightサブモジュールは、Drupalのステータスレポートと統合し、キャッシュされていないViewsや過剰なリビジョン数などの監査データに基づく警告と推奨事項を表示します。
Features
- コンテンツモデル、コンテンツメトリクス、表示設定、アクセス制御、サイト構造、パッケージ、データベース、レイアウト、フォームのカテゴリに整理された包括的なレポートダッシュボード
- カスタムレポートを簡単に追加できるプラグインベースのアーキテクチャ
- すべてのレポートで外部データ分析を可能にするCSVダウンロードのサポート
- CLIベースのレポート用Drushコマンド(node_count、paragraph_count、usage_place)
- レポート生成パフォーマンス向上のためのキャッシュシステム
- コンテンツタイプ、バンドル、フィールド設定を表示するEntityアーキテクチャレポート
- タイプ、ステータス、言語、期間別のカウントを含むコンテンツメトリクスレポート
- キャッシュ設定、アクセス設定、匿名ユーザーアクセシビリティチェックを含むViews分析
- 階層表示によるMenuとナビゲーションアーキテクチャ分析
- バージョン情報と推奨アップデートを含むモジュールとテーマのステータスレポート
- 設定可能なサイズしきい値を持つデータベーステーブルサイズ分析
- 表示条件を含むブロックレイアウト設定レポート
- ロール別、ステータス別、活動期間別のユーザー数を含むユーザーとロールの分析
- Node、Paragraphs、Media、Taxonomy、Blockの表示モード設定レポート
- 表示モード、レスポンシブ画像、CKEditor全体での画像スタイル使用状況分析
- MediaエンティティのoEmbed外部リソース監視
- Webform設定レポート(Webformモジュールがインストールされている場合)
- 大規模データ操作のためのバッチ処理サポート
- 設定可能な警告を持つステータスレポート統合のためのInsightsサブモジュール
Use Cases
マイグレーション前のサイト監査
Drupalサイトのマイグレーションやメジャーアップデートを実行する前に、Xray Auditを使用してコンテンツタイプ、モジュール、設定に関する包括的なレポートを生成します。ドキュメント作成と計画のためにすべてのレポートをCSVファイルとしてエクスポートします。
パフォーマンス最適化
Viewsレポートを使用してキャッシュが設定されていないViewsを特定し、Databaseレポートを使用して肥大化したテーブルを見つけます。Insightサブモジュールは、これらの問題をステータスレポートで自動的にフラグ付けします。
コンテンツ棚卸し
タイプ、言語、期間全体のコンテンツ分布を理解するための詳細なコンテンツメトリクスレポートを生成します。コンテンツガバナンスとクリーンアップの取り組みに役立ちます。
セキュリティレビュー
ユーザーロールと権限を分析し、匿名ユーザーがアクセス可能な管理Viewsを特定し、適切なアクセス制御を確保するためにブロックの表示条件を確認します。
モジュールのクリーンアップ
モジュールレポートを使用してインストール済みだが未使用のモジュールを特定します。Insightモジュールは、クリーンアップ検討のためにこれらをステータスレポートでフラグ付けします。
画像スタイル監査
表示モード、レスポンシブ画像設定、CKEditor設定全体での画像スタイル使用状況を分析し、削除可能な未使用の画像スタイルを特定したり、重複するスタイルを統合したりします。
ドキュメント生成
サイトの設定に関するドキュメントを作成するためにすべてのレポートをCSVファイルとしてエクスポートします。クライアントへの引き継ぎやチームのオンボーディングに役立ちます。
Tips
- 外部分析やドキュメント作成のためにすべての利用可能なレポートを素早くエクスポートするには、メインダッシュボードの「すべてのレポートをZIPでダウンロード」機能を使用
- サイトのコンテンツ管理ワークフローに合わせて設定でリビジョンしきい値を設定 - 一部のサイトでは多くのリビジョンが正当である場合がある
- Viewsレポートは匿名ユーザーがアクセス可能な管理Viewsを赤でハイライト表示 - 潜在的なセキュリティ問題がないか慎重に確認
- アップデート前の状態を記録するため、メジャーアップデート前にモジュールレポートをエクスポート
- 潜在的な問題を早期にキャッチするため、定期的なサイトメンテナンス中にInsightサブモジュールを使用
Technical Details
Admin Pages 3
/admin/reports/xray-audit
利用可能なすべてのレポートカテゴリを表示するメインダッシュボード。各カテゴリは、Drupalインストールのさまざまな側面をカバーする関連レポートのグループにリンクしています。
/admin/config/development/xray_audit/settings
レポートとインサイトで使用されるしきい値を設定するための設定ページ。
/admin/config/xray_audit_insight/settings
Insightサブモジュールの設定。Drupalステータスレポートに表示されるインサイトをカスタマイズできます。
権限 2
Drush Commands 3
drush xray_audit:node_count
使用中のNode(公開ステータス)をカウント
drush xray_audit:paragraph_count
サイト全体で使用されているParagraphsバンドルをカウント
drush xray_audit:usage_place
Entityバンドル(NodeまたはParagraphs)が使用されているNodeをリスト表示
Troubleshooting 4
特定のレポートに必要な依存関係が有効になっていることを確認してください(例:ParagraphsレポートにはParagraphsモジュール、WebformレポートにはWebform)。データを表示するための適切な権限があることを確認してください。
サーバーがファイルダウンロードを許可し、一時ディレクトリが書き込み可能であることを確認してください。大規模なレポートを生成する場合は、PHPのメモリ制限を確認してください。
Xray Audit Insightサブモジュールが有効になっていることを確認し、Insight設定で特定のインサイトが無効になっていないか確認してください。
すべてのDrupalキャッシュをクリアするか、キャッシュの有効期限が切れるのを待って、Xray Auditキャッシュをクリアしてください。レポートデータはパフォーマンスのためにキャッシュされます。
Security Notes 3
- 「xray_audit access」と「xray_audit administer configuration」権限は制限付きとしてマークされており、信頼できる管理者にのみ付与する必要がある
- レポートはサイト設定、ユーザー数、データベース構造に関する機密情報を公開する可能性がある
- このモジュールはViewsへの匿名ユーザーアクセスを分析し、潜在的なセキュリティ問題の特定に役立つ