コンテンツにスキップ

ローカルのGrafanaモニタリング

事前構築されたGrafanaダッシュボードを使用してローカルのTomoriBotインスタンスを監視し、メモリ使用量、キャッシュサイズ、トークン消費量、コマンドトラフィックを追跡します。

TomoriBotとGrafanaを一緒に起動します。

Terminal window
docker compose -f docker-compose.yaml -f docker/compose.monitor.yaml up -d

このコマンド:

  • TomoriBotおよびPostgreSQLを起動します (データベースはポート15432で公開されます)
  • 事前構成されたPostgreSQLデータソースを使用してポート3000でGrafanaを起動します
  • TomoriBot概要ダッシュボードをプロビジョニングする
  • 内部Dockerネットワーク上のすべてのサービスを接続します

http://localhost:3000 でGrafanaを開きます。

  • ユーザー名: admin
  • パスワード: .envのGRAFANA_PASSWORD経由で設定します (未設定の場合はデフォルトでadmin)

プロビジョニング済みダッシュボード

Section titled “プロビジョニング済みダッシュボード”

TomoriBot概要ダッシュボードは、手動構成を必要とせずに自動的にロードされます。そのパネルには、プロセスメモリ、キャッシュエントリ数、時間ごとのエラー、モデルごとのトークン使用量、時間ごとのアクティビティ、上位のコマンド、ユーザー ロケール、感情クラウド、アクティブなプリセットとモデルが表示されます。

すべてのパネルは、すべてのインストールに存在する標準テーブルをクエリするため、同じダッシュボードレイアウトをローカルとクラウド環境で機能させることができます。

特定のパネルでは、特定のランタイム設定またはホストのサポートが必要です。

パネルニーズ
プロセスメモリ、キャッシュエントリCACHE_METRICS_INTERVAL_MSごとにmetric_samples行が書き込まれます。コレクターはRUN_ENV=productionの場合にのみ実行されるため、開発インスタンスはここにデータを表示しません。
タイプ別の1時間あたりのエラー数ERROR_DB_LOGGING_ENABLED (デフォルトで有効)。インシデント中の平坦な線は、エラーが停止したのではなく、データベースのサーキットブレーカーが開いていることを示している可能性があります。
ホストメモリとスワップ層、ホストプレッシャー (PSI) およびスワップインレートLinuxホスト。これらは/proc/meminfo、/proc/pressure/*、/proc/swaps、および/sys/block/zram0と読み取られるため、macOSとWindowsでは空のままになります。zramシリーズには、構成されたzramスワップデバイスが必要です。zramを持たないホストでも、一般的なメモリと圧力メトリクスが報告されます。

ダッシュボードは、ライブデバッグのためにGrafanaインターフェイスで引き続き編集可能です。コンテナーが再起動するとダッシュボードの編集がディスクファイルにリセットされるため、変更を保存するには、変更したダッシュボードJSONをエクスポートしてdocker/grafana/dashboards/に保存します。

新しいダッシュボードを追加するには、そのJSON定義をdocker/grafana/dashboards/に配置します。固定uid tomoribot-postgresを持つPostgreSQLデータソースをターゲットにします。明示的なuidのないデータソースはランダムに生成された識別子を受け取ります。これにより、一致しないuidを使用するダッシュボードが空白のパネルをレンダリングします。