Memantau proses pada VM

Secara default, Agen Ops dan agen Monitoring lama dikonfigurasi untuk mengumpulkan metrik yang merekam informasi tentang proses yang berjalan di virtual machine (VM) Compute Engine Anda. Anda juga dapat mengumpulkan metrik ini di VM Amazon Elastic Compute Cloud (EC2) menggunakan agen Monitoring. Kumpulan metrik ini, yang disebut metrik proses, dapat diidentifikasi dengan awalan agent.googleapis.com/processes. Metrik ini tidak dikumpulkan di Google Kubernetes Engine (GKE).

Mulai 6 Agustus 2021, biaya akan diterapkan untuk metrik ini, seperti yang dijelaskan dalam Metrik yang dapat ditagih. Kumpulan metrik proses diklasifikasikan sebagai dapat ditagih, tetapi tagihan belum pernah diterapkan.

Dokumen ini menjelaskan alat untuk memvisualisasikan metrik proses, cara menentukan jumlah data yang Anda serap dari metrik ini, dan cara meminimalkan tagihan terkait.

Menggunakan metrik proses

Anda dapat memvisualisasikan data metrik proses dengan diagram yang dibuat menggunakan Metrics Explorer atau dasbor kustom. Untuk informasi selengkapnya, lihat Menggunakan dasbor dan diagram. Selain itu, Cloud Monitoring mencakup data dari metrik proses di dua dasbor standar:

  • Dasbor Instance VM di Monitoring
  • Dasbor Details instance VM di Compute Engine

Bagian berikut menjelaskan dasbor ini.

Pemantauan: Melihat metrik proses gabungan

Untuk melihat metrik proses gabungan dalam cakupan metrik, buka tab Processes di dasbor VM Instances:

  1. Di konsol Google Cloud, buka halaman  Dasbor:

    Buka Dasbor

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Pilih dasbor VM Instances dari daftar.

  3. Klik Proses.

Screenshot berikut menunjukkan contoh halaman Proses Pemantauan:

Halaman **Proses** di Monitoring menampilkan metrik proses
agregat.

Anda dapat menggunakan diagram di tab Processes untuk mengidentifikasi proses dalam cakupan metrik yang paling banyak menggunakan CPU dan memori, serta yang memiliki penggunaan disk tertinggi.

Compute Engine: Melihat metrik performa untuk VM yang paling banyak menggunakan resource

Untuk melihat diagram performa yang menampilkan lima VM yang paling banyak menggunakan resource di project Google Cloud Anda, buka tab Kemampuan Observasi untuk instance VM Anda:

  1. Di Konsol Google Cloud, buka halaman Instance VM:

    Buka instance VM

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Compute Engine.

  2. Klik Kemampuan observasi.

Screenshot berikut menunjukkan contoh halaman Observabilitas Compute Engine.

Halaman **Observability** di Compute Engine menampilkan
lima VM teratas yang menggunakan resource tertentu.

Untuk informasi tentang cara menggunakan metrik ini untuk mendiagnosis masalah pada VM, lihat Memecahkan masalah performa VM.

Compute Engine: Melihat metrik proses per VM

Untuk melihat daftar proses yang berjalan di satu virtual machine (VM) Compute Engine dan diagram untuk proses dengan konsumsi resource tertinggi, buka tab Observability untuk VM:

  1. Di Konsol Google Cloud, buka halaman Instance VM:

    Buka instance VM

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Compute Engine.

  2. Di tab Instances, klik nama VM yang akan diperiksa.

  3. Klik Kemampuan observasi untuk melihat metrik VM ini.

  4. Di panel navigasi pada tab Kemampuan Observasi, pilih Proses.

Screenshot berikut menunjukkan contoh halaman Proses Compute Engine:

Halaman **Proses** di Compute Engine menampilkan metrik proses per VM.

Metrik proses disimpan hingga 24 jam, sehingga Anda dapat menggunakannya untuk melihat ke belakang dan mengatribusikan anomali dalam konsumsi resource ke proses tertentu atau mengidentifikasi pemakai resource yang paling mahal. Misalnya, diagram berikut menunjukkan proses yang menggunakan persentase resource CPU tertinggi. Anda dapat menggunakan pemilih rentang waktu untuk mengubah rentang waktu diagram. Pemilih rentang waktu menawarkan nilai preset, seperti jam terakhir, dan juga memungkinkan Anda memasukkan rentang waktu kustom.

Anda dapat menggunakan metrik proses untuk mengidentifikasi proses yang menggunakan
sebagian besar resource.

