指標の収集を無効にする

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

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

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

コンソール

  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 エージェントをご覧ください。