magento-issue-debugger について
Magento 2 の開発者や運用担当者向けのトラブルシューティングスキルです。問題の再現や証拠の収集から、根本原因の特定と修正の検証までを体系的に案内します。性能、機能、連携、システムの問題を扱います。
主な機能
- 01再現手順の策定と環境の記録
- 02ログ、設定、性能データの収集
- 03コード、データベース、モジュールの分析
- 04切り分けテストと根本原因の特定
- 05修正、テスト、ロールバックの計画
活用シーン
- 01本番環境のエラー調査
- 02ページやデータベースの性能分析
- 03キャッシュ、インデックス、モジュール競合の特定
- 04決済、API、システム障害の診断
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ maxnorm/ magento2-agent-skills --skill magento-issue-debuggerインストール後、Claude Code で/magento-issue-debuggerを入力して読み込まれたか確認します。
詳細
Magento 2 問題デバッガー
Magento スタックのすべての層にわたる複雑な技術的問題を体系的に調査、診断、解決する専門家。
使用する場面
- 本番環境の問題をデバッグする
- バグやエラーを調査する
- パフォーマンス問題を分析する
- システム障害を解決する
- 連携の問題をトラブルシューティングする
- キャッシュやインデックスの問題を診断する
デバッグ手法
体系的な調査
- 問題の評価: 問題を再現するための一貫した手順を確立する
- 環境の文書化: システム構成と環境の詳細を記録する
- 影響分析: 範囲、頻度、ビジネスへの影響を判断する
- タイムライン分析: 問題がいつ始まり、何が変わったのかを特定する
- 切り分けテスト: モジュールや機能を無効化して問題を切り分ける
根本原因分析
- 仮説検証: 理論を立てて体系的に検証する
- データ収集: ログ、構成、パフォーマンス指標を収集する
- コード分析: 最近のコード変更と関連モジュールを確認する
- データベース調査: データ破損やマイグレーションの問題を確認する
- 深掘り: 症状を対処するのではなく、根本的な原因を深く掘り下げて見つける
問題調査プロセス
1. 問題の評価
- 問題の再現: 再現するための一貫した手順を確立する
- 環境の文書化: システム構成を記録する
- 影響分析: 範囲とビジネスへの影響を判断する
- タイムライン分析: 問題がいつ始まったのかを特定する
- ユーザーへの影響: 問題が各種ユーザーにどのように影響するかを理解する
2. データ収集
- ログの収集: すべてのシステムコンポーネントから関連ログを収集する
- Magento ログ:
var/log/ - PHP エラーログ
- Web サーバーログ (Apache/Nginx)
- データベースのスロークエリログ
- Magento ログ:
- 構成の確認: モジュール構成とシステム設定を確認する
- コード分析: 最近のコード変更と関連モジュールを確認する
- データベース調査: データ破損やマイグレーションの問題を確認する
- パフォーマンス指標: タイミングとリソース使用量のデータを収集する
3. 体系的なデバッグ
- デバッグモード: 詳細なエラー報告のために Magento のデバッグモードを有効にする
bin/magento deploy:mode:set developer - Xdebug 連携: 複雑なロジックの問題に対してステップ実行デバッグを使用する
- プロファイリングツール: パフォーマンス問題には Blackfire、XHProf、または同様のツールを使用する
- データベースのデバッグ: クエリログを有効にしてデータベースのやり取りを分析する
- 切り分けテスト: モジュールを無効化して問題を切り分ける
4. 解決策の実装
- 修正の開発: 根本原因分析に基づいて適切な修正を実装する
- テスト戦略: 検証のための包括的なテスト計画を策定する
- ロールバック計画: 本番環境の修正に対するロールバック手順を準備する
- 文書化: 調査結果、解決策、再発防止策を文書化する
- 監視の設定: 問題の再発を防ぐための監視を実装する
よくある問題のカテゴリ
パフォーマンス問題
- ページ読み込みの遅さ: フロントエンドとバックエンド処理のボトルネックを特定する
- データベースパフォーマンス: クエリ、インデックス、データベース構成を最適化する
- メモリ問題: メモリリークとメモリ使用量の増大をデバッグする
- キャッシュ問題: キャッシュの無効化とキャッシュのウォームアップの問題を解決する
- フロントエンドパフォーマンス: JavaScript エラーと CSS レンダリングの問題をデバッグする
機能のバグ
- チェックアウトの問題: 決済処理、配送、注文確定をデバッグする
- 商品表示: カタログ、検索、商品ページの問題を解決する
- 管理パネルの問題: バックエンド機能と構成の問題を修正する
- 拡張機能の競合: モジュールの互換性の問題を特定して解決する
- API の問題: REST および GraphQL API エンドポイントをデバッグする
システムレベルの問題
- インストールの問題: セットアップとアップグレードの問題を解決します
- 設定エラー: システムおよびモジュールの設定問題を修正します
- ファイル権限の問題: ファイルシステムとディレクトリの権限問題を解決します
- Cron ジョブの失敗: スケジュールされたタスクの実行問題をデバッグします
- メールの問題: メール送信とテンプレートの問題を解決します
セキュリティの問題
- アクセス制御: 権限と ACL の問題をデバッグします
- 認証の問題: ログインとセッションの問題を解決します
- CSRF の失敗: フォームキーの検証問題をデバッグします
- SQL インジェクション: 脆弱なクエリを特定して修正します
- XSS 脆弱性: 出力エスケープの問題を修正します
デバッグツールとテクニック
ログ分析
- Magento ログ:
var/log/exception.log、var/log/system.log - PHP エラーログ: PHP-FPM または Apache のエラーログを確認します
- Web サーバーログ: Apache/Nginx のアクセスログとエラーログを分析します
- データベースログ: スロークエリログとデータベースエラーを確認します
- カスタムログ: 特定の問題に向けたカスタムログを実装します
パフォーマンスプロファイリング
- Blackfire: パフォーマンスのプロファイリングと最適化
- XHProf: PHP プロファイリングツール
- New Relic: APM モニタリング
- データベースプロファイリング: クエリログを有効化します
- フロントエンドプロファイリング: ブラウザの DevTools によるパフォーマンス分析
デバッグコマンド
# Enable developer mode
bin/magento deploy:mode:set developer
# Clear cache
bin/magento cache:clean
bin/magento cache:flush
# Reindex
bin/magento indexer:reindex
# Check compilation
bin/magento setup:di:compile
# Check static content
bin/magento setup:static-content:deploy
# Check database
bin/magento setup:db:status
コードのデバッグ
- Xdebug: ステップ実行デバッグ
- var_dump/die: 簡易デバッグ(本番環境の前に削除してください)
- Magento Logger: ログ記録には
\Psr\Log\LoggerInterfaceを使用します - 例外処理: 適切な例外のキャッチとログ記録
- エラーレポート: エラーレポートのレベルを設定します
ベストプラクティス
予防
- 包括的なテスト: 単体テスト、統合テスト、機能テストを作成します
- コードレビュー: 問題を早期に発見するための定期的なコードレビュー
- モニタリング: モニタリングとアラートを実装します
- ログ記録: 包括的なログ戦略
- ドキュメント: 明確なドキュメントを維持します
解決
- 根本原因: 常に症状ではなく根本原因を修正します
- テスト: デプロイ前に修正を徹底的にテストします
- ドキュメント: 問題と解決策を文書化します
- コミュニケーション: ステークホルダーとコミュニケーションを取ります
- モニタリング: 修正のデプロイ後にモニタリングします
参考資料
根本原因を特定し、恒久的な解決策を実装するために、体系的な調査に焦点を当ててください。
コメント
Markdown 対応