Tabel Running Processes memberikan listingan penggunaan resource yang analog dengan output perintah top Linux. Secara default, tabel menampilkan ringkasan data terbaru. Namun, jika Anda memilih rentang waktu pada diagram yang berakhir di masa lalu, tabel akan menampilkan proses yang berjalan di akhir rentang tersebut.

Untuk informasi tentang cara menggunakan metrik ini untuk mendiagnosis masalah pada VM, lihat Memecahkan masalah performa VM.

Metrik proses yang dikumpulkan oleh agen

Agen Linux mengumpulkan semua metrik yang tercantum dalam tabel berikut dari proses yang berjalan di VM Compute Engine dan, dengan menggunakan agen Monitoring, VM Amazon Elastic Compute Cloud (EC2). Anda dapat menonaktifkan pengumpulannya oleh Ops Agent (versi 2.0.0 dan yang lebih baru) dan oleh agen Pemantauan lama.

Anda juga dapat menonaktifkan pengumpulan metrik proses untuk Ops Agent (versi 2.0.0 dan yang lebih baru) yang berjalan di VM Windows.

Untuk mengetahui informasi selengkapnya, lihat Menonaktifkan metrik proses.

Jika Anda ingin menonaktifkan pengumpulan metrik ini di Windows, sebaiknya upgrade ke Ops Agent versi 2.0.0 atau yang lebih tinggi. Untuk informasi selengkapnya, lihat Menginstal Agen Operasional.

Tabel metrik proses

String "jenis metrik" dalam tabel ini harus diawali dengan agent.googleapis.com/processes/. Awalan tersebut telah dihilangkan dari entri dalam tabel. Saat membuat kueri label, gunakan awalan metric.labels.; misalnya, metric.labels.LABEL="VALUE".

Jenis metrik Tahap peluncuran(Tingkat hierarki resource)
Nama tampilan
Jenis, Tipe, Unit
Resource yang dimonitor
Deskripsi
Label
count_by_state GA(project)
Proses
GAUGEDOUBLE1
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Jumlah proses dalam status tertentu. Khusus Linux. Diambil sampelnya setiap 60 detik.
state: Berjalan, tidur, zombie, dll.
cpu_time GA(project)
Process CPU
CUMULATIVEINT64us{CPU}
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Waktu CPU dari proses tertentu. Diambil sampelnya setiap 60 detik.
process: Nama proses.
user_or_syst: Apakah proses pengguna atau sistem.
command: Perintah proses.
command_line: Proses command line, maksimum 1.024 karakter.
owner: Pemilik proses.
pid: ID Proses.
disk/read_bytes_count GA(project)
Memproses I/O baca disk
CUMULATIVEINT64By
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Memproses I/O pembacaan disk. Khusus Linux. Diambil sampelnya setiap 60 detik.
process: Nama proses.
command: Perintah proses.
command_line: Proses command line, maksimum 1.024 karakter.
owner: Pemilik proses.
pid: ID Proses.
disk/write_bytes_count GA(project)
Memproses I/O tulis disk
CUMULATIVEINT64By
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Memproses I/O tulis disk. Khusus Linux. Diambil sampelnya setiap 60 detik.
process: Nama proses.
command: Perintah proses.
command_line: Proses command line, maksimum 1.024 karakter.
owner: Pemilik proses.
pid: ID Proses.
fork_count GA(project)
Jumlah fork
CUMULATIVEINT641
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Jumlah total proses yang di-fork. Khusus Linux. Diambil sampelnya setiap 60 detik.
rss_usage GA(project)
Memori resident proses
GAUGEDOUBLEBy
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Penggunaan memori resident dari proses tertentu. Khusus Linux. Diambil sampelnya setiap 60 detik.
process: Nama proses.
command: Perintah proses.
command_line: Proses command line, maksimum 1.024 karakter.
owner: Pemilik proses.
pid: ID Proses.
vm_usage GA(project)
Memori virtual proses
GAUGEDOUBLEBy
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Penggunaan VM untuk proses tertentu. Diambil sampelnya setiap 60 detik.
process: Nama proses.
command: Perintah proses.
command_line: Proses command line, maksimum 1.024 karakter.
owner: Pemilik proses.
pid: ID Proses.

Tabel dihasilkan pada 12-09-2024 02.25.45 UTC.

Menentukan proses transfer saat ini

