Menyiapkan agen untuk workload MySQL

Dokumen ini menunjukkan cara menginstal Agen untuk Compute Workloads di instance Compute Engine, dan mengonfigurasi agen untuk terhubung dengan workload MySQL yang berjalan di instance komputasi tersebut.

Setelah Anda menginstal dan mengonfigurasi agen, agen akan mengumpulkan metrik dari workload MySQL dan instance komputasi yang mendasarinya, lalu mengirimkannya ke Workload Manager. Kemudian, Anda dapat menggunakan evaluasi Workload Manager untuk memindai workload MySQL Anda guna mendeteksi penyimpangan dari praktik terbaik untuk konfigurasi infrastruktur, sistem operasi, dan workload.

Sebelum memulai

Sebelum menginstal dan mengonfigurasi Agen untuk Workload Compute, Anda harus memastikan prasyarat berikut terpenuhi:

Peran IAM yang diperlukan untuk agen

Agen untuk Compute Workloads menggunakan akun layanan yang terlampir ke instance komputasi untuk autentikasi dan untuk mengakses resource Google Cloud .

Untuk meningkatkan keamanan, sebaiknya gunakan akun layanan khusus daripada menggunakan akun layanan default Compute Engine.

Untuk memastikan bahwa akun layanan memiliki izin yang diperlukan agar Agent for Compute Workloads dapat melakukan autentikasi dengan Google Cloud dan mengakses Google Cloud resource, minta administrator untuk memberi akun layanan peran IAM berikut di project Anda:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Administrator Anda mungkin juga dapat memberikan izin yang diperlukan kepada akun layanan melalui peran khusus atau peran yang telah ditetapkan lainnya.

Mengaktifkan akses ke Cloud API

Compute Engine merekomendasikan konfigurasi instance Anda untuk mengizinkan semua cakupan akses ke semua Cloud API dan hanya menggunakan izin IAM akun layanan instance untuk mengontrol akses ke resourceGoogle Cloud . Untuk mengetahui informasi selengkapnya, lihat Membuat VM yang menggunakan akun layanan yang dikelola pengguna.

Jika Anda membatasi akses ke Cloud API, maka Agen untuk Compute Workloads memerlukan cakupan akses Cloud API minimum berikut pada instance komputasi host:

https://www.googleapis.com/auth/cloud-platform

Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik cakupan.

Jika Anda menjalankan aplikasi MySQL di instance Compute yang tidak memiliki alamat IP eksternal, Anda harus mengaktifkan Akses Google Pribadi di subnet instance agar Agen untuk Compute Workloads dapat mengakses Google API dan layanan Google. Untuk mengetahui informasi tentang cara mengaktifkan Akses Google Pribadi, lihat Mengonfigurasi Akses Google Pribadi.

Menginstal dan mengonfigurasi agen menggunakan pengelola paket

Bagian ini menunjukkan cara menginstal Agen untuk Compute Workloads di instance komputasi Anda, dan mengonfigurasinya untuk terhubung dengan instance MySQL, menggunakan pengelola paket.

Untuk menginstal Agen untuk Compute Workloads, selesaikan langkah-langkah berikut:

RHEL

Di Red Hat Enterprise Linux (RHEL), Anda menginstal Agen untuk Compute Workloads menggunakan perintah pengelolaan paket yum. Perintah ini akan menyelesaikan tugas berikut:

  • Mendownload agen versi terbaru.
  • Membuat layanan systemd untuk agen, yang bernama google-cloud-workload-agent.
  • Mengaktifkan dan memulai layanan google-cloud-workload-agent.

Untuk menginstal dan mengonfigurasi Agen untuk Compute Workloads di instance komputasi berbasis RHEL, selesaikan langkah-langkah berikut:

  1. Buat koneksi SSH dengan instance komputasi Anda.

  2. Di terminal, instal agen:

    sudo tee /etc/yum.repos.d/google-cloud-workload-agent.repo << EOM
    [google-cloud-workload-agent]
    name=Google Cloud Agent for Compute Workloads
    baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch
    enabled=1
    gpgcheck=0
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOM
    sudo yum install google-cloud-workload-agent
    
  3. Buka file konfigurasi agen:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Tentukan nilai untuk semua parameter wajib, seperti yang dijelaskan dalam Parameter konfigurasi.

  5. Simpan file konfigurasi

  6. Mulai ulang agen agar perubahan diterapkan.

SLES

