指標の収集を無効にする

このドキュメントでは、Google Cloud プロジェクトの Cloud Monitoring API を無効にする方法と、Ops エージェントと以前の Monitoring エージェントがプロセス指標を収集しないようにする方法について説明します。たとえば、Google Cloud プロジェクトに課金対象の指標を取り込まないようにする場合に、Cloud Monitoring API を無効にできます。

すべての指標の収集を無効にする

すべての指標が収集されないようにするには、Cloud Monitoring API を無効にします。

Console

  1. Google Cloud コンソールで Google Cloud プロジェクトを選択し、[API とサービス] ページに移動します。

    [API とサービス] に移動

  2. [Cloud Monitoring API] を選択します。

  3. [API を無効にする] をクリックします。

gcloud

次のコマンドを実行して、現在のプロジェクトで Cloud Monitoring API を無効にします。

gcloud services disable monitoring.googleapis.com

Google Cloud CLI を使用して API を無効にする方法については、サービスの有効化と無効化をご覧ください。

プロセス指標の収集を無効にする

Ops エージェント(バージョン 2.0.0 以降)と Linux 上の以前の Monitoring エージェントによって、これらの指標の収集を無効にするには、複数の方法があります。

このエージェントは Compute Engine VM でのみ実行されます。Monitoring エージェント、Amazon Elastic Compute Cloud(EC2)VM の場合は、これらの手順はこれらのプラットフォームにのみ適用されます。

2.0.0 より前のバージョンまたは Windows の以前の Monitoring エージェントを実行している場合は、Ops エージェントによる収集を無効にできません。Windows でこれらの指標の収集を無効にするには、Ops エージェントのバージョン 2.0.0 以降にアップグレードすることをおすすめします。詳細については、Ops エージェントのインストールをご覧ください。

一般的な手順を以下に示します。

  1. VM に接続します。

  2. 既存の構成ファイルのコピーをバックアップとして作成します。バックアップとしてのコピーはエージェントの構成ディレクトリの外部に保存して、エージェントが両方のファイルを読み込まないようにします。たとえば、次のコマンドは、Linux 上の Monitoring エージェントの構成ファイルのコピーを作成します。

    cp /etc/stackdriver/collectd.conf BACKUP_DIR/collectd.conf.bak
    
  3. 以下で説明するオプションのいずれかを使用して構成を変更します。

  4. エージェントを再起動して、新しい構成を読み込みます。

    • Monitoring エージェント: sudo service stackdriver-agent restart
    • Ops エージェント: sudo service google-cloud-ops-agent restart
  5. この VM のプロセス指標が収集されていないことを確認します。

    1. [Metrics Explorer] を選択します。

    2. [MQL] をクリックします。

    3. gce_instance リソースの場合は、次のクエリを入力します。VM_NAME は、この VM の名前に置き換えます。

      fetch gce_instance
      | metric 'agent.googleapis.com/processes/cpu_time'
      | filter (metadata.system_labels.name == 'VM_NAME')
      | align rate(1m)
      | every 1m
      

      aws_ec2_instance リソースの場合は、クエリ内の gce_instance を置き換えます。

    4. [クエリを実行] をクリックします。

Linux または Windows 用 Ops エージェント

Ops エージェント用の構成ファイルの場所は、オペレーティング システムによって異なります。

  • Linux の場合: /etc/google-cloud-ops-agent/config.yaml
  • Windows の場合: C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

Ops エージェントによるすべてのプロセス指標の収集を無効にするには、次の行を config.yaml ファイルに追加します。