Anda dapat menggunakan Metrics Explorer untuk melihat jumlah data yang saat ini ditransfer untuk metrik proses. Gunakan prosedur berikut:

  1. Di konsol Google Cloud, buka halaman  Metrics explorer:

    Buka Metrics explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di toolbar panel pembuat kueri, pilih tombol yang namanya adalah  MQL atau  PromQL.

  3. Pastikan MQL dipilih di tombol Language. Tombol bahasa berada di toolbar yang sama yang memungkinkan Anda memformat kueri.

  4. Untuk melihat jumlah total titik metrik proses untuk resource gce_instance dan aws_ec2_instance, lakukan hal berikut:

    1. Masukkan kueri berikut:

      def tagged_process_metric name = metric 'agent.googleapis.com/processes/'$name
      | add [metric_suffix: $name];
      
      def process_metrics resource_type = fetch $resource_type
      | { @tagged_process_metric 'cpu_time'
        ; @tagged_process_metric 'disk/read_bytes_count'
        ; @tagged_process_metric 'disk/write_bytes_count'
        ; @tagged_process_metric 'rss_usage'
        ; @tagged_process_metric 'vm_usage'
        ; @tagged_process_metric 'count_by_state'
        ; @tagged_process_metric 'fork_count' }
      | within 1d
      | group_by [metric_suffix], 1m, [row_count: row_count()]
      | union;
      
      { @process_metrics 'gce_instance'
      ; @process_metrics 'aws_ec2_instance' }
      | outer_join 0, 0
      | { rename [], [out: val(0)] | add [resource_type: 'gce_instance']
        ; rename [], [out: val(1)] | add [resource_type: 'aws_ec2_instance'] }
      | union
      | group_by drop[metric_suffix], 1d, .sum
      
    2. Klik Run Query. Diagram yang dihasilkan akan menampilkan nilai untuk setiap jenis resource.

Memperkirakan biaya metrik

Contoh harga Monitoring mengilustrasikan cara memperkirakan biaya penyerapan metrik. Contoh ini dapat diterapkan untuk memproses metrik.

  • Semua metrik proses diambil sampelnya setiap 60 detik, dan semuanya menulis titik data yang dihitung sebagai delapan byte untuk tujuan penetapan harga.

  • Harga untuk metrik proses ditetapkan sebesar 5% dari biaya volume standar yang digunakan dalam contoh harga. Oleh karena itu, jika Anda mengasumsikan bahwa semua metrik dalam skenario yang dijelaskan dalam contoh tersebut adalah metrik proses, Anda dapat menggunakan 5% dari total biaya untuk setiap skenario sebagai estimasi biaya metrik proses.

Menonaktifkan pengumpulan metrik proses

Ada beberapa cara untuk menonaktifkan pengumpulan metrik ini oleh Ops Agent (versi 2.0.0 dan yang lebih tinggi) dan oleh agen Monitoring lama di Linux.

Agen hanya berjalan di VM Compute Engine dan, untuk Agen pemantauan, VM Amazon Elastic Compute Cloud (EC2); prosedur ini hanya berlaku untuk platform tersebut.

Anda tidak dapat menonaktifkan pengumpulan oleh Agen Operasional jika menjalankan versi kurang dari 2.0.0 atau agen Monitoring lama di Windows. Jika Anda ingin menonaktifkan pengumpulan metrik ini di Windows, sebaiknya upgrade ke Ops Agent versi 2.0.0 atau yang lebih tinggi. Untuk informasi selengkapnya, lihat Menginstal Agen Operasional.

Prosedur umumnya terlihat seperti ini:

  1. Hubungkan ke VM.

  2. Buat salinan file konfigurasi yang ada sebagai cadangan. Simpan salinan cadangan di luar direktori konfigurasi agen, sehingga agen tidak mencoba memuat kedua file. Misalnya, perintah berikut membuat salinan file konfigurasi untuk Agen pemantauan di Linux:

    cp /etc/stackdriver/collectd.conf BACKUP_DIR/collectd.conf.bak
    
  3. Ubah konfigurasi menggunakan salah satu opsi yang dijelaskan di berikut:

  4. Mulai ulang agen untuk mengambil konfigurasi baru:

    • Agen pemantauan: sudo service stackdriver-agent restart
    • Agen Operasional: sudo service google-cloud-ops-agent restart
  5. Pastikan metrik proses tidak lagi dikumpulkan untuk VM ini:

    1. Pilih Metrics Explorer.

    2. Klik MQL.

    3. Untuk resource gce_instance, masukkan kueri berikut, dengan mengganti VM_NAME dengan nama VM ini:

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

      Untuk resource aws_ec2_instance, ganti gce_instance dalam kueri.

    4. Klik Run Query.

Agen Operasional di Linux atau Windows

