サービスPingのトラブルシューティング

サービスPingのペイロードドロップ

症状

データチームとそのモンテカルロ警告によって警告されます。

問題の特定

まず、サービスPingデータパイプラインのどのステージでドロップが発生しているかを特定する必要があります。

Sisense のService Ping Health Dashboardから開始します。

このクエリを例として使用し、ドロップの開始を検出することができます。

GitLab アプリケーションレイヤーのトラブルシューティング

Service ping Payloadイベントの量が予想外に減少していることについて調査を行いました。GitLabチームメンバーはこの極秘イシューで詳細を見ることができます:https://gitlab.com/gitlab-data/analytics/-/issues/11071

VersionAppレイヤーのトラブルシューティング

エクスポート・ジョブが正常に実行されているか確認してください。

サービス Ping ヘルス・ダッシュボードでサービス Ping エラーを確認します。

Google Storageレイヤーのトラブルシューティング

Google Storageにファイルが存在するかどうかを確認します。

データウェアハウス層のトラブルシューティング

データチームに連絡して、データウェアハウスの現状について尋ねてください。ハンドブックのページに連絡先の詳細が記載されています。

設定ファイルでサービスPingを無効にできません。

GitLabの設定ファイルでService Pingを無効にする方法は、GitLabバージョン9.3.0から13.12.3では使えません。無効にするには、代わりにGitLab UIの管理エリアを使用する必要があります。詳しくはイシューをご覧ください。

GitLabの機能やアプリケーションの設定は、ネットワークレイヤーでの制限を上書きしたり回避したりすることはできません。Service Pingがファイアウォールでブロックされている場合は、このバグの影響を受けません。

影響を受けるかどうかの確認

このバグの影響を受けたかどうかは、管理エリアを使用するか、GitLabインスタンスの設定ファイルを確認することで確認できます:

  • 管理エリアを使う

    1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
    2. Admin Areaを選択します。
    3. 左側のサイドバーで、[設定] > [メトリクスとプロファイリング]を選択します。
    4. 使用統計]を展開します。
    5. Service Pingを無効にするチェックボックスをオンまたはオフにできますか?

      • もし_そう_なら、あなたのGitLabインスタンスはこのバグの影響を受けていません。
      • チェックボックスにチェックを入れたり外したりできない場合は、このバグの影響を受けています。修正方法の手順をご覧ください。
  • GitLabインスタンスの設定ファイルを確認します:

    このバグの影響を受けるかどうかを確認するには、インスタンスの設定を確認してください。Service Ping を無効にできる設定ファイルはインストールやデプロイの方法によって異なりますが、通常は以下のいずれかです:

    • /etc/gitlab/gitlab.rb LinuxパッケージインストールとDockerの場合。
    • charts.yaml GitLab HelmとクラウドネイティブなKubernetesデプロイ用。
    • gitlab.yml セルフコンパイルインストールの場合。

    Service Pingが無効になっているかどうかを示す文字列を関連設定ファイルで確認するには、grep

     # Linux package
     grep "usage_ping_enabled'\] = false" /etc/gitlab/gitlab.rb
       
     # Kubernetes charts
     grep "enableUsagePing: false" values.yaml
       
     # From source
     grep "usage_ping_enabled'\] = false" gitlab/config.yml
    

    該当するコマンドを実行した後に何らかの出力が表示された場合は、GitLabインスタンスがバグの影響を受けている可能性があります。そうでなければ、あなたのインスタンスは影響を受けません。

Service Pingを無効にできない」バグの修正方法

このバグを回避するには、2つの方法があります:

  • GitLab 13.12.4以降にアップデートして、このバグを修正してください。
  • GitLab 13.12.4以降にアップデートできない場合は、設定ファイルでService Pingを有効にし、UIでService Pingを無効にしてください。例えば、Linuxパッケージを使用している場合:

    1. /etc/gitlab/gitlab.rb を編集します:

      gitlab_rails['usage_ping_enabled'] = true
      
    2. GitLab を再設定します:

      sudo gitlab-ctl reconfigure
      
    3. 左のサイドバーで、Search を選択するか、次のページに進んでください。
    4. Admin Areaを選択します。
    5. 左側のサイドバーで、[設定] > [メトリクスとプロファイリング]を選択します。
    6. 使用統計]を展開します。
    7. サービスPingを有効にする]チェックボックスをオフにします。
    8. 変更を保存を選択します。

サービスPingの生成

RailsコンソールでキャッシュされたService Pingを生成または取得します。

railsコンソールで以下のメソッドを使用します。

Gitlab::Usage::ServicePingReport.for(output: :all_metrics_values, cached: true)

新しい Service Ping を生成します。

railsコンソールで以下のメソッドを使用します。

これにより、管理エリアに表示されるキャッシュされたサービスPingも更新されます。

Gitlab::Usage::ServicePingReport.for(output: :all_metrics_values)

生成と印刷

サービスPingデータをJSON形式で生成します。

gitlab-rake gitlab:usage_data:generate

YAML 形式の Service Ping データを生成します:

gitlab-rake gitlab:usage_data:dump_sql_in_yaml

Service Ping の生成と送信

conversational_development_index_metricsに保存されたメトリクスを印刷します。

gitlab-rake gitlab:usage_data:generate_and_send