Menentukan tugas analisis yang menggunakan Google Cloud Observability

Dokumen ini menjelaskan cara mengonfigurasi analisis pada pipeline pengiriman jika Anda menggunakan Google Cloud Observability sebagai sistem pemantauan.

Jika Anda menggunakan penyedia pemantauan lain, Anda harus menentukan analisis kustom, yang mencakup pembuatan container untuk menyerap dan mengevaluasi metrik serta data lainnya dari penyedia Anda.

Sebelum memulai

  1. Login ke Akun Google Anda.

    Jika Anda belum memilikinya, Daftar untuk membuat akun baru.

  2. Instal Google Cloud CLI.

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  5. Pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini.

  6. Pastikan penagihan diaktifkan untuk Google Cloud project Anda.

  7. Aktifkan Compute Engine, Cloud Deploy API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    gcloud services enable clouddeploy.googleapis.com  compute.googleapis.com
  8. Instal Google Cloud CLI.

  9. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  10. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  11. Pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini.

  12. Pastikan penagihan diaktifkan untuk Google Cloud project Anda.

  13. Aktifkan Compute Engine, Cloud Deploy API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    gcloud services enable clouddeploy.googleapis.com  compute.googleapis.com

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat dan menggunakan tugas analisis, minta administrator untuk memberi Anda peran IAM berikut di akun untuk project Anda:

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

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Untuk memastikan bahwa akun layanan Cloud Deploy memiliki izin yang diperlukan untuk membuat dan menggunakan otomatisasi, minta administrator untuk memberikan peran IAM berikut ke akun layanan Cloud Deploy 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 Cloud Deploy melalui peran khusus atau peran bawaan lainnya.

Menyiapkan analisis di Cloud Deploy

Mengonfigurasi analisis deployment terdiri dari langkah-langkah berikut:

  1. Menentukan satu atau beberapa kebijakan pemberitahuan.

  2. Mengonfigurasi tugas analisis di pipeline pengiriman Anda.

  3. Menjalankan pipeline untuk menjalankan analisis.

Menentukan kebijakan pemberitahuan

Anda menentukan kebijakan pemberitahuan untuk menerima metrik dari Google Cloud Observability. Kebijakan pemberitahuan Google Cloud Observability menjelaskan kapan dan bagaimana Anda ingin mendapatkan notifikasi saat data pemantauan memenuhi kriteria yang ditentukan.

Analisis Cloud Deploy menggunakan pemberitahuan ini untuk mengambil tindakan berdasarkan situasi yang ditunjukkan oleh pemberitahuan.

Misalnya, Anda dapat menyiapkan kebijakan pemberitahuan pada aplikasi dalam produksi untuk mengirimkan pemberitahuan jika latensi respons HTTP terlalu tinggi, dan berdasarkan pemberitahuan tersebut tugas analisis Anda dapat memicu otomatisasi repairRolloutRule untuk melakukan roll back rilis.

Sebagai contoh lain, Anda dapat membuat kebijakan pemberitahuan serupa pada aplikasi yang di-deploy ke lingkungan staging, dan jika tidak ada pemberitahuan yang diaktifkan selama durasi tugas analisis, tugas tersebut dapat memicu otomatisasi promoteReleaseRuleotomatisasi untuk mempromosikan rilis ke produksi.

Membuat analisis

Untuk membuat tugas analisis untuk pipeline pengiriman aplikasi, konfigurasikan analisis tersebut di dalam konfigurasi untuk pipeline, lalu terapkan file konfigurasi tersebut.

Mengonfigurasi tugas analisis

Bagian ini menjelaskan cara mengonfigurasi tugas analisis Cloud Deploy untuk digunakan dengan Google Cloud Observability.

Tugas analisis Anda dikonfigurasi sebagai bagian dari definisi pipeline pengiriman, di dalam stanza strategy. Hal ini dapat dilakukan di dalam strategi apa pun, canary atau standard. Jika Anda ingin mengonfigurasi analisis per fase, gunakan canary kustom (strategy.canary.customCanaryDepolyment.phaseConfigs.phaseId.analysis).