Lokasi file konfigurasi untuk Agen Ops bergantung pada sistem operasi:

  • Untuk linux: /etc/google-cloud-ops-agent/config.yaml
  • Untuk Windows: C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

Untuk menonaktifkan pengumpulan semua metrik proses oleh Agen Ops, tambahkan kode berikut ke file config.yaml:

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

Tindakan ini mengecualikan metrik proses dari pengumpulan di prosesor metrics_filter yang berlaku untuk pipeline default di layanan metrics.

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi untuk Agen Operasi, lihat Mengonfigurasi Agen Operasi.

Agen pemantauan di Linux

Anda memiliki opsi berikut untuk menonaktifkan pengumpulan metrik proses dengan agen Monitoring lama:

Bagian berikut menjelaskan setiap opsi dan mencantumkan manfaat serta risiko yang terkait dengan opsi tersebut.

Mengubah file konfigurasi agen

Dengan opsi ini, Anda langsung mengedit file konfigurasi utama agen, /etc/stackdriver/collectd.conf, untuk menghapus bagian yang mengaktifkan pengumpulan metrik proses.

Prosedur

Ada tiga grup penghapusan yang perlu Anda lakukan pada file collectd.conf:

  1. Hapus konfigurasi plugin dan perintah LoadPlugin berikut:

    LoadPlugin processes
    
    <Plugin "processes">
      ProcessMatch "all" ".*"
      Detail "ps_cputime"
      Detail "ps_disk_octets"
      Detail "ps_rss"
      Detail "ps_vm"
    </Plugin>
    
  2. Hapus perintah PostCacheChain berikut dan konfigurasi rantai 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. Hapus rantai MaybeThrottleProcesses yang digunakan oleh rantai PostCache:

    <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>
    
Manfaat dan risiko
  • Manfaat
    • Anda mengurangi resource yang dipakai oleh agen, karena metrik tidak pernah dikumpulkan.
    • Jika telah membuat perubahan lain pada file collectd.conf, Anda mungkin dapat mempertahankan perubahan tersebut dengan mudah.
  • Risiko
    • Anda harus menggunakan akun root untuk mengedit file konfigurasi ini.
    • Anda berisiko memasukkan kesalahan ketik ke dalam file.

Mengganti file konfigurasi agen

Dengan opsi ini, Anda mengganti file konfigurasi utama agen dengan versi yang telah diedit sebelumnya yang telah menghapus bagian yang relevan untuk Anda.

Prosedur
  1. Download file yang telah diedit sebelumnya, collectd-no-process-metrics.conf, dari repositori GitHub ke direktori /tmp, lalu lakukan hal berikut:

    cd /tmp && curl -sSO https://raw.githubusercontent.com/Stackdriver/agent-packaging/master/collectd-no-process-metrics.conf
    
  2. Ganti file collectd.conf yang ada dengan file yang telah diedit sebelumnya:

    cp /tmp/collectd-no-process-metrics.conf /etc/stackdriver/collectd.conf
    
Manfaat dan risiko
  • Manfaat
    • Anda mengurangi resource yang dipakai oleh agen karena metrik tidak pernah dikumpulkan.
    • Anda tidak perlu mengedit file secara manual sebagai root.
    • Alat pengelolaan konfigurasi dapat dengan mudah mengganti file.
  • Risiko
    • Jika telah melakukan perubahan lain pada file collectd.conf, Anda harus menggabungkan perubahan tersebut ke dalam file pengganti.

Pemecahan masalah

Prosedur yang dijelaskan dalam dokumen ini adalah perubahan pada konfigurasi agen, sehingga masalah berikut kemungkinan besar terjadi:

  • Hak istimewa tidak memadai untuk mengedit file konfigurasi. File konfigurasi harus diedit dari akun root.
  • Munculnya error tipografi ke dalam file konfigurasi, jika Anda mengeditnya secara langsung.

Untuk informasi tentang cara menyelesaikan masalah lain, lihat Pemecahan masalah Agen pemantauan.

Agen pemantauan di Windows

Anda tidak dapat menonaktifkan pengumpulan metrik proses oleh agen Monitoring lama yang berjalan di VM Windows. Agen ini tidak dapat dikonfigurasi. Jika Anda ingin menonaktifkan pengumpulan metrik ini di Windows, sebaiknya upgrade ke Ops Agent versi 2.0.0 atau yang lebih tinggi. Untuk informasi selengkapnya, lihat Menginstal Agen Operasional.

Jika Anda menjalankan Agen Operasional, lihat Agen Operasional di Linux atau Windows.