Menyiapkan Agen untuk Oracle

Anda dapat menyiapkan Agen Google Clouduntuk Compute Workloads di host bersama dengan Oracle Database untuk mengumpulkan metrik dan memantau workload Oracle Database.

Dokumen ini menunjukkan cara menginstal, mengonfigurasi, dan memverifikasi Agen untuk Compute Workloads di instance Compute Engine yang menjalankan workload Oracle Database.

Agen mengumpulkan berbagai metrik Oracle dengan membuat kueri tampilan performa Oracle Database (seperti V$DATABASE, V$INSTANCE, dan V$DATAGUARD_STATS) dan tampilan kamus data (seperti DBA_DATA_FILES dan DBA_FREE_SPACE). Metrik ini kemudian dikirim ke Cloud Monitoring tempat metrik tersebut dapat divisualisasikan dan dianalisis. Lihat Metrik yang didukung.

Persyaratan sistem

Sistem Operasi Versi Oracle Edisi Oracle
  • Red Hat Enterprise Linux versi 7, 8, dan 9
  • Oracle Linux versi 7, 8, dan 9
  • Oracle Database 19c
  • Oracle Database 23ai*
  • Enterprise Edition
  • Edisi Standar
  • Edisi Express (Gratis)

Prasyarat

Sebelum menginstal Agen untuk Workload Komputasi guna memantau workload Oracle Database, pastikan prasyarat berikut terpenuhi:

Menginstal agen

Untuk menginstal Agen untuk Workload Komputasi, lakukan hal berikut:

  1. Buat file konfigurasi repositori.

    sudo tee /etc/yum.repos.d/google-cloud-workload-agent.repo << EOM
    [google-cloud-workload-agent]
    name=Google Cloud Workload Agent
    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
    
  2. Perbarui metadata pengelola paket.

    sudo yum makecache
    
  3. Instal paket rpm google-cloud-workload-agent.

    sudo yum install google-cloud-workload-agent
    

Setelah menginstal agen untuk Oracle, verifikasi penginstalan agen.

Memverifikasi penginstalan agen

Untuk memverifikasi bahwa agen sedang berjalan, pilih sistem operasi Anda, lalu ikuti langkah-langkah berikut:

  1. Gunakan SSH untuk terhubung ke instance VM Anda.
  2. Jalankan perintah berikut:

    systemctl status google-cloud-workload-agent
    

    Jika agen berfungsi dengan baik, output akan berisi active (running). Contoh:

    google-cloud-workload-agent.service - Google Cloud Workload Agent
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; preset: disabled)
    Active: active (running) since Tue 2024-09-03 22:29:57 UTC; 3s ago
    Main PID: 274972 (google_cloud_wo)
     Tasks: 10 (limit: 100440)
    Memory: 51.2M (max: 1.0G limit: 1.0G available: 972.7M)
       CPU: 625ms
    CGroup: /system.slice/google-cloud-workload-agent.service
           └─274972 /usr/bin/google_cloud_workload_agent startdaemon
    
    Sep 03 22:29:57 my_gce_instance systemd[1]: Started Google Cloud Workload Agent.
    

    Jika agen tidak berjalan, coba mulai ulang agen.

Mengonfigurasi agen

Setelah menginstal Agen untuk Compute Workloads, Anda dapat mengaktifkan fitur lain agen dengan memperbarui file konfigurasi agen. Untuk mengetahui daftar parameter yang dapat Anda konfigurasi untuk workload Oracle Database, lihat Parameter konfigurasi.

Setelah mengonfigurasi agen, Anda dapat memverifikasi penginstalan sekali lagi untuk memastikan agen dikonfigurasi dengan benar.

Parameter konfigurasi

Agen untuk Workload Komputasi mendukung parameter konfigurasi berikut untuk Oracle:

Parameter Deskripsi
log_level

String

Untuk menetapkan level logging agen, tambahkan level log. Level log yang tersedia adalah sebagai berikut:
  • DEBUG
  • INFO
  • WARNING
  • ERROR
Defaultnya adalah INFO.
log_to_cloud

Boolean

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

oracle_configuration.enabled

Boolean

Opsional. Menentukan apakah layanan Oracle aktif. Jika disetel ke true, atau jika tidak disetel dan beban kerja ada, Anda dapat mengonfigurasi penemuan dan pengumpulan metrik. Jika disetel ke false, layanan Oracle dan fungsi terkaitnya akan dinonaktifkan.

Parameter turunan berikut hanya berlaku jika Anda menentukan oracle_configuration.enabled: true.
oracle_configuration.oracle_discovery.enabled

Boolean

