第23回: Telescope運用の実践ポイント — 開発中の「なぜ?」を一画面で解決する

章: 第8章: パフォーマンスと本番運用実践

「なぜこのクエリが走っているのか」すぐに分かりますか?

開発中、意図しないクエリが走っている、ジョブがどこかで失敗している、例外が静かに飲み込まれている——こうした問題をログファイルを grep しながら追っていませんか?

Laravel Telescope を導入すると、クエリ・例外・ジョブ・メール・通知のすべてを一つのUIで追えます。調査時間を大幅に短縮できるデバッグ基盤です。

問題の本質と解決策

問題: ログファイルやデバッガを個別に見ていると、原因特定に時間がかかり、本来の開発に集中できません。

解決策: Telescope は --dev でインストールし、開発環境専用で有効化します。環境変数 TELESCOPE_ENABLED で制御すれば、本番への影響なく使えます。クエリ・例外・ジョブを一箇所で追えるため、原因調査が数分で完了します。

有効化パターン 比較

パターン リスク 推奨度
全環境で常時有効 本番データがTelescopeDBに蓄積、パフォーマンス低下 ✗ 非推奨
.env で環境制御 本番では無効、開発のみ有効 ◎ 推奨
AppServiceProvider でゲート制限 本番で管理者のみ閲覧可能 ○ 状況次第

チェックポイント: TELESCOPE_ENABLED=false が本番の .env に設定されていますか?うっかり有効化したまま本番デプロイすると、パフォーマンス低下と情報漏えいリスクが生じます。

インストールサンプル


# インストール
composer require laravel/telescope --dev
php artisan telescope:install
php artisan migrate

# 必要に応じて環境制御
# TELESCOPE_ENABLED=true

まとめ & 次のステップ

  • Telescope はクエリ・例外・ジョブ・メール・通知を一画面で確認できるデバッグ基盤です
  • --dev でインストールし、開発環境専用で使うのが基本方針です
  • TELESCOPE_ENABLED で環境ごとに有効/無効を制御しましょう
  • 本番で使う場合は必ずゲート制限を設定してアクセスを制御します
  • まずはクエリとジョブのタブだけでも確認する習慣から始めましょう

次回は 構造化ログ設計(JSONログ) を学びます。障害解析を効率化するログ設計の考え方を解説します。

Related Articles