All Products
Search
Document Center

Container Service for Kubernetes:Pantau kluster ACK Edge menggunakan Managed Service for Prometheus

Last Updated:Aug 29, 2026

Anda dapat menggunakan Managed Service for Prometheus untuk melihat dasbor dan metrik kinerja yang telah ditentukan sebelumnya untuk ACK Edge cluster. Topik ini menjelaskan cara menghubungkan ACK Edge cluster ke Managed Service for Prometheus.

Prasyarat

  • ACK Edge cluster, versi 1.18.8-aliyunedge.1 atau yang lebih baru.

  • Pastikan komponen ack-arms-prometheus di ACK Edge cluster berada pada versi 1.1.4 atau yang lebih baru. Jika tidak, tingkatkan komponen ack-arms-prometheus.

  • Jika kluster Anda menjalankan versi sebelum 1.26, pastikan penerusan port diaktifkan untuk Node Exporter port 9100 dan GPU Exporter port 9445 dalam ConfigMap kube-system/edge-tunnel-server-cfg. Konfigurasi berikut diperlukan:

    http-proxy-ports: 9445
    https-proxy-ports: 9100

Pengantar pemantauan Managed Service for Prometheus

Managed Service for Prometheus terintegrasi sepenuhnya dengan ekosistem Prometheus open source. Layanan ini mendukung pemantauan berbagai komponen, menyediakan berbagai dasbor yang telah ditentukan sebelumnya, serta layanan Prometheus yang sepenuhnya dikelola. Dengan Managed Service for Prometheus, Anda tidak perlu membangun sistem pemantauan sendiri atau mengelola isu-isu mendasar seperti penyimpanan data, visualisasi data, dan O&M.

ACK Edge cluster mendukung Edisi Dasar Pemantauan Kontainer.

Lihat dasbor Grafana di Managed Service for Prometheus

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster target. Di panel navigasi sisi kiri, pilih Operations > Prometheus Monitoring.

    Catatan

    Jika ini pertama kalinya Anda masuk, ikuti petunjuk di layar dan klik Install di bawah komponen tersebut. Konsol akan secara otomatis menginstal add-on dan memeriksa dasbor. Setelah instalasi selesai, konsol akan mengarahkan Anda ke halaman detail Prometheus Monitoring.

    Di halaman Prometheus Monitoring, Anda dapat menggunakan dasbor bawaan, seperti Node Monitoring, Application Monitoring, dan GPU Monitoring, untuk melihat data pemantauan untuk node, aplikasi, dan GPU di kluster.

Konfigurasikan aturan peringatan Prometheus

Buat aturan peringatan untuk menerima notifikasi real-time terkait event tertentu. Anda dapat mengirim notifikasi melalui berbagai saluran, seperti panggilan telepon, email, pesan teks, DingTalk, WeCom, dan webhook, yang membantu Anda mengidentifikasi anomali secara proaktif. Peringatan dialihkan melalui kebijakan notifikasi ke kontak atau grup kontak yang sesuai.

  • Untuk informasi lebih lanjut tentang cara membuat robot DingTalk, lihat DingTalk Robot.

  • Untuk informasi lebih lanjut tentang cara membuat robot WeCom, lihat WeCom Robot.

Langkah 1: Buat kontak

  1. Masuk ke Konsol ARMS. Di panel navigasi sebelah kiri, pilih Alert Management > Notification Objects.

  2. Di tab Contacts, klik Create Contact.

  3. Di kotak dialog Create Contact, konfigurasikan parameter dan klik Confirm.

    Parameter

    Deskripsi

    Name

    Nama kontak.

    Phone Number

    Memungkinkan kontak menerima notifikasi peringatan melalui panggilan telepon dan pesan teks.

    Catatan

    Hanya nomor telepon yang telah diverifikasi yang dapat digunakan untuk notifikasi panggilan telepon dalam kebijakan notifikasi. Untuk mengetahui cara memverifikasi nomor telepon, lihat Verify a phone number.

    Email

    Memungkinkan kontak menerima notifikasi peringatan melalui email.

    Penting

    Anda dapat membuat hingga 100 kontak.

