技術情報

Matomoインスタンスのデプロイ後チェックリスト

Matomoが安定、高速、セキュアに動作するよう、ベストプラクティスを尽くしてMatomoがインストールされ、設定されていることを確認するためのチェックリストを以下に示します。

Matomo Analytics Enterprise 導入後の重要な確認事項

  • http://で始まる Matomo URLを開くとhttps://にリダイレクトされます。
  • スーパーユーザーとして Matomo にログインする。
  • Matomo > Administration (cog icon) >
    PluginsでプラグインがActiveであることを確認する。特に以下のプラグインがリストされている必要があります:AbTesting、ActivityLog、Cohorts、CustomAlerts、CustomDimensions、CustomReports、FormAnalytics、Funnels、HeatmapSessionRecording、InvalidateReports、LogViewer、MarketingCampaignsReporting、MediaAnalytics、MultiChannelConversionAttribution、QueuedTracking、RollUpReporting、SearchEngineKeywordsPerformance、TasksTimetable、UsersFlow、WhiteLabel。
  • Inactive ステータスのプラグインは、ProviderProfessionalServicesおよび少数のExample*プラグインを使用する。
  • システムチェックは、エラーや警告が表示されないようにし、”Matomo > Administration > System check”ですべてのチェックがグリーンになっていることを確認してください。
    diagnostics:runコマンドを実行することもできます。
  • Matomo からメールレポートを送受信できるかテストします。Matomo > Administration > Email reports”に進み、新しいメールレポートを追加し、”Send Report now “をクリックします。
  • テスト用ウェブページまたはローカルのテスト用 HTML ページに JavaScript トラッキングコードを追加します。
    ブラウザでそのページを開いてください。Matomoダッシュボードで、データがトラッキングされ、リアルタイムウィジェットに表示されているのが見えるはずです。他のウィジェットにはまだデータが表示されていないかもしれません。
  • 以下のファイルはインターネットからアクセス可能であり、ブロックされていない(Tracking API の場合):

    /matomo.php/piwik.php
    /matomo.js/piwik.js
    /js/tracker.php
    /js/container_*.js
    /plugins/HeatmapSessionRecording/configs.php

  • 以下のファイルはインターネットからアクセス可能であり、ブロックされていません(オプトアウト機能の場合):
    /index.php?module=CoreAdminHome&action=optOut
    /plugins/CoreAdminHome/javascripts/optOut.js
    favicon.ico

  • Matomo を1台のサーバーで実行し、インターネット機能を有効に保つデフォルト設定を変更していない場合
    (enable_internet_features = 0)であれば、Matomoサーバがこれらのインターネットホスト名に接続できるようにすることを推奨します:

    https://api.matomo.org (セキュリティリリースを含む新しいリリースの通知)
    https://builds.matomo.org(ワンクリック・アップデートの為)
    https://plugins.matomo.org (マーケットプレイス用)
    https://github.com
    https://geolite.maxmind.com

  • 少なくとも1つのサーバーで crontab エントリが作成され、正常に実行される。スクリプトがエラーで失敗すると、Matomo を担当するチームにメールが自動的に送信される。
  • Matomo のコンフィグファイルが設定されていることを確認してください(Administration > Diagnostic > Config filFAQ)
  • 今日のアクション>ページURLレポートを見ると、テストページビューが表示されています。これは、crontabスクリプトがすでにトラッキングデータを正常に処理したことを意味します。
  • 訪問者のIPアドレスが正しく地理的に配置されている。
  • 会社のロゴとファビコンはBrandingにアップロードします。
  • データベースサーバーがインターネットからアクセスできない。
  • すべてのサーバーでロギングが有効になっており、すべてのログファイルが自動的にバックアップされる。
  • Matomo ウェブサーバでアクセスログが有効になっていることを確認する。
  • トランジションのSQLクエリ規模に応じた機能が実行されている。
  • サーバーはアクティブにモニタリングされ、警告や重要な閾値に対してはアラートが送信される。
  • Matomo サービスは、ウェブモニタリングアップタイムチェックサービスにより常にモニタリングされています。
  • MySQLデータベースのバックアップが本当に機能するかどうかを確認するために、最新のデータベースのフルバックアップを別サーバーにリストアする。このサーバはステージングサーバーとする。
  • Matomo サーバがダウンしても、ウェブサイトやアプリに影響はありません。テスト/ステージング環境で次のシナリオをテストすることをお勧めします:Matomo
    サーバーを完全にダウンさせ、Web サイトやアプリが期待通りに動作し、影響がないこと(ユーザーエクスペリエンスの低下やJavaScript
    エラーがないこと)を確認してください。
  • Matomo が月間 1,000 万件以上のアクションを追跡している場合、高パフォーマンスの設定になっている。
  • オプションSMTPサーバーはメールを送信するためにMatomoで設定されます。
  • (オプション) 生データを照会する必要がある場合は、新しい読み取り専用 MySQL ユーザーを作成します。
  • (オプション) ラテン文字以外を使用する言語(日本語、アラビア語、ヘブライ語、中国語など)でMatomoのインターフェイスを使用する場合はunicodeフォントをダウンロード

Matomoが2台以上のサーバーにデプロイされている場合、マルチサーバーの設定が行われます:

  • すべてのサーバーに同じコードベースがデプロイされ、アップグレードとデプロイプロセスが簡単 に自動化されていることを確認する。
  • 以下のファイルはすべてのサーバーで同期されていることを確認する。:
    /matomo.js/piwik.js
    /js/container_*.js
    /misc/user/*
    /config/config.ini.php

  • いくつかのファイル(例えば、matomo.js とコンテナファイル)の同期に NFS を使用する場合、 NFS のローカルキャッシュ機能を有効にする必要があります(NFSがダウンしてもサービスに影響しないように)。
  • config.ini.php の設定にマルチサーバー環境が含まれていることを確認する。
  • データベース(MySQL/Mariadb)がレプリケートされていることを確認し、DBフェイルオーバー手順が期待通りに機能することをテストする。
  • DBが複製されている場合、リーダーデータベースが最適な速度で設定されていることを確認してください。
  • トラフィックのピークが大きいと予想される場合(インスタンスの水平スケーリングがオプションでない場合)RedisまたはMySQL/Mariadbベースのキューを使用して、QueuedTrackingを設定しトラフィックのピークを優雅に処理しているか確認してください。