Di SUSE Linux Enterprise Server (SLES), Anda menginstal Agen untuk Compute Workloads menggunakan perintah pengelolaan paket zypper. Perintah ini akan menyelesaikan tugas berikut:

  • Mendownload agen versi terbaru.
  • Membuat layanan systemd untuk agen, yang bernama google-cloud-workload-agent.
  • Mengaktifkan dan memulai layanan google-cloud-workload-agent.

Untuk menginstal dan mengonfigurasi Agen untuk Compute Workloads di instance komputasi berbasis SLES, selesaikan langkah-langkah berikut:

  1. Buat koneksi SSH dengan instance komputasi Anda.

  2. Di terminal, instal agen:

    sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch
    google-cloud-workload-agent
    sudo zypper install google-cloud-workload-agent
    
  3. Buka file konfigurasi agen:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Tentukan nilai untuk semua parameter wajib, seperti yang dijelaskan dalam Parameter konfigurasi.

  5. Simpan file konfigurasi

  6. Mulai ulang agen agar perubahan diterapkan.

Debian

Di Debian, Anda menginstal Agen untuk Compute Workloads menggunakan perintah pengelolaan paket apt. Perintah ini akan menyelesaikan tugas berikut:

  • Mendownload agen versi terbaru.
  • Membuat layanan systemd untuk agen, yang bernama google-cloud-workload-agent.
  • Mengaktifkan dan memulai layanan google-cloud-workload-agent.

Untuk menginstal dan mengonfigurasi Agen untuk Compute Workloads di instance komputasi berbasis Debian, selesaikan langkah-langkah berikut:

  1. Buat koneksi SSH dengan instance komputasi Anda.

  2. Di terminal, instal agen:

    echo 'deb https://packages.cloud.google.com/apt google-cloud-workload-agent-x86-64-apt main' | sudo tee -a /etc/apt/sources.list.d/google-cloud-workload-agent.list
    sudo apt-get update
    sudo apt-get install google-cloud-workload-agent
    
  3. Buka file konfigurasi agen:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Tentukan nilai untuk semua parameter wajib, seperti yang dijelaskan dalam Parameter konfigurasi.

  5. Simpan file konfigurasi

  6. Mulai ulang agen agar perubahan diterapkan.

Windows

Di Windows, Anda menginstal Agen untuk Compute Workloads menggunakan perintah pengelolaan paket googet. Perintah ini menyelesaikan tugas berikut:

  • Mendownload agen versi terbaru.
  • Membuat layanan Windows bernama google-cloud-workload-agent.
  • Membuat tugas terjadwal yang berjalan setiap menit untuk memeriksa apakah layanan berjalan dan jika perlu, memulai ulang layanan.

Untuk menginstal dan mengonfigurasi Agen untuk Compute Workloads di instance komputasi berbasis Windows, selesaikan langkah-langkah berikut:

  1. Buat koneksi dengan instance komputasi Anda menggunakan RDP.

    Untuk mengetahui informasi tentang cara melakukannya, lihat Terhubung ke VM Windows menggunakan RDP.

  2. Sebagai administrator, jalankan perintah berikut dari PowerShell:

    googet addrepo google-cloud-workload-agent  https://packages.cloud.google.com/yuck/repos/google-cloud-workload-agent-windows-x86_64
    googet install google-cloud-workload-agent
    
  3. Buka file konfigurasi agen:

    %ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
    
  4. Tentukan nilai untuk semua parameter wajib, seperti yang dijelaskan dalam Parameter konfigurasi.

  5. Simpan file konfigurasi

  6. Mulai ulang agen agar perubahan diterapkan.

Menginstal dan mengelola agen di fleet VM menggunakan VM Extension Manager

Menyiapkan VM Extension Manager

Untuk menyiapkan VM Extension Manager, selesaikan langkah-langkah berikut:

Menginstal agen di fleet VM

