DUICUO

優れたオープンソースのWebパフォーマンスとユーザー行動分析ツール12選

ウェブ分析ツールは、一般的にウェブサイトのトラフィックとユーザーの行動を追跡・分析するために使用されます。例えば、応答時間、訪問回数、地理的位置、訪問したページ、サイトでの滞在時間などが挙げられます。

市場には Google Analytics や Baidu など、多くの商用 Web 分析プラットフォームがありますが、これらの商用プラットフォームは一般的に SaaS モデルでサービスを提供しているため、使用時にプライバシーの懸念が生じる可能性があります。また、非インターネット ネットワーク環境の一部の Web アプリケーションでは使用できないという問題もあります。

以下は、Google アナリティクスのアーキテクチャの図です。

Google アナリティクスのアーキテクチャを参考にすると、ウェブ解析システムは一般的に、クライアント側の情報収集機能、ログ分析プロセッサ、設定管理機能、レポート機能といった複数の部分から構成されます。多くのオープンソースのウェブアナライザーはGoogle アナリティクスと類似しているため、Google のアーキテクチャを理解することは、他の類似製品を理解する上で役立ちます。

この記事では、オープンソースの優れたウェブパフォーマンス分析ツールをいくつかご紹介します。これらのツールは、商用ウェブ分析プラットフォームと比較して、透明性とデータ制御性に優れており、プライバシーを損なうことなく、ウェブサイトのさまざまな指標を自律的に追跡・分析できます。

1. マトモ

GitHub: https://github.com/matomo-org/matomo

星の数: 18.3K

Matomoはオープンソースのウェブ解析プラットフォーム(旧称Piwik)で、ウェブサイトのトラフィック分析、ユーザー行動の追跡、コンバージョン最適化ツールを提供しています。PHPとMySQLを使用して開発されたMatomoは、ご自身のウェブサーバーにダウンロードしてインストールできます。5分ほどのインストールプロセスが完了すると、JavaScriptコードスニペットが提供されます。このタグをコピーして、リアルタイムでトラッキングを行い、アナリティクスレポートにアクセスしたいウェブサイトに貼り付けるだけで使用できます。

開発言語: PHP

インストール要件:

  • PHP 7.2.5以上
  • DBMySQL 5.5以降、またはMariaDB
  • PHP 拡張機能 pdo および pdo_mysql、または MySQLi 拡張機能

2. ゴーアクセス

GitHub: https://github.com/allinurl/goaccess

星の数: 16.8K

GoAccessは、*nixシステムのターミナルまたはブラウザで実行できるリアルタイムWebログアナライザー兼インタラクティブビューアです。Webサーバーログのリアルタイム監視と分析を提供します。また、カスタマイズ可能なダッシュボード、訪問者の行動に関する詳細なレポート、データフィルタリング、検索機能も備えています。