Langkah 2: Buat aturan peringatan Prometheus

Buat aturan peringatan ambang batas statis

Jenis pemeriksaan ambang batas statis menyediakan metrik yang telah ditentukan sebelumnya. Dengan memilih metrik yang sudah ada, Anda dapat dengan cepat membuat aturan peringatan.

  1. Masuk ke Konsol ARMS.

  2. Di panel navigasi kiri, pilih Prometheus Monitoring > Prometheus Alert Rules.

  3. Di halaman Prometheus Alert Rules, klik Create Prometheus Alert Rule.

  4. Di halaman Create Prometheus Alert Rule, konfigurasikan parameter peringatan dan klik Save.

    Parameter

    Deskripsi

    Contoh

    Alert Name

    Nama peringatan.

    prod-cluster-container-cpu-alert

    Check Type

    Pilih Static threshold.

    Static threshold

    Prometheus Instance

    Pilih instans Prometheus tempat Anda ingin membuat peringatan.

    Production Cluster

    Alert Group

    Pilih grup peringatan.

    Tipe Prometheus yang berbeda mendukung grup peringatan yang berbeda. Opsi grup peringatan yang tersedia berubah berdasarkan tipe instans Prometheus yang dipilih.

    Kubernetes Workloads

    Alert Metric

    Pilih metrik yang ingin Anda konfigurasikan peringatannya. Setiap grup peringatan memiliki metrik yang berbeda.

    Container CPU utilization

    Alert Condition

    Tetapkan kondisi yang memicu event peringatan berdasarkan konten yang telah ditentukan dari metrik peringatan.

    Kondisi peringatan terpenuhi saat utilisasi CPU Kontainer adalah greater than 80%.

    Filter Condition

    Tentukan cakupan aturan peringatan berdasarkan metrik peringatan. Event peringatan dipicu ketika resource apa pun yang memenuhi kondisi filter memenuhi aturan peringatan.

    Kondisi filter berikut tersedia:

    • Traverse: Aturan peringatan berlaku untuk semua resource di instans Prometheus saat ini. Traverse adalah kondisi filter default.

    • Equal To: Setelah memilih kondisi ini, masukkan nama resource tertentu. Aturan peringatan hanya berlaku untuk resource tersebut. Anda tidak dapat memasukkan beberapa nama resource.

    • Not Equal To: Setelah memilih kondisi ini, masukkan nama resource tertentu. Aturan peringatan berlaku untuk semua resource kecuali yang ditentukan. Anda tidak dapat memasukkan beberapa nama resource.

    • Match Regular Expression: Setelah memilih kondisi ini, masukkan ekspresi reguler untuk mencocokkan nama resource sesuai kebutuhan. Aturan peringatan berlaku untuk semua resource yang cocok dengan ekspresi reguler tersebut.

    • Do Not Match Regular Expression: Setelah memilih kondisi ini, masukkan ekspresi reguler untuk mencocokkan nama resource sesuai kebutuhan. Aturan peringatan mengecualikan semua resource yang cocok dengan ekspresi reguler tersebut.

    Catatan
    • Setelah menetapkan kondisi filter, area Data Preview akan muncul.

    • Kondisi filter tidak boleh melebihi 300 karakter.

    Traverse

    Data Preview

    Area Data Preview menampilkan pernyataan Prometheus Query Language (PromQL) yang sesuai dengan kondisi peringatan. Area ini juga menampilkan nilai metrik pemantauan sebagai kurva deret waktu.

    Secara default, hanya nilai real-time satu resource yang ditampilkan. Anda dapat memilih resource target dan rentang waktu di kotak filter area ini untuk melihat nilai resource dan rentang waktu yang berbeda.

    Catatan
    • Ambang batas peringatan ditampilkan sebagai garis lurus merah pada kurva deret waktu. Bagian kurva yang memenuhi ambang batas peringatan ditampilkan dalam warna merah tua, sedangkan bagian yang tidak memenuhi ditampilkan dalam warna biru.

    • Arahkan kursor ke kurva deret waktu untuk melihat detail resource pada titik waktu tertentu.

    • Pilih rentang waktu pada kurva deret waktu untuk melihat kurva periode tersebut.

    None

    Duration

    • Jika kondisi peringatan terpenuhi, event peringatan dipicu segera: Event peringatan dipicu jika ada titik data yang memenuhi ambang batas.

    • Event peringatan dipicu hanya setelah kondisi peringatan bertahan selama N menit: Event peringatan dipicu hanya jika durasi ambang batas terpenuhi lebih besar dari atau sama dengan N menit.

    Anda tidak dapat mengonfigurasi durasi dalam satuan detik. Ini merupakan keterbatasan produk dan merupakan perilaku yang diharapkan.

    1

    Alert Level

    Sesuaikan tingkat peringatan. Tingkat peringatan default adalah Default. Tingkat keparahan meningkat dari Default, P4, P3, P2, hingga P1.

    Default

    Alert Content

    Informasi peringatan yang diterima pengguna. Anda dapat menggunakan sintaks templat Go untuk menyesuaikan variabel parameter peringatan dalam konten peringatan.

    Namespace: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / Container: {{$labels.container}} CPU utilization {{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%, Current value: {{ printf "%.2f" $value }}%

    Alert Notification

    • Simple Mode: Anda dapat mengatur Notification Receiver, Notification Period, dan Whether to Resend Notifications.

    • Standard Mode:

      • Do not specify a notification policy: Jika Anda memilih opsi ini, setelah membuat aturan peringatan, Anda dapat membuat kebijakan notifikasi baru di halaman Notification Policy dan menentukan aturan pencocokan serta kondisi pencocokan, seperti nama aturan peringatan, untuk mencocokkan aturan peringatan tersebut. Saat aturan peringatan dipicu dan menghasilkan event peringatan, informasi peringatan dikirim ke kontak atau grup kontak yang ditentukan dalam kebijakan notifikasi. Untuk informasi lebih lanjut, lihat Notification policies.

      • Specify a notification policy: Jika Anda memilih opsi ini, ARMS secara otomatis menambahkan aturan pencocokan ke kebijakan notifikasi yang sesuai. Isi aturan pencocokan adalah ID aturan peringatan, yang ditampilkan sebagai nama aturan peringatan. Hal ini memastikan bahwa event peringatan yang dihasilkan oleh aturan peringatan saat ini dicocokkan oleh kebijakan notifikasi yang dipilih.

      Penting

      Menentukan kebijakan notifikasi secara cepat hanya memastikan bahwa event peringatan dari aturan peringatan saat ini dicocokkan oleh kebijakan notifikasi yang dipilih dan menghasilkan peringatan yang sesuai. Namun, event dari aturan peringatan saat ini juga dapat dicocokkan oleh kebijakan notifikasi lain yang dikonfigurasi dengan pencocokan kabur, yang juga menghasilkan peringatan. Hubungan antara event peringatan dan kebijakan notifikasi adalah pemetaan banyak-ke-banyak.

    Do not specify a notification rule

    Advanced Settings

    Alert Check Interval

    Interval sistem memeriksa aturan peringatan untuk menentukan apakah data memenuhi kondisi peringatan. Nilai default adalah 1 menit, dan minimum adalah 1 menit. Bahkan jika Anda memasukkan nilai kurang dari 1 menit, seperti 15 detik, sistem tetap melakukan pemeriksaan setiap 1 menit. Ini merupakan keterbatasan produk dan merupakan perilaku yang diharapkan.

    1

    Check after data is complete

    • Yes

    • No

    Yes

    Tags

    Tetapkan tag untuk peringatan. Tag dapat digunakan sebagai opsi untuk aturan pencocokan kebijakan notifikasi.

    None

    Annotations

    Tetapkan anotasi untuk peringatan.

    None

Buat aturan peringatan dengan PromQL kustom

Untuk memantau metrik yang tidak tersedia dalam daftar ambang batas statis, gunakan jenis pemeriksaan PromQL kustom untuk membuat aturan peringatan.

Di halaman Create Prometheus Alert Rule, konfigurasikan parameter peringatan berikut dan klik Save.

Parameter

Deskripsi

Contoh

Alert Name

Nama peringatan.

Pod CPU usage is greater than 8%

Check Type

Atur ke Custom PromQL query.

Custom PromQL query

Prometheus Instance

Pilih instans Prometheus tempat Anda ingin membuat peringatan.

None

Reference Alert Group

Pilih grup peringatan.

Tipe Prometheus yang berbeda mendukung grup peringatan yang berbeda. Opsi grup peringatan yang tersedia berubah berdasarkan tipe instans Prometheus yang dipilih.

Kubernetes Workload

Reference Alert Metric

Opsional. Metrik referensi menyediakan konfigurasi PromQL kustom untuk metrik umum. Pilih metrik serupa untuk mengisi awal bidang-bidang tersebut. Kemudian, modifikasi konfigurasi sesuai kebutuhan.

Parameter Reference Metric secara otomatis memfilter metrik peringatan yang didukung berdasarkan tipe instans Prometheus yang dipilih.

Pod disk usage alert

Custom PromQL Statement

Gunakan pernyataan PromQL untuk menetapkan ekspresi aturan peringatan.

Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} usage exceeds 90%, current value {{ printf "%.2f" $value }}%max(container_fs_usage_bytes{pod!="", namespace!="arms-prom",namespace!="monitoring"}) by (pod_name, namespace, device)/max(container_fs_limit_bytes{pod!=""}) by (pod_name,namespace, device) * 100 > 90

Data Preview

Area Data Preview menampilkan pernyataan Prometheus Query Language (PromQL) yang sesuai dengan kondisi peringatan. Area ini juga menampilkan nilai metrik pemantauan sebagai kurva deret waktu.

Secara default, hanya nilai real-time satu resource yang ditampilkan. Anda dapat memilih resource target dan rentang waktu di kotak filter area ini untuk melihat nilai resource dan rentang waktu yang berbeda.

Catatan
  • Arahkan kursor ke kurva deret waktu untuk melihat detail resource pada titik data tertentu.

  • Pilih rentang waktu pada kurva untuk melihat deret waktu periode tersebut.

None

Duration

  • Peringatan dipicu segera jika ada titik data yang memenuhi ambang batas.

  • Peringatan dipicu hanya jika kondisi bertahan selama N menit berturut-turut.

Mengonfigurasi durasi dalam satuan detik tidak didukung. Ini merupakan keterbatasan produk dan merupakan perilaku yang diharapkan.

1

Alert Level

Sesuaikan tingkat peringatan. Tingkat peringatan default adalah Default. Tingkat keparahan meningkat dari Default, P4, P3, P2, hingga P1.

Default

Alert Content

Informasi peringatan yang diterima pengguna. Gunakan sintaks templat Go untuk menyesuaikan variabel parameter dalam konten peringatan.

Contoh berikut menunjukkan templat untuk peringatan restart pod. Hal ini membantu Anda mengonfigurasi konten notifikasi yang mudah dibaca:

Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} restarted more than {{ $labels.metrics_params_value}} times in {{$labels.metrics_params_time}} minutes. Current restarts: {{ $value }}

Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} usage exceeds 90%, current value {{ printf "%.2f" $value }}%