Untuk menginstal Agent for Compute Workloads versi terbaru di fleet VM Anda dalam zona tertentu menggunakan kebijakan VM Extension Manager, selesaikan langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman VM extension policies.

    Buka kebijakan ekstensi VM

  2. Klik Create extension policy.

  3. Di kolom Name, masukkan nama untuk kebijakan.

  4. Opsional: Di kolom Description, masukkan deskripsi untuk kebijakan.

  5. Di kolom Priority, tentukan nomor prioritas untuk menyelesaikan konflik antar-kebijakan. Angka yang lebih rendah menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000.

  6. Dengan menggunakan daftar Region dan Zone, pilih zona tempat Anda ingin menerapkan kebijakan ini.

  7. Di bagian Ekstensi, klik Tambahkan ekstensi, lalu lakukan tindakan berikut:

    1. Dari daftar Ekstensi, pilih Ekstensi Google Cloud untuk Beban Kerja Compute.
    2. Biarkan kolom Version kosong.

      Hal ini mengarahkan kebijakan untuk menginstal Agent for Compute Workloads versi terbaru.

    3. Di kolom Configuration file content, masukkan konfigurasi yang ingin Anda terapkan ke agen.

      Untuk mengetahui informasi tentang parameter konfigurasi yang didukung oleh agen untuk workload MySQL Anda, lihat Parameter konfigurasi.

    4. Klik Done.

  8. Opsional: Untuk membatasi peluncuran kebijakan ke VM yang diperlukan, lakukan hal berikut:

    1. Klik Tambahkan label dan sertakan label yang mengidentifikasi VM yang diperlukan.
    2. Klik Done.
  9. Klik Create.

gcloud

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
    --zone=ZONE \
    --extensions=google-cloud-workload-extension \
    --config-from-file=google-cloud-workload-extension=CONFIG_FILE_PATH \
    [--description="DESCRIPTION" \]
    [--inclusion-labels=KEY_1=VALUE_1 \]
    [--inclusion-labels=KEY_2=VALUE_2,KEY_3=VALUE_3 \]
    [--priority=PRIORITY]

Ganti kode berikut:

  • POLICY_NAME: nama untuk kebijakan ekstensi VM.

    Perintah akan gagal jika kebijakan dengan nama yang ditentukan sudah ada di zona.

  • ZONE: zona tempat Anda ingin menerapkan kebijakan ini.

  • CONFIG_FILE_PATH: jalur lokal ke file JSON yang berisi konfigurasi agar Agent for Compute Workloads dapat terhubung dengan beban kerja MySQL Anda.

    • Atau, untuk memberikan konfigurasi sebagai string inline, gunakan flag --config, bukan --config-from-file. Contohnya, --config=google-cloud-workload-extension="CONFIG". Google Cloud menyarankan Anda menggunakan --config-from-file.
    • Anda dapat menggunakan --config-from-file atau --config, tetapi tidak keduanya dalam perintah yang sama.
    • Untuk mengetahui informasi tentang parameter konfigurasi yang didukung oleh agen untuk workload MySQL Anda, lihat Parameter konfigurasi.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.

  • KEY_1=VALUE_1: daftar pasangan nilai kunci yang dipisahkan koma yang menentukan label yang digunakan kebijakan untuk menargetkan VM.

    • Agar VM menjadi target kebijakan Anda, VM harus memiliki semua label yang ditentukan.
    • Jika Anda menentukan --inclusion-labels beberapa kali, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang diberikan (OR logis). Jika Anda menghilangkan tanda ini, kebijakan akan menargetkan semua VM di zona yang ditentukan.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih rendah menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000.

Contoh:

Perintah berikut membuat kebijakan bernama test-agent-policy di projectGoogle Cloud bernama test-project, yang menginstal versi terbaru Agent for Compute Workloads di semua VM yang di-deploy di zona us-centrail-f. Konfigurasi yang ditentukan dalam agent-config.json diterapkan ke agen.

gcloud beta compute zone-vm-extension-policies create test-agent-policy  \
    --project=test-project \
    --zone=us-central1-f \
    --extensions=google-cloud-workload-extension \
    --config-file-path=google-cloud-workload-extension="/usr/agent-config.json"

Memverifikasi penginstalan agen

Untuk memastikan bahwa agen berjalan seperti yang diharapkan, selesaikan langkah-langkah berikut:

RHEL

  1. Buat koneksi SSH dengan instance komputasi Anda.

  2. Periksa status paket agen:

    systemctl status google-cloud-workload-agent
    

    Jika paket agen berjalan seperti yang diharapkan, output akan berisi active (running). Contoh:

    google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled)
    Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago
    Main PID: 14412 (google_cloud_sq)
      Tasks: 7
    Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M)
    CGroup: /system.slice/google-cloud-workload-agent.service
            └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run

SLES

  1. Buat koneksi SSH dengan instance komputasi Anda.

  2. Periksa status paket agen:

    systemctl status google-cloud-workload-agent
    

    Jika paket agen berjalan seperti yang diharapkan, output akan berisi active (running). Contoh:

    google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled)
    Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago
    Main PID: 14412 (google_cloud_sq)
      Tasks: 7
    Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M)
    CGroup: /system.slice/google-cloud-workload-agent.service
            └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run

