Skip to main content

Laravel Pulseとは

Laravel Pulse は、アプリケーションのパフォーマンスと使用状況をひと目で把握できる監視ダッシュボードです。 スロージョブや遅いエンドポイントのボトルネックを特定したり、最もアクティブなユーザーを調べたりすることができます。

TelescopeとPulseの違い

個別イベントの詳細なデバッグには Laravel Telescope を使用してください。

データフロー図


インストール

Pulseのファーストパーティストレージ実装は、MySQL、MariaDB、またはPostgreSQLデータベースが必要です。別のデータベースエンジンを使用している場合は、Pulseデータ専用にMySQL、MariaDB、またはPostgreSQLデータベースを用意してください。
1

パッケージのインストール

Composerを使ってPulseをインストールします。
2

設定ファイルとマイグレーションの公開

vendor:publish Artisanコマンドでファイルを公開します。
3

マイグレーションの実行

Pulseのデータを保存するテーブルを作成します。
マイグレーション完了後、/pulse ルートでダッシュボードにアクセスできます。

設定ファイルの公開

設定ファイルを別途公開してカスタマイズすることもできます。

ダッシュボードのアクセス

認証設定

デフォルトでは local 環境のみダッシュボードにアクセスできます。 本番環境では viewPulse 認証ゲートをカスタマイズしてアクセス制御を設定してください。
app/Providers/AppServiceProvider.phpboot メソッドに上記のコードを追加します。

ダッシュボードのカスタマイズ

ダッシュボードのビューを公開してカードやレイアウトをカスタマイズできます。
公開後、resources/views/vendor/pulse/dashboard.blade.php を編集します。 ダッシュボードは Livewire で動いているため、JavaScriptのビルドなしでカスタマイズできます。
各カードは colsrows プロパティでサイズと位置を調整できます。

レコーダー

レコーダーはアプリケーションのイベントをキャプチャしてPulseデータベースに記録します。 設定は config/pulse.phprecorders セクションで管理します。

Requests / Slow Requests

Requests レコーダーはアプリケーションへのリクエスト情報をキャプチャします。 スロールートの閾値(デフォルト: 1000ms)、サンプリングレート、無視するパスを設定できます。

Slow Jobs

SlowJobs レコーダーは閾値を超えた遅いジョブをキャプチャします(デフォルト: 1000ms)。 ジョブごとに異なる閾値を設定できます。

Exceptions

Exceptions レコーダーはアプリケーションで発生したレポート可能な例外をキャプチャします。 例外クラスと発生場所でグループ化されます。

Cache

CacheInteractions レコーダーはキャッシュのヒットとミスをキャプチャします。 類似したキーをグループ化する正規表現も設定できます。

Queues

Queues レコーダーはキュー内のジョブのスループット(キュー済み、処理中、処理完了、リリース、失敗)をキャプチャします。

Servers

Servers レコーダーはアプリケーションを動かすサーバーのCPU、メモリ、ストレージ使用量をキャプチャします。 このレコーダーを使うには、監視対象の各サーバーで pulse:check コマンドを常時起動する必要があります。
サーバー名はデフォルトでPHPの gethostname() の値が使われます。カスタマイズするには環境変数を設定します。

Users

UserRequestsUserJobs レコーダーは、リクエストやジョブを送信したユーザー情報をキャプチャして「Application Usage」カードに表示します。

Redis Ingest

高トラフィック環境では、エントリをRedisストリームに送信してからデータベースに取り込む方法が利用できます。
Redisインジェストを使う場合は、pulse:work コマンドでストリームを監視する必要があります。

サンプリング

高トラフィック環境では、全イベントをキャプチャするとデータベースに数百万行が蓄積される可能性があります。 サンプリングを有効にすると、一部のイベントのみ記録し、ダッシュボードで近似値として表示します。
ダッシュボードでは近似値の前に ~ が表示されます。 メトリクスのエントリ数が多いほど、精度を維持しながらサンプリングレートを下げられます。

環境変数

主要な設定は環境変数で制御できます。

カスタムカード

独自のPulseカードを作成して、アプリケーション固有のデータを表示できます。 カードは Livewire コンポーネントとして実装します。
カードのビューでは、Pulseが提供するBladeコンポーネントを使って統一感のある見た目を実現できます。
カスタムデータのキャプチャには Pulse::record メソッドを使います。
作成したコンポーネントはダッシュボードビューに組み込みます。

まとめ

次のステップ

エラーハンドリング

アプリケーションの例外処理とレポートの仕組みを学びます。

ロギング

Laravelのログシステムの設定と活用方法を解説します。
最終更新日 2026年4月14日