Alert Notification

  • Simple Mode: Anda dapat mengatur Notification Receiver, Notification Period, dan Whether to Resend Notifications.

  • Standard Mode:

    • Do not specify a notification policy: Jika Anda memilih opsi ini, setelah membuat aturan peringatan, Anda dapat membuat kebijakan notifikasi baru di halaman Notification Policy dan menentukan aturan pencocokan serta kondisi pencocokan, seperti nama aturan peringatan, untuk mencocokkan aturan peringatan tersebut. Saat aturan peringatan dipicu dan menghasilkan event peringatan, informasi peringatan dikirim ke kontak atau grup kontak yang ditentukan dalam kebijakan notifikasi. Untuk informasi lebih lanjut, lihat Notification policies.

    • Specify a notification policy: Jika Anda memilih opsi ini, ARMS secara otomatis menambahkan aturan pencocokan ke kebijakan notifikasi yang sesuai. Isi aturan pencocokan adalah ID aturan peringatan, yang ditampilkan sebagai nama aturan peringatan. Hal ini memastikan bahwa event peringatan yang dihasilkan oleh aturan peringatan saat ini dicocokkan oleh kebijakan notifikasi yang dipilih.

    Penting

    Menentukan kebijakan notifikasi secara cepat hanya memastikan bahwa event peringatan dari aturan peringatan saat ini dicocokkan oleh kebijakan notifikasi yang dipilih dan menghasilkan peringatan yang sesuai. Namun, event dari aturan peringatan saat ini juga dapat dicocokkan oleh kebijakan notifikasi lain yang dikonfigurasi dengan pencocokan kabur, yang juga menghasilkan peringatan. Hubungan antara event peringatan dan kebijakan notifikasi adalah pemetaan banyak-ke-banyak.