Opsional. Menentukan apakah Penemuan Oracle aktif.

Nilai defaultnya adalah true.

oracle_configuration.oracle_discovery.update_frequency

Int

Opsional. Tentukan interval sampel, dalam detik, yang menentukan frekuensi saat Agen untuk Compute Workloads menjalankan proses penemuan. Nilai default-nya adalah 3.600 detik (1 jam).

Pastikan nilai diakhiri dengan "s" huruf kecil untuk menunjukkan detik. Contoh: 30s.

oracle_configuration.oracle_metrics.enabled

Boolean

Opsional. Agar dapat mengaktifkan Agen untuk Workload Komputasi guna mengumpulkan metrik pemantauan Oracle, tentukan true. Nilai defaultnya adalah false.

Parameter turunan berikut hanya berlaku jika Anda menentukan oracle_metrics.enabled: true.

oracle_configuration.oracle_metrics.collection_frequency

Int

Opsional. Tentukan interval sampel, dalam detik, yang menentukan frekuensi saat Agen untuk Compute Workloads mengkueri instance Database Oracle Anda untuk mengumpulkan metrik pemantauan Oracle. Nilai default-nya adalah 60 detik.

Pastikan nilai diakhiri dengan "s" huruf kecil untuk menunjukkan detik. Contoh: 30s.

oracle_configuration.oracle_metrics.query_timeout

String

Opsional. Tentukan waktu tunggu untuk setiap kueri yang diajukan ke instance Oracle Database. Nilai default-nya adalah 10 detik.

Pastikan nilai diakhiri dengan "s" huruf kecil untuk menunjukkan detik. Contoh: 30s.

oracle_configuration.oracle_metrics.connection_parameters.username

String

Menentukan akun pengguna yang digunakan untuk membuat kueri instance Oracle Database.

Pastikan pengguna ini memiliki izin yang diperlukan untuk membaca tampilan performa di Oracle Database Anda.

oracle_configuration.oracle_metrics.connection_parameters.host

String

Menentukan ID mesin lokal yang menghosting instance database Anda.

oracle_configuration.oracle_metrics.connection_parameters.port

Int

Menentukan port tempat instance Oracle Database Anda menerima kueri.

oracle_configuration.oracle_metrics.connection_parameters.service_name

String

Menentukan nama layanan untuk instance Oracle Database yang ingin dipantau oleh agen.

oracle_configuration.oracle_metrics.connection_parameters.secret.project_id

String

Menentukan project ID Secret Manager untuk mengambil sandi bagi pengguna yang membuat kueri ke database.

oracle_configuration.oracle_metrics.connection_parameters.secret.secret_name

String

Menentukan nama secret di Secret Manager yang menyimpan sandi akun pengguna.

Mengumpulkan dan melihat metrik Oracle

Anda dapat mengaktifkan pengumpulan metrik untuk workload Oracle Database. Lihat Metrik yang didukung.

Mengaktifkan pengumpulan metrik

Untuk mengaktifkan pengumpulan metrik Oracle menggunakan Agent for Compute Workloads, lakukan hal berikut:

  1. Gunakan SSH untuk terhubung ke instance VM Anda.

  2. Sebagai pengguna OS Oracle, jalankan alat oraenv untuk menetapkan variabel lingkungan. Kami mengasumsikan bahwa Anda telah menentukan pengguna oracle dan ORACLE_SID dalam file /etc/oratab.

    sudo su - oracle
    export PATH=$PATH:/usr/local/bin
    . oraenv
    sqlplus / as sysdba
    
  3. Sebagai pengguna SYSDBA atau SYSOPER, di Oracle Database, buat pengguna untuk pemantauan dengan sandi yang cocok dengan secret yang Anda buat di Prasyarat.

    CREATE USER wlmagent IDENTIFIED BY password;
    
  4. Sebagai pengguna SYSDBA atau SYSOPER, berikan izin berikut kepada pengguna pemantauan untuk membuat kueri tampilan performa:

    • SESSION
    • SELECT_CATALOG_ROLE
    • SYSDG
    GRANT CREATE SESSION,SELECT_CATALOG_ROLE,SYSDG TO wlmagent;
    
  5. Keluar dari sqlplus dan pengguna oracle.

  6. Sebagai pengguna root, edit file konfigurasi agen menggunakan editor pilihan Anda.

    sudo nano /etc/google-cloud-workload-agent/configuration.json
    
  7. Di file konfigurasi, edit bagian oracle_metrics untuk melakukan pembaruan berikut:

    1. Tetapkan parameter enabled ke true.
    2. Tetapkan parameter service_name untuk menentukan nama layanan instance Oracle yang ingin Anda pantau oleh agen.
    3. Tentukan nama pengguna Oracle agar agen dapat terhubung ke database Anda.
    4. Tetapkan parameter host dan port agar agen terhubung ke database Anda.
    5. Tetapkan parameter secret agar agen mengambil sandi untuk nama pengguna:
      • project_id: ID project yang berisi data Secret Manager.
      • secret_name: Nama secret di Secret Manager.

    Berikut adalah contoh file konfigurasi:

    {
      "log_level": "INFO",
      "common_discovery": {"collection_frequency": "3600s" },
      "oracle_configuration": {
        "enabled": true,
        "oracle_metrics": {
          "enabled": true,
          "collection_frequency": "30s",
          "connection_parameters": [
            {
              "host": "localhost",
              "port": 1521,
              "service_name": "orcl",
              "username": "wlmagent",
              "secret": {
                "project_id": "my-project",
                "secret_name": "wlmagent_password"
              }
            }
          ]
        }
      }
    }
    
  8. Simpan file konfigurasi.

  9. Mulai ulang agen agar setelan baru diterapkan.