Debian

  1. Buat koneksi SSH dengan instance komputasi Anda.

  2. Periksa status paket agen:

    systemctl status google-cloud-workload-agent
    

    Jika paket agen berjalan seperti yang diharapkan, output akan berisi active (running). Contoh:

    google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled)
    Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago
    Main PID: 14412 (google_cloud_sq)
      Tasks: 7
    Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M)
    CGroup: /system.slice/google-cloud-workload-agent.service
            └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run

Windows

  1. Buat koneksi dengan instance komputasi Anda menggunakan RDP.

    Untuk mengetahui informasi tentang cara melakukannya, lihat Terhubung ke VM Windows menggunakan RDP.

  2. Sebagai administrator, jalankan perintah berikut dari PowerShell:

    $(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).Status
    

    Jika agen berjalan seperti yang diharapkan, Anda akan melihat statusnya sebagai Running.

Contoh file konfigurasi

Berikut adalah contoh konfigurasi yang memungkinkan Agen untuk Compute Workloads terhubung dengan instance MySQL. Untuk autentikasi, secret Secret Manager digunakan, yang disimpan dalam Google Cloud project yang sama dengan instance MySQL yang sedang berjalan.

{
  "log_level": "INFO",
  "common_discovery": {
    "collection_frequency": "10800s"
  },
  "mysql_configuration": {
    "enabled": true,
    "connection_parameters": {
      "username": "db_user_name",
      "secret": {
        "secret_name": "db_pwd_secret_name",
        "project_id": ""
      },
      "host": "localhost",
      "port": 1433
    }
  }
}

Parameter konfigurasi

Tabel berikut menjelaskan parameter konfigurasi Agen untuk Compute Workloads yang mendukung evaluasi untuk workload MySQL:

Parameter
log_level

String

Untuk menetapkan level logging agen, tetapkan nilai yang diperlukan. Level log yang tersedia adalah sebagai berikut:

  • DEBUG
  • INFO
  • WARNING
  • ERROR

Level log default adalah INFO. Jangan ubah level logging kecuali jika Anda diarahkan oleh Cloud Customer Care.

log_to_cloud

Boolean

Untuk mengalihkan log agen ke Cloud Logging, tentukan true. Nilai defaultnya adalah true.

agent_properties.log_usage_metrics

Boolean

Untuk mengaktifkan logging metrik kesehatan agen, tetapkan nilai ke true. Nilai defaultnya adalah false.

common_discovery.collection_frequency

Duration

Tentukan frekuensi, dalam detik, saat layanan penemuan beban kerja agen berjalan. Nilai defaultnya adalah 10800s.

Pastikan nilai parameter ini diakhiri dengan s huruf kecil.

mysql_configuration.enabled

Boolean

Agar agen dapat mengumpulkan metrik dari instance MySQL, tetapkan nilai ke true. Nilai defaultnya adalah false.

mysql_configuration.connection_parameters.username

String

Tentukan akun pengguna yang digunakan agen untuk membuat kueri instance MySQL.

mysql_configuration.connection_parameters.password

String

Tentukan sandi teks biasa untuk akun pengguna yang digunakan agen untuk mengkueri instance MySQL.

Daripada menentukan sandi teks biasa, sebaiknya gunakan parameter secret.name dan secret.project_id.

Untuk autentikasi, agen menggunakan urutan preferensi berikut: jika ditentukan, set parameter secret lebih disukai daripada parameter password. Sebaiknya tetapkan hanya satu opsi autentikasi dalam file konfigurasi agen.

mysql_configuration.connection_parameters.secret.secret_name

String

Opsional. Untuk memberikan sandi dengan aman bagi akun pengguna yang digunakan agen untuk mengkueri instance MySQL, tentukan nama secret Secret Manager yang berisi sandi.

Untuk autentikasi, agen menggunakan urutan preferensi berikut: jika ditentukan, set parameter secret lebih disukai daripada parameter password. Sebaiknya tetapkan hanya satu opsi autentikasi dalam file konfigurasi agen.

mysql_configuration.connection_parameters.secret.project_id

String

Opsional. Untuk menggunakan parameter secret.secret_name guna mengautentikasi akun pengguna yang ditentukan, tentukan project ID Google Cloud tempat secret Secret Manager disimpan.

Jika secret dan workload berada dalam project Google Cloud yang sama, tetapkan nilai parameter ini ke string kosong ("").

mysql_configuration.connection_parameters.host

String

Tentukan nama host MySQL.

mysql_configuration.connection_parameters.port

Int

Tentukan port tempat instance MySQL Anda menerima kueri.

Langkah berikutnya