Do not specify a notification rule

Advanced Settings

Alert Check Period

Interval, dalam menit, untuk memeriksa aturan peringatan. Nilai minimum adalah 1 menit. Jika Anda memasukkan nilai kurang dari 1 menit, seperti 15 detik, sistem tetap memeriksa setiap 1 menit. Ini merupakan keterbatasan produk dan merupakan perilaku yang diharapkan.

1

Check After Data Is Complete

  • Yes

  • No

Yes

Tags

Tetapkan tag untuk peringatan. Tag dapat digunakan sebagai opsi untuk aturan pencocokan kebijakan notifikasi.

None

Annotations

Tetapkan anotasi untuk peringatan.

None

FAQ

Bagaimana cara memeriksa versi add-on ack-arms-prometheus?

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Components and Add-ons .

  3. Di halaman Add-ons, klik tab Logs and Monitoring dan temukan add-on ack-arms-prometheus.

    Versi saat ini ditampilkan pada kartu komponen. Jika tersedia versi baru, klik Upgrade untuk memperbarui komponen.

    Catatan

    Tombol Upgrade hanya ditampilkan jika komponen yang terinstal bukan versi terbaru.

ACK Edge cluster: Bagaimana cara memperoleh data pemantauan?

Dalam skenario komputasi tepi, node tepi biasanya berada di lingkungan pusat data lokal yang relatif terisolasi. Artinya, VPC berbasis cloud dan node tepi beroperasi di jaringan yang terpisah. Agen Prometheus yang ditempatkan di cloud tidak dapat langsung mengakses titik akhir komponen sisi tepi seperti Node Exporter dan GPU Exporter untuk mengumpulkan metrik. Mulai dari versi ack-arms-prometheus 1.1.4, komponen komunikasi O&M cloud-native bawaan Tunnel di ACK Edge cluster memungkinkan ack-arms-prometheus secara otomatis membuat saluran pengumpulan data antara cloud dan tepi.