Tugas analisis terdiri dari elemen berikut:

  • Durasi

    Durasi ini menentukan berapa lama tugas analisis berjalan. Jika durasi berakhir dan tidak mendeteksi pemberitahuan dari Google Cloud Observability, analisis akan dianggap berhasil dan deployment akan dilanjutkan.

  • Satu atau beberapa pemeriksaan, yang sesuai dengan kebijakan pemberitahuan di sistem pemantauan Anda

    Setiap pemeriksaan mencakup hal berikut:

    • ID

    • Satu atau beberapa kebijakan pemberitahuan

    Yaitu, referensi ke satu atau beberapa kebijakan pemberitahuan Google Cloud Observability.

    • Satu atau beberapa label, yang digunakan untuk mengidentifikasi kebijakan pemberitahuan tertentu. Karena kebijakan pemberitahuan Google Cloud Observability dapat memantau banyak aplikasi, label ini memungkinkan kami membatasi pemeriksaan ke satu atau beberapa aplikasi tertentu.

    Perhatikan bahwa Anda dapat menggunakan parameter sistem sebagai kunci untuk label di sini.

Berikut adalah sintaksis untuk mengonfigurasi tugas analisis saat menggunakan strategi deployment standard:


strategy:
  standard:
    analysis:
      duration: DURATION
      googleCloud:
        alertPolicyChecks:
        - id: CHECK_ID
          alertPolicies:
          - [ALERT_POLICY_ID]
          labels:
            [KEY: VALUE]

Dengan:

  • DURATION

    Adalah berapa lama, dalam detik, untuk menjalankan tugas analisis. Setelah durasi berakhir, tugas akan selesai. Jika analisis gagal (container menampilkan kode keluar bukan nol), tugas akan selesai (FAILED) sebelum durasi berakhir.

  • CHECK_ID

    Adalah ID untuk setiap pemeriksaan dalam analisis Anda. Setiap ID harus unik dalam tugas analisis ini. Anda dapat memiliki satu atau beberapa pemeriksaan dalam tugas analisis.

  • ALERT_POLICY_ID

    Adalah ID kebijakan untuk kebijakan pemberitahuan Google Cloud Observability yang Anda gunakan untuk pemeriksaan. Anda dapat menemukan ID kebijakan pemberitahuan dengan menjalankan gcloud monitoring policies list. Anda memerlukan ID yang sepenuhnya memenuhi syarat, yang terlihat seperti ini:

    projects/project-redacted/alertPolicies/01234567890123456789

    Ada kemungkinan ID yang ditampilkan menyertakan /conditions/13842666848149128276 setelah ID kebijakan. Jangan sertakan hal ini sebagai bagian dari ID kebijakan.

  • KEY dan VALUE

    Adalah key-value pair untuk label, yang akan digunakan untuk hanya mempertimbangkan pemberitahuan tertentu. Misalnya, Anda dapat menggunakan label sehingga pemeriksaan hanya mempertimbangkan pemberitahuan pada workload tertentu.

    Anda dapat menggunakan parameter sistem untuk nilai di sini.

    Berikut adalah contoh yang menggunakan parameter sistem:

    labels:
     service_name: '${{render.metadata.cloud_run.service.name}}'
    

Konfigurasi ini membuat tugas analisis. Meskipun ada beberapa pemeriksaan, konfigurasi ini hanya membuat satu tugas.

Jika tidak ada kebijakan pemberitahuan yang dikonfigurasi mengirimkan pemberitahuan apa pun, tugas ini akan berhasil dan deployment akan dilanjutkan. Jika ada kebijakan yang mengaktifkan pemberitahuan, tugas akan berhenti dengan status FAILED, dan deployment akan gagal (dengan status FAILED, kecuali jika Anda memilih untuk mengabaikan kegagalan tugas).

Menerapkan file konfigurasi pipeline pengiriman

Untuk membuat pipeline pengiriman dengan tugas analisis, terapkan file konfigurasi menggunakan perintah berikut:

gcloud deploy apply FILE \
       --region=REGION \
       --project=PROJECT_ID

Ganti kode berikut:

  • FILE

    Dengan nama file konfigurasi pipeline pengiriman Anda , clouddeploy.yaml atau nama apa pun yang Anda berikan.

  • REGION

    Dengan region tempat Anda membuat pipeline pengiriman.

  • PROJECT_ID

    Dengan ID project tempat Anda membuat pipeline pengiriman ini.

Sekarang Anda memiliki pipeline pengiriman di project, dan tugas analisis, yang akan menjadi bagian dari pipeline saat Anda membuat rilis.

Langkah berikutnya