機能的特徴:

  • 完全にリアルタイム: すべてのパネルとメトリックは、ターミナル出力では 200 ミリ秒ごとに、HTML 出力では 1 秒ごとに更新されます。
  • 必要な最小構成: アクセス ログ ファイルで実行し、ログ形式を選択して、GoAccess にアクセス ログを解析し、統計情報を表示するだけです。
  • アプリケーション応答時間の追跡:リクエストの処理にかかる時間を追跡します。これは、ウェブサイトの速度を低下させているページを追跡したい場合に非常に便利です。
  • ほぼすべてのネットワークログを監視:GoAccess では、任意のカスタムログフォーマット文字列を指定できます。Apache、Nginx、Amazon S3、Elastic Load Balancing、CloudFront などが定義済みです。
  • 増分ログ処理: データの永続性が必要ですか? GoAccess は、ディスク上の永続性オプションを使用してログを増分処理できます。
  • 依存関係はたった一つだけです。GoAccessはC言語で書かれています。実行に必要なのはncursesだけです。それだけです。さらに、独自のWebSocketサーバー(http://gwsocket.io/)も備えています。
  • 訪問者の訪問: 時間別または日別に、最も遅いトラフィック、訪問者数、帯域幅、および実行リクエストのメトリックを決定します。
  • 仮想ホスティング: 複数の仮想サーバー (サーバー ブロック) がありますか? どの仮想ホストが Web サーバー リソースの大部分を使用しているかを示すパネルが表示されます。
  • 自律システム番号マッピング: 悪意のあるトラフィック パターンを検出し、それに応じてブロックするのに最適です。
  • カスタマイズ可能なカラー スキーム: ターミナル経由、または HTML 出力にスタイルシートを適用するだけで、GoAccess を独自のカラー スキームに合わせてカスタマイズできます。
  • 大規模データセットのサポート:GoAccessは、最適化されたインメモリハッシュテーブルにより、大規模なログを解析できます。優れたメモリ使用量と非常に良好なパフォーマンスを誇ります。このストレージは、ディスクへの永続化もサポートしています。
  • Docker サポート: GoAccess 用の Docker イメージを構築できます。

プログラミング言語: C

3.うま味

GitHub: https://github.com/umami-software/umami

星の数: 17.4K

Umami は、カスタマイズ性とレポート生成機能を備えたオープンソースの Web 分析ツールであり、柔軟性が高く、ユーザーが特定のニーズに合わせて分析をカスタマイズできます。

開発言語: JavaScript、TypeScript

インストール要件:

  • Node.js バージョン 16.13 以上
  • MySQL または PostgreSQL

4. 説得力のある分析

GitHub: https://github.com/plausible/analytics

星: 16.7

Plausible Analyticsは、ページビュー、直帰率、参照元、リアルタイム分析といった基本的なウェブページ分析機能を備えた、使いやすく軽量(1KB)のウェブサイト分析ツールです。GDPR、CCPA、PECRに完全準拠しています。

開発言語: Elixir、JavaScript

5. ポストホッグ

GitHub: https://github.com/PostHog/posthog

星の数: 14.3K

PostHogは、企業やウェブサイト運営者がウェブサイト上のユーザー行動を追跡・分析できるオープンソースのウェブ分析ツールです。イベントトラッキング、ユーザーセグメンテーション、キュー分析などの機能を提供します。

開発言語: Python、TypeScript

6. ファゾムアナリティクス

GitHub: https://github.com/usefathom/fathom

星の数: 7.4K

Fathom Analyticsはオープンソースのウェブ分析ツールです。Cookieを使って個々のユーザーを追跡するのではなく、Fathomはデータを集約して匿名分析を提供します。さらに、Fathomのユーザーインターフェースは非常にシンプルで使いやすいです。

プログラミング言語: Go、TypeScript

7. カウンティリー

GitHub: https://github.com/Countly/countly-server

星の数: 5.3K

Countlyは、ユーザー統計、デバイス情報、セッション時間など、ユーザーの行動とエンゲージメントに関する包括的なビューを提供するオープンソースのWebおよびモバイルアプリケーション分析プラットフォームです。ただし、Countlyは主にモバイルアプリケーションの分析に重点を置いています。

開発言語: JavaScript

8. アキー

GitHub: https://github.com/electerious/Ackee

スター: 4K

Ackee は、個々の訪問者と訪問者のページビューを提供する軽量のオープンソース Web 分析ツールです。

機能的特徴:

  • 自己ホスト型: Ackee は独自のサーバーにインストールして実行でき、100% オープンソースです。
  • 高度なテクノロジー: 軽量の Node.js と MongoDB アーキテクチャを使用して開発されました。
  • 美的に美しい UI: 最小限かつ集中したインターフェース。
  • クッキーは不要です: 固有のユーザー追跡は行われないため、クッキーは必要ありません。
  • イベント トラッキング: ボタンのクリック、プレス リリースのサブスクリプションなどを追跡します。
  • GraphQL API をサポート: Ackee で新しいツールを構築できる、完全にドキュメント化された GraphQL API。

開発言語: JavaScript

9. ヤギカウンター

GitHub: https://github.com/arp242/goatcounter

星の数: 3.7K

GoatCounter は、軽量でデータ プライバシーに重点を置いた、使いやすい Web 分析ツールです。

機能的特徴:

  • プライバシーは最優先です。固有の識別子を持つユーザーは追跡されません。GDPRへの通知が必要です。収集されたデータに対してはきめ細かな制御が行われます。
  • 軽量で高速:ウェブサイトに追加されるデータは約3.5KBです。無料のJavaScript「トラッキングピクセル」オプションも用意されており、アプリケーションのミドルウェアやログファイルからデータをインポートすることもできます。
  • 識別不可能なハッシュを使用して、Cookie なしで一意のアクセスを識別します。
  • ブラウザ情報、位置情報、画面サイズなどの便利な統計情報を保存します。おすすめのウェブサイトや広告キャンペーンを追跡できます。
  • シンプルさ: 膨大な数のオプションと柔軟性に圧倒された場合、GoatCounter は比較的シンプルな選択肢です。
  • アクセシビリティ: インターフェースは適切に機能し、スクリーン リーダーなどの支援技術を使用してアクセスできます。
  • 100% オープン ソース: コードがどのように動作するかを正確に確認し、改善を加えたり、あらゆる目的で自分でホストしたりできます。
  • 自分のデータを管理します。いつでもすべてのデータをエクスポートし、いつでもキャンセルできます。
  • ウェブサイトへの統合には、1 つのスクリプト タグだけが必要です。
 <script data-goatcounter="https://yoursite.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
  • ほとんどの人にとって JavaScript 統合は適切なオプションですが、JavaScript フリーの画像ベースのトラッカーを使用してバックエンド ミドルウェアに統合したり、ログ ファイルを解析したりすることもできます。

プログラミング言語: Go、JavaScript

10. オープンウェブアナリティクス

GitHub: https://github.com/Open-Web-Analytics/Open-Web-Analytics

星の数: 2.2K

Open Web Analytics (OWA) は、ウェブサイトのトラフィックやユーザーの行動の追跡など、Google Analytics と同様の機能を提供する無料のオープンソース ウェブ分析ツールです。

機能的特徴:

  • 訪問者、ページビュー、電子商取引のトランザクション、および構成可能なアクションを追跡します。
  • 単一の OWA サーバー インスタンスを使用して、無制限の数の Web サイトを追跡します。
  • クライアントサイドJavaScriptトラッカー
  • レポート、ダッシュボードポータルを提供
  • すべてのレポートを表示およびカスタマイズする
  • ヒートマップ
  • 「Domstream」セッションレコードを生成する
  • 訪問者の地理的位置を記録する
  • データの管理とアクセスのための REST API を提供します。
  • 複数のユーザーインターフェース
  • カスタムモジュール拡張フレームワークをサポート

開発言語: PHP、JavaScript

11.オフェン

GitHub: https://github.com/offen/offen

星: 765

Offen Fair Web Analyticsは分散型アプローチを採用しており、ウェブサイト所有者は自社のサーバーでデータを収集・保存できるため、データを完全に管理できます。また、Offenは監査ログ機能も提供しており、ウェブサイト所有者はデータの使用方法を確認できます。

プログラミング言語: Go、JavaScript

12. ピルシュ

GitHub: https://github.com/pirsch-analytics/pirsch

星: 773

Pirsch は、リアルタイム追跡、カスタム イベント、高度なフィルタリングとセグメンテーションなどの機能を提供します。

Pirschは訪問者ごとに固有のフィンガープリントを生成します。フィンガープリントは、訪問者のIPアドレス、ユーザーエージェント、日付、ソルトをハッシュ化したものです。このトラッキングは訪問者のプライバシーを侵害しません。Cookieを使用せず、個人情報も保存しないため、GDPR、CCPA、PECRに準拠しています。サーバー側で使用する場合、Pirschは広告ブロッカーを使用している訪問者も追跡できます。

プログラミング言語: Go