Mengapa penerapan pemantauan GPU gagal?

Penerapan pemantauan GPU dapat gagal jika node GPU memiliki taint. Untuk mengatasi masalah ini, pertama-tama periksa taint node tersebut.

  1. Jalankan perintah berikut untuk memeriksa taint pada node GPU target.

    Jika node GPU memiliki taint kustom, Anda akan menemukan entri terkait. Contoh ini menggunakan taint dengan key test-key, value test-value, dan effect NoSchedule:

    kubectl describe node cn-beijing.47.100.***.***

    Output yang diharapkan:

    Taints:test-key=test-value:NoSchedule
  2. Tangani taint node GPU dengan salah satu dari dua cara berikut:

    • Jalankan perintah berikut untuk menghapus taint dari node GPU.

      kubectl taint node cn-beijing.47.100.***.*** test-key=test-value:NoSchedule-
    • Deklarasikan toleransi terhadap taint agar pod dapat dijadwalkan ke node tersebut.

      # 1. Jalankan perintah berikut untuk mengedit DaemonSet ack-prometheus-gpu-exporter.
      kubectl edit daemonset -n arms-prom ack-prometheus-gpu-exporter
      
      # 2. Tambahkan bidang berikut ke file YAML untuk mendeklarasikan toleransi terhadap taint.
      # Bidang lain dihilangkan.
      # Bidang `tolerations` ditambahkan di atas bidang `containers` dan berada pada level yang sama.
      tolerations:
      - key: "test-key"
        operator: "Equal"
        value: "test-value"
        effect: "NoSchedule"
      containers:
      # Bidang lain dihilangkan.

