Memantau proses pada VM

Secara default, Agen Operasional dan agen Monitoring lama dikonfigurasi untuk mengumpulkan metrik yang mengambil informasi tentang proses yang berjalan pada 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 diperkenalkan untuk metrik ini, seperti yang dijelaskan dalam Metrik yang dapat ditagih. Serangkaian metrik proses diklasifikasikan sebagai dapat dikenakan biaya, tetapi tagihan belum pernah diterapkan.

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

Bekerja dengan 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 menyertakan data dari metrik proses di dua dasbor standar:

  • Dasbor VM Instances di Monitoring
  • Dasbor Detail instance VM di Compute Engine

Bagian berikut menjelaskan dasbor ini.

Pemantauan: Melihat metrik proses gabungan

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

  1. Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih  Dashboards:

    Buka Dasbor

  2. Pilih dasbor VM Instances dari daftar.

  3. Klik Processes.

Screenshot berikut menunjukkan contoh halaman Processes Monitoring:

Halaman **Processes** di Monitoring menampilkan metrik proses gabungan.

Anda dapat menggunakan diagram pada tab Processes untuk mengidentifikasi proses dalam cakupan metrik yang paling banyak memakai CPU dan memori, dan yang memiliki pemakaian disk tertinggi.

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

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

  1. Di panel navigasi Konsol Google Cloud, pilih Compute Engine, lalu pilih VM instances:

    Buka instance VM

  2. Klik Kemampuan observasi.

Screenshot berikut menunjukkan contoh halaman Kemampuan observasi Compute Engine.

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

Untuk mengetahui informasi tentang cara menggunakan metrik ini guna mendiagnosis masalah pada VM, baca 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 panel navigasi Konsol Google Cloud, pilih Compute Engine, lalu pilih VM instances:

    Buka instance VM

  2. Pada tab Instances, klik nama VM yang ingin diperiksa.

  3. Klik Observability untuk melihat metrik untuk VM ini.

  4. Di panel navigasi pada tab Observability, pilih Processes.

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 kembali ke masa lalu dan mengatribusikan anomali dalam konsumsi resource ke proses tertentu atau mengidentifikasi konsumen resource yang paling mahal. Misalnya, diagram berikut menunjukkan proses yang mengonsumsi persentase resource CPU tertinggi. Anda dapat menggunakan pemilih rentang waktu untuk mengubah rentang waktu diagram. Pemilih rentang waktu menawarkan nilai preset, seperti jam terbaru, dan juga memungkinkan Anda memasukkan rentang waktu kustom.

Anda dapat menggunakan metrik proses untuk mengidentifikasi proses yang paling banyak menghabiskan
sumber daya.

Tabel Running Processes menyediakan daftar konsumsi resource yang serupa 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 mengetahui informasi tentang cara menggunakan metrik ini guna mendiagnosis masalah pada VM, baca Memecahkan masalah performa VM.

Memproses metrik yang dikumpulkan oleh agen

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

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

Untuk informasi selengkapnya, lihat Menonaktifkan metrik proses.

Jika Anda ingin menonaktifkan pengumpulan metrik ini di Windows, sebaiknya upgrade ke Agen Operasional versi 2.0.0 atau yang lebih baru. 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
Nama tampilan
Jenis, Tipe, Unit
Resource yang dimonitor
Deskripsi
Label
count_by_state GA
Proses
GAUGEDOUBLE1
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Jumlah proses dalam status tertentu. Khusus Linux. Diambil sampelnya setiap 60 detik.
state: Lari, tidur, zombie, dll.
cpu_time GA
Memproses CPU
CUMULATIVEINT64us{CPU}
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Waktu CPU dari proses yang ditentukan. Diambil sampelnya setiap 60 detik.
process: Nama proses.
user_or_syst: Apakah pengguna atau proses sistem.
command: Perintah proses.
command_line: Memproses command line, maksimum 1.024 karakter.
owner: Pemilik proses.
pid: ID proses.
disk/read_bytes_count GA
Memproses disk baca I/O
CUMULATIVEINT64By
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Proses disk baca I/O. Khusus Linux. Diambil sampelnya setiap 60 detik.
process: Nama proses.
command: Perintah proses.
command_line: Memproses command line, maksimum 1.024 karakter.
owner: Pemilik proses.
pid: ID proses.
disk/write_bytes_count GA
Memproses I/O penulisan disk
CUMULATIVEINT64By
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Memproses I/O penulisan disk. Khusus Linux. Diambil sampelnya setiap 60 detik.
process: Nama proses.
command: Perintah proses.
command_line: Memproses command line, maksimum 1.024 karakter.
owner: Pemilik proses.
pid: ID proses.
fork_count GA
Jumlah fork
CUMULATIVEINT641
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Jumlah total proses yang dibagi. Khusus Linux. Diambil sampelnya setiap 60 detik.
rss_usage GA
Memproses memori yang tersimpan
GAUGEDOUBLEBy
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Penggunaan memori persisten dari proses tertentu. Khusus Linux. Diambil sampelnya setiap 60 detik.
process: Nama proses.
command: Perintah proses.
command_line: Memproses command line, maksimum 1.024 karakter.
owner: Pemilik proses.
pid: ID proses.
vm_usage GA
Memproses memori virtual
GAUGEDOUBLEBy
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Penggunaan VM dari proses tertentu. Diambil sampelnya setiap 60 detik.
process: Nama proses.
command: Perintah proses.
command_line: Memproses command line, maksimum 1.024 karakter.
owner: Pemilik proses.
pid: ID proses.