Melihat metrik

Anda dapat melihat metrik yang dikumpulkan dan memantau performa serta status Oracle menggunakan Metrics Explorer atau dengan mengimpor dasbor kustom.

Melihat Metrik di Metrics Explorer

Untuk melihat metrik Oracle di Metrics Explorer, lakukan hal berikut:

  1. Di konsol Google Cloud , buka Monitoring.
  2. Klik Metrics Explorer.
  3. Di bagian Temukan jenis resource dan metrik, lakukan hal berikut:
    1. Untuk Jenis resource, pilih Instance VM.
    2. Untuk Metric, pilih metrik Oracle yang ingin Anda lihat.

Anda dapat melihat data real-time dan historis untuk metrik Oracle yang dipilih, menggunakan filter dan agregasi sesuai kebutuhan.

Mengimpor Dasbor Kustom

Untuk melihat metrik Oracle yang dikumpulkan oleh agen, Anda dapat membuat dasbor Cloud Monitoring kustom dengan mengikuti petunjuk di Membuat dan mengelola dasbor kustom.

Kami menyediakan contoh dasbor oracle-status-overview.json dan petunjuk cara mengimpornya. Dasbor oracle-status-overview.json menampilkan diagram metrik Oracle berikut:

  • Uraian waktu database
  • Penggunaan memori database
  • Sesi Aktif Rata-Rata menurut Kelas Tunggu
  • I/O Disk
  • Pemakaian CPU
  • Traffic Jaringan

Untuk mengimpor dasbor oracle-status-overview.json, lakukan tindakan berikut:

  1. Pastikan gcloud CLI sudah diinstal dan diupdate. Untuk mengetahui petunjuknya, lihat Menginstal gcloud CLI.

  2. Dari repositori GitHub Agent for Compute Workloads, download dasbor oracle-status-overview.json:

    $ curl -H "Accept: application/vnd.github.v3.raw" -o oracle-status-overview.json https://api.github.com/repos/GoogleCloudPlatform/workloadagent/contents/observability/dashboards/oracle-status-overview.json
    
  3. Jalankan perintah berikut untuk mengimpor dasbor:

    gcloud alpha monitoring dashboards create --config-from-file=oracle-status-overview.json
    

    Setelah perintah dijalankan, dasbor kustom akan dibuat di Cloud Monitoring. Untuk mempelajari cara melihat dasbor, lihat Menemukan dan melihat dasbor.

Metrik yang didukung

Semua metrik Oracle yang dikumpulkan oleh Agen untuk Workload Compute tersedia di jalur workload.googleapis.com/oracle.