Bagaimana cara menghapus sepenuhnya resource ARMS-Prometheus?

Hanya menghapus namespace Managed Service for Prometheus akan menyisakan konfigurasi sisa setelah resource dihapus. Hal ini memengaruhi instalasi ulang. Anda dapat melakukan operasi berikut untuk menghapus sepenuhnya dan secara manual konfigurasi sisa ARMS-Prometheus.

  • Hapus namespace arms-prom.

    kubectl delete namespace arms-prom
  • Hapus ClusterRole.

    kubectl delete ClusterRole arms-kube-state-metrics
    kubectl delete ClusterRole arms-node-exporter
    kubectl delete ClusterRole arms-prom-ack-arms-prometheus-role
    kubectl delete ClusterRole arms-prometheus-oper3
    kubectl delete ClusterRole arms-prometheus-ack-arms-prometheus-role
    kubectl delete ClusterRole arms-pilot-prom-k8s
    kubectl delete ClusterRole gpu-prometheus-exporter
    kubectl delete ClusterRole o11y:addon-controller:role
    kubectl delete ClusterRole arms-aliyunserviceroleforarms-clusterrole
  • Hapus ClusterRoleBinding.

    kubectl delete ClusterRoleBinding arms-node-exporter
    kubectl delete ClusterRoleBinding arms-prom-ack-arms-prometheus-role-binding
    kubectl delete ClusterRoleBinding arms-prometheus-oper-bind2
    kubectl delete ClusterRoleBinding arms-kube-state-metrics
    kubectl delete ClusterRoleBinding arms-pilot-prom-k8s
    kubectl delete ClusterRoleBinding arms-prometheus-ack-arms-prometheus-role-binding
    kubectl delete ClusterRoleBinding gpu-prometheus-exporter
    kubectl delete ClusterRoleBinding o11y:addon-controller:rolebinding
    kubectl delete ClusterRoleBinding arms-kube-state-metrics-agent
    kubectl delete ClusterRoleBinding arms-node-exporter-agent
    kubectl delete ClusterRoleBinding arms-aliyunserviceroleforarms-clusterrolebinding
  • Hapus Role dan RoleBinding.

    kubectl delete Role arms-pilot-prom-spec-ns-k8s
    kubectl delete Role arms-pilot-prom-spec-ns-k8s -n kube-system
    kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s
    kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s -n kube-system

Setelah menghapus resource, kembali ke Konsol ACK, pilih Operations > Add-ons, dan instal ulang add-on ack-arms-prometheus.