Tabel dihasilkan pada 01-02-2024 18.05.28 UTC.

Menentukan penyerapan saat ini

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

  1. Di panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih  Metrics Explorer:

    Buka Metrics Explorer

  2. Di toolbar panel pembuat kueri, pilih tombol dengan nama  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 menunjukkan nilai untuk setiap jenis resource.

Memperkirakan biaya metrik

Contoh harga Monitoring menggambarkan cara memperkirakan biaya metrik penyerapan. Contoh-contoh ini dapat diterapkan pada metrik proses.

  • 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 pada 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 perkiraan biaya metrik proses.

Menonaktifkan pengumpulan metrik proses

Ada beberapa cara untuk menonaktifkan pengumpulan metrik ini oleh Agen Operasional (versi 2.0.0 dan yang lebih baru) serta oleh agen Monitoring lama di Linux.

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

Anda tidak dapat menonaktifkan pengumpulan data oleh Agen Operasional jika menjalankan versi di bawah 2.0.0 atau agen Monitoring lama di Windows. Jika Anda ingin menonaktifkan pengumpulan metrik ini di Windows, sebaiknya upgrade ke Agen Operasional versi 2.0.0 atau yang lebih baru. 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 Monitoring di Linux:

    cp /etc/stackdriver/collectd.conf BACKUP_DIR/collectd.conf.bak
    
  3. Ubah konfigurasi menggunakan salah satu opsi yang dijelaskan 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 bahwa 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 Operasional 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 Operasional, tambahkan kode berikut ke file config.yaml Anda:

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

Hal ini tidak mencakup metrik proses dari pengumpulan di prosesor metrics_filter yang berlaku pada pipeline default di layanan metrics.

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

Agen pemantauan di Linux

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

Bagian berikut menjelaskan setiap opsi serta mencantumkan manfaat dan 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 memungkinkan pengumpulan metrik proses.

Prosedur

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

  1. Hapus perintah LoadPlugin dan konfigurasi plugin 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 digunakan 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 menyebabkan kesalahan tipografi ke dalam {i>file<i} tersebut.

Mengganti file konfigurasi agen

Dengan opsi ini, Anda akan mengganti file konfigurasi utama agen dengan versi yang telah diedit dan bagian yang relevan untuk Anda akan dihapus.

Prosedur
  1. Download file yang telah diedit, 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:

    cp /tmp/collectd-no-process-metrics.conf /etc/stackdriver/collectd.conf
    
Manfaat dan risiko
  • Manfaat
    • Anda mengurangi resource yang digunakan oleh agen karena metrik tidak pernah dikumpulkan.
    • Anda tidak perlu mengedit file sebagai root secara manual.
    • Alat manajemen konfigurasi dapat dengan mudah mengganti file.
  • Risiko
    • Jika telah membuat 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 paling mungkin terjadi:

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

Untuk informasi tentang cara menyelesaikan masalah lainnya, lihat Memecahkan 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 Agen Operasional versi 2.0.0 atau yang lebih baru. Untuk informasi selengkapnya, lihat Menginstal Agen Operasional.

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