Berikut adalah daftar metrik Oracle yang didukung dan jalur Cloud Monitoring yang sesuai:

  • Memori proses

    • Memori Proses (PGA) yang digunakan, dalam byte.

      process/pga_memory/total_used_size

    • Memori proses (PGA) yang dialokasikan, dalam byte

      process/pga_memory/total_allocated_size

  • Memori bersama

    • Ukuran item memori bersama (SGA), dalam byte

      process/sga_memory/size

  • Peristiwa tunggu sistem

    • Jumlah total penantian untuk kelas tunggu terdaftar

      sys_wait/count

    • Total waktu yang dihabiskan dalam kelas tunggu ini, dalam detik

      sys_wait/time

    • Total penantian di latar depan dalam kelas penantian ini

      sys_wait/foreground/count

    • Total waktu tunggu di latar depan untuk kelas tunggu ini, dalam detik

      sys_wait/foreground/time

  • Waktu berlalu sistem

    • Waktu berlalu yang dihabiskan untuk melakukan panggilan tingkat pengguna database, dalam detik

      sys_time/db_time

    • Waktu CPU yang dihabiskan untuk panggilan tingkat pengguna database, dalam detik

      sys_time/db_cpu

    • Jumlah waktu yang berlalu saat pernyataan SQL dijalankan

      sys_time/sql_execute_elapsed_time

    • Jumlah waktu berlalu yang dihabiskan untuk mengurai pernyataan SQL

      sys_time/parse_time_elapsed

    • Jumlah waktu berlalu yang dihabiskan untuk menjalankan interpreter PL/SQL

      sys_time/pl_sql_execution_elapsed_time

    • Waktu berlalu yang digunakan oleh proses latar belakang database, dalam detik

      sys_time/background_elapsed_time

  • Statistik I/O

    • Jumlah total operasi baca (kecil + besar)

      iostat/read_ops_count

    • Jumlah total operasi tulis (kecil + besar)

      iostat/write_ops_count

    • Total jumlah byte yang dibaca

      iostat/read_bytes_count

    • Jumlah total byte yang ditulis

      iostat/write_bytes_count

    • Latensi rata-rata per operasi I/O

      iostat/average_latency_seconds

  • File data

    • Ukuran file data yang dialokasikan, dalam byte

      data_files/total_bytes

    • Ruang file data yang digunakan, dalam byte

      data_files/bytes_used

    • Ruang kosong file data, dalam byte

      data_files/available_bytes

    • Batas ekstensi otomatis file data, dalam byte

      data_files/max_bytes

    • Persentase file data yang digunakan

      data_files/percent_used

  • Instance database

    • Waktu operasional instance, dalam detik

      instance/uptime

    • Status instance

      instance/status

      Metrik ini dapat memiliki nilai berikut:

      UNKNOWN 0
      STARTED 1
      MOUNTED 2
      OPEN 3
      OPEN MIGRATE 4
    • Mode terbuka

      instance/db_open_mode

      Metrik ini dapat memiliki nilai berikut:

      UNKNOWN 0
      MOUNTED 1
      READ WRITE 2
      READ ONLY 3
      READ ONLY WITH APPLY 4
  • Oracle Data Guard

    • Penundaan penerapan pengulangan, dalam detik

      dataguard/apply_lag

    • Penundaan transportasi pengulangan, dalam detik

      dataguard/transport_lag

Mengelola agen

Memulai ulang agen

Jika Agen untuk Compute Workloads berhenti berfungsi atau Anda memperbarui konfigurasinya, mulai ulang agen.

  1. Gunakan SSH untuk terhubung ke instance VM.
  2. Jalankan perintah berikut:

    sudo systemctl restart google-cloud-workload-agent

Memeriksa versi agen

Untuk memeriksa versi agen Anda, selesaikan langkah-langkah berikut:

  1. Gunakan SSH untuk terhubung ke instance VM.
  2. Jalankan perintah berikut:

    yum info google-cloud-workload-agent
    

Memeriksa update

  1. Gunakan SSH untuk terhubung ke instance VM.
  2. Jalankan perintah berikut:

    sudo yum check-update google-cloud-workload-agent

Memperbarui agen

Untuk memastikan Anda memiliki agen versi terbaru, periksa update secara berkala dan update agen:

  1. Gunakan SSH untuk terhubung ke instance VM.
  2. Jalankan perintah berikut:

    sudo yum --nogpgcheck update google-cloud-workload-agent

Melihat log agen

Log Agent for Compute Workloads tersedia di /var/log/google-cloud-workload-agent.log.

Keberagaman log dikontrol oleh parameter log_level. Menyetel tingkat log DEBUG mencakup informasi tambahan untuk memecahkan masalah tertentu, tetapi menghasilkan log yang jauh lebih besar.

Secara default, log untuk Agen untuk Compute Workloads dialihkan dari instance VM Anda ke Cloud Logging.

Untuk melihat log agen di Logging, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Buka panel Query.

  3. Dari menu drop-down Resources, pilih Global, lalu klik Apply.

  4. Di editor kueri, masukkan google-cloud-workload-agent.

  5. Klik Run query.

Anda dapat melihat log yang dihasilkan oleh agen yang berjalan di semua instance VM Anda. Anda dapat memfilter log untuk instance tertentu.

Mengonfigurasi log agen di Cloud Logging

