このプロジェクトについて
Dashflareは、Cloudflareの背後で動作するウェブサイト 모니터링するためのプライバシー重視のオープンソース分析プラットフォームです。従来のクライアントサイド追跡スクリプトの代わりに、Cloudflare Edge Worker経由でデータを収集し、軽量でクッキーフリーを実現します。
アーキテクチャ
システムは3つのコンポーネントで構成されます。
1. Cloudflare Edge Worker — ネットワークエッジでページビューイベントをインターセプトして処理します。ターゲットサイトの変更不要。Cloudflare Routes経由でメインドメインから `.workers.dev` ワーカーサブドメインにリクエストが転送されます。
2. Grafana Loki — イベントログを永続化レイヤーとして保存。
3. Grafana — 収集された分析データのダッシュボードと可視化を提供。
機能
- プライバシー重視: クッキーなし、個人データ保存なし。セッションは秘密鍵由来のハッシュフィンガープリントで識別。
- 地理情報: 国レベルの検出は標準で対応。ipgeolocationapi.comとの連携でより詳細な地理データを追加可能。
- セルフホスト型デプロイ: Docker Compose構成により、開発/本番環境でGrafanaとLokiをローカル起動。
- Cloudflareネイティブ: Cloudflare利用サイトを想定した設計。Wrangler CLI経由でデプロイ。
インストール
`docker-compose up` で最小限の環境を起動。Grafanaは `http://localhost:3000/` でアクセス可能(デフォルト認証情報は `admin/admin`、初回ログイン時変更を促されます)。
主要な環境変数は `LOKI_HOST`(LokiインスタンスURL、IPではなくドメイン必須)、`DOMAIN`(ルート自動生成用メインドメイン)、`FINGERPRINT`(セッションハッシュ用ランダムキー)、必要に応じて `IPINFO`(ipgeolocationapi.com経由で拡張地理情報を有効化)。
Edge WorkerデプロイにはWranglerが必要 (`npm install -g @cloudflare/wrangler`) し、Cloudflareアカウントに対して認証します。`make wrangler` でテンプレートから `wrangler.toml` を生成後、`wrangler publish` で公開します。
Lokiへのアクセスに関する注意点
Cloudflare Edge Workerはドメイン名の80または443ポートエンドポイントにのみ到達可能です。Lokiが標準以外のポートで実行される場合、リバースプロキシBehindに配置するかサブドメイン経由で直接公開する必要があります。ローカル開発ではngrok等のサービスで転送し、エッジから到達可能にします。
ダッシュボード
起動後、Grafanaに訪問者メトリクス、地理的分布、その他のWebサイトパフォーマンス指標を表示する事前設定済み分析ダッシュボードが表示されます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.