metrics:
  processors:
    metrics_filter:
      type: exclude_metrics
      metrics_pattern:
      - agent.googleapis.com/processes/*

この場合、metrics サービスのデフォルト パイプラインに適用される metrics_filter プロセッサ内のコレクションから、プロセス指標が除外されます。

Ops エージェント用の構成オプションの詳細については、Ops エージェントの構成をご覧ください。

Linux 上の Monitoring エージェント

以前の Monitoring エージェントでのプロセス指標の収集を無効にするには、次のオプションがあります。

以降のセクションでは、各オプションと、そのオプションに関連するメリットとリスクを説明します。

エージェントの構成ファイルを変更する

このオプションでは、エージェントのメイン構成ファイルを直接編集して、/etc/stackdriver/collectd.confプロセス指標の収集を有効にするセクションを削除します。

手順

collectd.conf ファイルに対して、3 つのグループを削除する必要があります。

  1. 次の LoadPlugin ディレクティブとプラグイン構成を削除します。

    LoadPlugin processes
    
    <Plugin "processes">
      ProcessMatch "all" ".*"
      Detail "ps_cputime"
      Detail "ps_disk_octets"
      Detail "ps_rss"
      Detail "ps_vm"
    </Plugin>
    
  2. 次の PostCacheChain ディレクティブと PostCache チェーンの構成を削除します。

    PostCacheChain "PostCache"
    
    <Chain "PostCache">
      <Rule "processes">
        <Match "regex">
          Plugin "^processes$"
          Type "^(ps_cputime|disk_octets|ps_rss|ps_vm)$"
        </Match>
        <Target "jump">
          Chain "MaybeThrottleProcesses"
        </Target>
        Target "stop"
      </Rule>
    
      <Rule "otherwise">
        <Match "throttle_metadata_keys">
          OKToThrottle false
          HighWaterMark 5700000000  # 950M * 6
          LowWaterMark 4800000000  # 800M * 6
        </Match>
        <Target "write">
           Plugin "write_gcm"
        </Target>
      </Rule>
    </Chain>
    
  3. PostCache チェーンで使用されている MaybeThrottleProcesses チェーンを削除します。

    <Chain "MaybeThrottleProcesses">
      <Rule "default">
        <Match "throttle_metadata_keys">
          OKToThrottle true
          TrackedMetadata "processes:pid"
          TrackedMetadata "processes:command"
          TrackedMetadata "processes:command_line"
          TrackedMetadata "processes:owner"
        </Match>
        <Target "write">
           Plugin "write_gcm"
        </Target>
      </Rule>
    </Chain>
    
メリットとリスク
  • 利点
    • 指標が一度も収集されないため、エージェントが使用するリソースを減らします。
    • collectd.conf ファイルに他の変更を加えた場合、これらの変更を簡単に保存できます。
  • リスク
    • この構成ファイルを編集するには、root アカウントを使用する必要があります。
    • ファイルに誤字脱字が発生するリスクがあります。

エージェントの構成ファイルを置き換える

このオプションを使用すると、エージェントの主な構成ファイルが、関連するセクションが削除された編集済みのバージョンに置き換えられます。

手順
  1. 編集済みのファイル collectd-no-process-metrics.conf を GitHub リポジトリから /tmp ディレクトリにダウンロードし、次の手順を行います。

    cd /tmp && curl -sSO https://raw.githubusercontent.com/Stackdriver/agent-packaging/master/collectd-no-process-metrics.conf
    
  2. 既存の collectd.conf ファイルを、編集済みのファイルで置き換えます。

    cp /tmp/collectd-no-process-metrics.conf /etc/stackdriver/collectd.conf
    
メリットとリスク
  • 利点
    • 指標が一度も収集されないため、エージェントが使用するリソースを減らします。
    • ファイルを root として手動で編集する必要はありません。
    • 構成管理ツールを使ってファイルを簡単に置き換えることができます。
  • リスク
    • collectd.conf ファイルにその他の変更を加えた場合は、これらの変更を置換ファイルに統合する必要があります。

トラブルシューティング

このドキュメントで説明する手順は、エージェントの構成の変更であるため、次のような問題が発生する可能性があります。

  • 構成ファイルを編集するための十分な権限がない。構成ファイルを root アカウントから編集する必要がある。
  • 構成ファイルを直接編集した場合、構成ファイルに誤字脱字がある。

他の問題の解決方法については、Monitoring エージェントのトラブルシューティングをご覧ください。

Windows 上の Monitoring エージェント

Windows VM 上で稼働する以前の Monitoring エージェントによるプロセス指標の収集を無効にすることはできません。このエージェントは構成できません。Windows でこれらの指標の収集を無効にするには、Ops エージェントのバージョン 2.0.0 以降にアップグレードすることをおすすめします。詳細については、Ops エージェントのインストールをご覧ください。

Ops エージェントを実行している場合は、Linux または Windows 上の Ops エージェントをご覧ください。