Untuk menonaktifkan pengalihan default log agen ke Cloud Logging, ikuti langkah-langkah berikut:

  1. Gunakan SSH untuk terhubung ke instance VM Anda.

  2. Buka file konfigurasi agen:

    /etc/google-cloud-workload-agent/configuration.json
  3. Untuk properti log_to_cloud, perbarui nilai menjadi false.

  4. Simpan file konfigurasi.

  5. Mulai ulang agen agar perubahan ini diterapkan.

Pemecahan masalah

Bagian berikut memberikan informasi tentang masalah umum terkait penggunaan agen untuk workload Oracle Database, penyebab, dan penyelesaiannya.

Izin IAM tidak memadai

Masalah: Log Agen untuk Compute Workloads menampilkan error izin IAM yang tidak memadai.

googleapi: Error 403: The client is not authorized to make this request.

Penyebab: Akun layanan yang digunakan oleh agen tidak memiliki izin IAM yang diperlukan untuk mengakses API Google Cloud atau sandi untuk pengguna Oracle di Secret Manager.

Penyelesaian: Untuk mengatasi masalah ini, pastikan akun layanan VM memiliki peran dan izin IAM yang disebutkan dalam Prasyarat.

Cakupan autentikasi tidak memadai

Masalah: Log Agen untuk Compute Workloads menampilkan cakupan autentikasi yang tidak memadai.

googleapi: Error 403: Request had insufficient authentication scopes.

Penyebab: Akun layanan yang digunakan oleh agen tidak memiliki cakupan akses yang diperlukan.

Penyelesaian: Untuk mengatasi masalah ini, konfigurasi cakupan akses VM ke cloud-platform.

Metrik tidak muncul di Cloud Monitoring

Masalah: Metrik dari Agen untuk Beban Kerja Compute tidak terlihat di Cloud Monitoring.

Penyebab:

Berikut adalah kemungkinan penyebab masalah ini:

  • Akun layanan yang digunakan oleh Agen untuk Compute Workloads tidak memiliki izin IAM yang diperlukan.
  • Pengguna Oracle yang digunakan oleh agen tidak memiliki hak istimewa yang memadai untuk membuat kueri tampilan performa.
  • Terjadi error dalam konfigurasi agen.

Penyelesaian:

  • Untuk mengatasi masalah izin yang tidak memadai untuk akun layanan, lakukan langkah-langkah berikut:

    1. Di konsol Google Cloud , buka halaman detail instance VM dan catat akun layanan yang digunakan oleh instance yang menjalankan agen.
    2. Buka halaman IAM & admin dan pastikan akun layanan memiliki semua peran dan izin yang diperlukan yang disebutkan dalam Prasyarat. Berikan salah satu peran yang diperlukan yang belum diberikan ke akun layanan.
  • Untuk mengatasi masalah izin yang tidak memadai bagi pengguna Oracle, lakukan hal berikut:

    1. Pastikan pengguna Oracle memiliki izin yang diperlukan berikut untuk membuat kueri tampilan performa:

      • SESSION
      • SELECT_CATALOG_ROLE
      • SYSDG
    2. Berikan izin yang belum diberikan dengan menjalankan perintah SQL berikut:

      -- Grant the "wlmagent" user the required permissions
      GRANT CREATE SESSION,SELECT_CATALOG_ROLE,SYSDG TO USERNAME;
      
  • Untuk mengatasi masalah terkait kesalahan konfigurasi agen, lakukan hal berikut:

    1. Gunakan SSH untuk terhubung ke instance VM Anda.
    2. Tinjau log agen untuk mengidentifikasi error atau masalah yang mencegah pengumpulan metrik. Anda dapat menemukan log di /var/log/google-cloud-workload-agent.log.

      Cari error izin, kesalahan konfigurasi, atau masalah konektivitas.

    3. Mengatasi error

    4. Mulai ulang agen dan periksa apakah pengumpulan metrik dimulai.

Gagal memuat file konfigurasi

Masalah: Jika file konfigurasi memiliki nilai yang tidak valid, Anda akan melihat error berikut.

"Failed to load configuration","pid":3524,"error":"proto: (line 19:42): unknown
field "{field_name}"

Penyelesaian: Untuk mengatasi masalah ini, perbarui file konfigurasi menggunakan detail di Parameter konfigurasi.

Gagal melakukan inisialisasi pengumpulan data

Masalah: Setelah menginstal agen, jika file konfigurasi tidak diperbarui, Anda akan melihat error berikut:

"Failed to initialize guest collection","pid":2112,"error":"invalid value for "user_name" "secret_name"

Penyelesaian: Untuk mengatasi masalah ini, inisialisasi konfigurasi kredensial menggunakan Parameter konfigurasi.