全部产品
Search
文档中心

Container Service for Kubernetes:Gunakan Managed Service for Prometheus untuk memantau kluster ACK Edge

更新时间:Nov 11, 2025

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

Prasyarat

  • Kluster ACK Edge versi 1.18.8-aliyunedge.1 atau yang lebih baru telah dibuat.

  • Komponen ack-arms-prometheus versi 1.1.4 atau yang lebih baru telah diinstal di kluster ACK Edge. Jika komponen menggunakan versi yang lebih lama, perbarui ack-arms-prometheus.

  • Jika kluster Anda menjalankan versi Kubernetes yang lebih lama dari 1.26, pastikan penerusan port diaktifkan untuk port Node Exporter 9100 dan port GPU Exporter 9445 di ConfigMap kluster kube-system/edge-tunnel-server-cfg. Kode berikut menyediakan detail konfigurasi:

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

Pengenalan Managed Service for Prometheus

Managed Service for Prometheus adalah layanan pemantauan terkelola penuh yang terintegrasi dengan ekosistem Prometheus sumber terbuka. Layanan ini memantau berbagai komponen, menyediakan beberapa dasbor siap pakai yang telah ditentukan sebelumnya, serta menawarkan layanan Prometheus terkelola penuh. Dengan menggunakan Managed Service for Prometheus, Anda tidak perlu membangun sistem pemantauan Prometheus atau mengelola penyimpanan data, tampilan data, maupun operasi dan pemeliharaan (O&M) yang mendasarinya.

Kluster ACK Edge 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. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi sebelah kiri, pilih Operations > Prometheus Monitoring.

    Catatan

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

    Di halaman Prometheus Monitoring, Anda dapat melihat data pemantauan untuk node, aplikasi, dan GPU di kluster pada dasbor yang telah ditentukan sebelumnya.

Konfigurasi aturan peringatan Prometheus

Anda dapat membuat aturan peringatan untuk pekerjaan pemantauan guna menerima notifikasi real-time saat peringatan dipicu. Notifikasi dapat dikirim melalui telepon, email, pesan teks, DingTalk, WeCom, atau webhook, sehingga membantu Anda mengidentifikasi anomali secara proaktif. Saat aturan peringatan dipicu, notifikasi dikirim ke kelompok kontak tertentu. Sebelum membuat kelompok kontak, Anda harus membuat kontak terlebih dahulu. Saat membuat kontak, Anda dapat menentukan nomor ponsel dan alamat email. Anda juga dapat menentukan kelompok penerima dalam kebijakan notifikasi untuk memastikan peringatan dikelola secara tepat waktu.

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

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

Step 1: Create A Contact

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

  2. Pada tab Contacts, klik Create Contact.

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

    Parameter

    Deskripsi

    Nama

    Nama kontak.

    Nomor Telepon

    Setelah Anda menentukan nomor ponsel kontak, kontak tersebut dapat diberi tahu melalui panggilan telepon dan pesan teks.

    Catatan

    Anda hanya dapat menentukan nomor ponsel yang telah diverifikasi dalam kebijakan notifikasi. Untuk informasi selengkapnya tentang cara memverifikasi nomor ponsel, lihat Verifikasi nomor ponsel.

    Email

    Setelah Anda menentukan alamat email kontak, kontak tersebut dapat diberi tahu melalui email.

    Penting

    Anda dapat membuat maksimal 100 kontak.

Step 2: Create A Prometheus Alert Rule

Create a Prometheus alert rule based on a static threshold

Jenis pemeriksaan ambang batas statis menyediakan metrik yang telah ditentukan sebelumnya. Anda dapat memilih metrik tersebut dan langsung membuat aturan peringatan.

  1. Masuk ke Konsol ARMS.

  2. Di panel navigasi sebelah kiri, pilih Managed Service for Prometheus > Prometheus Alert Rules.

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

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

    Parameter

    Deskripsi

    Contoh

    Nama Aturan Peringatan

    Masukkan nama aturan peringatan.

    Peringatan penggunaan CPU kontainer - kluster produksi

    Jenis Pemeriksaan

    Pilih Ambang Batas Statis.

    Ambang Batas Statis

    Instans Prometheus

    Pilih instans Prometheus.

    Kluster produksi

    Kelompok Kontak Peringatan

    Pilih kelompok kontak peringatan.

    Kelompok kontak peringatan yang didukung oleh instans Prometheus bervariasi tergantung jenis instans Prometheus.

    Beban Kubernetes

    Metrik Peringatan

    Pilih metrik. Metrik yang berbeda tersedia untuk kelompok kontak peringatan yang berbeda.

    Penggunaan CPU Kontainer

    Kondisi Peringatan

    Tentukan kondisi yang menjadi dasar pembuatan event peringatan.

    Jika penggunaan CPU kontainer lebih besar dari 80%, sebuah event peringatan akan dibuat.

    Kondisi Filter

    Tentukan ruang lingkup yang berlaku untuk aturan peringatan. Jika suatu sumber daya memenuhi kondisi filter dan kondisi peringatan, sebuah event peringatan akan dibuat.

    Jenis kondisi filter berikut ini didukung:

    • Traverse: Aturan peringatan berlaku untuk semua sumber daya dalam instans Prometheus saat ini. Secara default, Traverse dipilih.

    • Equal: Jika Anda memilih kondisi filter ini, Anda harus memasukkan nama sumber daya. Aturan peringatan hanya berlaku untuk sumber daya yang ditentukan. Anda tidak dapat menentukan beberapa sumber daya sekaligus.

    • Not Equal: Jika Anda memilih kondisi filter ini, Anda harus memasukkan nama sumber daya. Aturan peringatan berlaku untuk sumber daya selain sumber daya yang ditentukan. Anda tidak dapat menentukan beberapa sumber daya sekaligus.

    • Regex match: Jika Anda memilih kondisi filter ini, Anda harus memasukkan ekspresi reguler untuk mencocokkan nama sumber daya. Aturan peringatan yang Anda buat menggunakan templat berlaku untuk semua sumber daya yang cocok dengan ekspresi reguler tersebut.

    • Regex not match: Jika Anda memilih kondisi filter ini, Anda harus memasukkan ekspresi reguler untuk mencocokkan nama sumber daya. Aturan peringatan berlaku untuk sumber daya yang tidak cocok dengan ekspresi reguler tersebut.

    Catatan
    • Setelah Anda mengatur kondisi filter, bagian Data Preview akan muncul.

    • Pastikan panjang kondisi filter tidak melebihi 300 karakter.

    Traverse

    Pratinjau Data

    Data Preview menampilkan pernyataan PromQL yang sesuai dengan kondisi peringatan. Bagian ini juga menampilkan nilai metrik yang ditentukan dalam grafik deret waktu.

    Secara default, hanya nilai real-time dari satu sumber daya yang ditampilkan. Anda dapat menentukan kondisi filter untuk melihat nilai metrik dari sumber daya berbeda dalam rentang waktu berbeda.

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

    • Anda dapat mengarahkan penunjuk mouse ke kurva untuk melihat detail sumber daya pada titik waktu tertentu.

    • Anda juga dapat memilih periode waktu pada kurva deret waktu untuk melihat kurva deret waktu periode waktu yang dipilih.

    Tidak ada

    Durasi

    • Jika kondisi peringatan terpenuhi, sebuah event peringatan akan dibuat: Jika satu titik data mencapai ambang batas, sebuah event peringatan akan dibuat.

    • Jika kondisi peringatan terpenuhi secara terus-menerus selama N menit, sebuah event peringatan akan dibuat: Event peringatan hanya dibuat jika durasi pencapaian ambang batas lebih besar dari atau sama dengan N menit.

    1

    Tingkat Peringatan

    Tentukan tingkat peringatan. Nilai default: Default. Nilai yang valid: Default, P4, P3, P2, dan P1. Default menunjukkan tingkat keparahan terendah, sedangkan P1 menunjukkan tingkat keparahan tertinggi.

    Default

    Pesan Peringatan

    Tentukan pesan peringatan yang ingin Anda kirim kepada pengguna akhir. Anda dapat menentukan variabel kustom dalam pesan peringatan berdasarkan sintaks templat Go.

    Namespace: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / Kontainer: {{$labels.container}} Penggunaan CPU: {{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%. Nilai saat ini: {{ printf "%.2f" $value }}%

    Notifikasi Peringatan

    • Simple Mode: Anda perlu mengatur Notification Objects, Notification Period, dan Whether to Resend Notifications.

    • Standard Mode:

      • Jangan Tentukan Kebijakan Notifikasi: Jika Anda memilih opsi ini, Anda dapat membuat kebijakan notifikasi di halaman Notification Policy setelah membuat aturan peringatan. Di halaman Kebijakan Notifikasi, Anda dapat menentukan aturan pencocokan dan kondisi pencocokan. Misalnya, Anda dapat menentukan nama aturan peringatan sebagai kondisi pencocokan. Saat aturan peringatan dipicu, sebuah event peringatan akan dibuat dan notifikasi peringatan dikirim ke kontak atau kelompok kontak yang ditentukan dalam kebijakan notifikasi. Untuk informasi selengkapnya, lihat Buat dan kelola kebijakan notifikasi.

      • Anda juga dapat memilih kebijakan notifikasi dari daftar tarik-turun. ARMS secara otomatis menambahkan aturan pencocokan ke kebijakan notifikasi yang dipilih dan menentukan ID aturan peringatan sebagai kondisi pencocokan. Nama aturan peringatan akan ditampilkan di halaman Kebijakan Notifikasi. Dengan cara ini, event peringatan yang dihasilkan berdasarkan aturan peringatan dapat dicocokkan oleh kebijakan notifikasi yang dipilih.

      Penting

      Setelah Anda memilih kebijakan notifikasi, event peringatan yang dihasilkan berdasarkan aturan peringatan dapat dicocokkan oleh kebijakan notifikasi tersebut dan peringatan dapat dibuat. Event peringatan tersebut juga dapat dicocokkan oleh kebijakan notifikasi lain yang menggunakan pencocokan fuzzy, sehingga peringatan dapat dibuat. Satu atau beberapa event peringatan dapat dicocokkan oleh satu atau beberapa kebijakan notifikasi.

    Jangan Tentukan Kebijakan Notifikasi

    Advanced Settings

    Siklus Pemeriksaan Peringatan

    Aturan peringatan dipicu setiap N menit untuk memeriksa apakah kondisi peringatan terpenuhi. Nilai default: 1. Nilai minimum: 1.

    1

    Periksa setelah data lengkap

    • Ya

    • Tidak

    Ya

    Tag

    Tentukan tag untuk aturan peringatan. Tag yang ditentukan dapat digunakan untuk mencocokkan kebijakan notifikasi.

    Tidak ada

    Anotasi

    Tentukan anotasi untuk aturan peringatan.

    Tidak ada

Create a Prometheus alert rule using a custom PromQL statement

Untuk memantau metrik yang tidak ditentukan sebelumnya dalam pemeriksaan ambang batas statis, Anda dapat menggunakan jenis pemeriksaan PromQL kustom untuk membuat aturan peringatan.

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

Parameter

Deskripsi

Contoh

Nama Aturan Peringatan

Masukkan nama aturan peringatan.

Penggunaan CPU Pod melebihi 8%

Jenis Pemeriksaan

Pilih PromQL Kustom.

PromQL Kustom

Instans Prometheus

Pilih instans Prometheus.

Tidak ada

Kelompok Kontak Peringatan Referensi

Pilih kelompok kontak peringatan.

Kelompok kontak peringatan yang didukung oleh instans Prometheus bervariasi tergantung jenis instans Prometheus.

Beban Kubernetes

Metrik Referensi

Opsional. Daftar tarik-turun Metrik Referensi menampilkan metrik umum. Setelah Anda memilih metrik, pernyataan PromQL metrik tersebut akan ditampilkan di kolom Pernyataan PromQL Kustom. Anda dapat memodifikasi pernyataan tersebut sesuai kebutuhan bisnis Anda.

Nilai dalam daftar tarik-turun Metrik Referensi bervariasi tergantung jenis instans Prometheus.

Peringatan penggunaan disk Pod

Pernyataan PromQL Kustom

Masukkan pernyataan PromQL.

Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} / Penggunaan disk {{$labels.device}} melebihi 90%. Nilai saat ini: {{ 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

Pratinjau Data

Data Preview menampilkan pernyataan PromQL yang sesuai dengan kondisi peringatan. Bagian ini juga menampilkan nilai metrik yang ditentukan dalam grafik deret waktu.

Secara default, hanya nilai real-time dari satu sumber daya yang ditampilkan. Anda dapat menentukan kondisi filter untuk melihat nilai metrik dari sumber daya berbeda dalam rentang waktu berbeda.

Catatan
  • Anda dapat mengarahkan penunjuk mouse ke kurva untuk melihat detail sumber daya pada titik waktu tertentu.

  • Anda juga dapat memilih periode waktu pada kurva deret waktu untuk melihat kurva deret waktu periode waktu yang dipilih.

Tidak ada

Durasi

  • Jika kondisi peringatan terpenuhi, sebuah event peringatan akan dibuat: Jika satu titik data mencapai ambang batas, sebuah event peringatan akan dibuat.

  • Jika kondisi peringatan terpenuhi secara terus-menerus selama N menit, sebuah event peringatan akan dibuat: Event peringatan hanya dibuat jika durasi pencapaian ambang batas lebih besar dari atau sama dengan N menit.

1

Tingkat Peringatan

Tentukan tingkat peringatan. Nilai default: Default. Nilai yang valid: Default, P4, P3, P2, dan P1. Default menunjukkan tingkat keparahan terendah, sedangkan P1 menunjukkan tingkat keparahan tertinggi.

Default

Pesan Peringatan

Tentukan pesan peringatan yang ingin Anda kirim kepada pengguna akhir. Anda dapat menentukan variabel kustom dalam pesan peringatan berdasarkan sintaks templat Go.

Namespace: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / Penggunaan disk {{$labels.device}} melebihi 90%. Nilai saat ini: {{ printf "%.2f" $value }}%

Notifikasi Peringatan

  • Simple Mode: Anda perlu mengatur Notification Objects, Notification Period, dan Whether to Resend Notifications.

  • Standard Mode:

    • Jangan Tentukan Kebijakan Notifikasi: Jika Anda memilih opsi ini, Anda dapat membuat kebijakan notifikasi di halaman Notification Policy setelah membuat aturan peringatan. Di halaman Kebijakan Notifikasi, Anda dapat menentukan aturan pencocokan dan kondisi pencocokan. Misalnya, Anda dapat menentukan nama aturan peringatan sebagai kondisi pencocokan. Saat aturan peringatan dipicu, sebuah event peringatan akan dibuat dan notifikasi peringatan dikirim ke kontak atau kelompok kontak yang ditentukan dalam kebijakan notifikasi. Untuk informasi selengkapnya, lihat Buat dan kelola kebijakan notifikasi.

    • Anda juga dapat memilih kebijakan notifikasi dari daftar tarik-turun. ARMS secara otomatis menambahkan aturan pencocokan ke kebijakan notifikasi yang dipilih dan menentukan ID aturan peringatan sebagai kondisi pencocokan. Nama aturan peringatan akan ditampilkan di halaman Kebijakan Notifikasi. Dengan cara ini, event peringatan yang dihasilkan berdasarkan aturan peringatan dapat dicocokkan oleh kebijakan notifikasi yang dipilih.

    Penting

    Setelah Anda memilih kebijakan notifikasi, event peringatan yang dihasilkan berdasarkan aturan peringatan dapat dicocokkan oleh kebijakan notifikasi tersebut dan peringatan dapat dibuat. Event peringatan tersebut juga dapat dicocokkan oleh kebijakan notifikasi lain yang menggunakan pencocokan fuzzy, sehingga peringatan dapat dibuat. Satu atau beberapa event peringatan dapat dicocokkan oleh satu atau beberapa kebijakan notifikasi.

Jangan Tentukan Kebijakan Notifikasi

Pengaturan Lanjutan

Siklus Pemeriksaan Peringatan

Aturan peringatan dipicu setiap N menit untuk memeriksa apakah kondisi peringatan terpenuhi. Nilai default: 1. Nilai minimum: 1.

1

Periksa setelah data lengkap

  • Ya

  • Tidak

Ya

Tag

Tentukan tag untuk aturan peringatan. Tag yang ditentukan dapat digunakan untuk mencocokkan kebijakan notifikasi.

Tidak ada

Anotasi

Tentukan anotasi untuk aturan peringatan.

Tidak ada

FAQ

How Do I Check The Version Of The Ack-arms-prometheus Component?

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

  2. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi kiri, klik Add-ons.

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

    Nomor versi ditampilkan pada kartu komponen. Jika tersedia versi baru, klik Upgrade untuk memperbarui komponen.

    Catatan

    Tombol Upgrade hanya ditampilkan jika komponen bukan versi terbaru.

How is monitoring data collected from ACK Edge clusters?

Dalam skenario komputasi tepi, node tepi ditempatkan di pusat data offline. Oleh karena itu, virtual private cloud (VPC) di cloud dan node tepi berada pada bidang jaringan yang berbeda. Agen Prometheus yang ditempatkan di cloud tidak dapat mengakses titik akhir Node Exporter dan GPU Exporter untuk mengumpulkan metrik pemantauan. Mulai dari versi ack-arms-prometheus 1.1.4, dengan bantuan komponen komunikasi O&M cloud-native Tunnel bawaan di kluster ACK Edge, ack-arms-prometheus dapat secara otomatis membuat tautan untuk mengumpulkan data pemantauan antara cloud dan tepi.

Why Cannot GPU Monitoring Be Deployed?

Jika node GPU memiliki taint, penerapan pemantauan GPU mungkin gagal. Anda dapat melakukan langkah-langkah berikut untuk melihat taint pada node GPU.

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

    Jika node GPU memiliki taint khusus, Anda dapat menemukan entri terkait taint tersebut. Topik ini menggunakan taint dengan key test-key, value test-value, dan effect NoSchedule sebagai contoh:

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

    Output yang diharapkan:

    Taints:test-key=test-value:NoSchedule
  2. Tangani taint pada node GPU dengan salah satu 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 pada node GPU agar pod dapat dijadwalkan ke node yang memiliki taint tersebut.

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

Cara menghapus sepenuhnya konfigurasi ARMS-Prometheus jika penghapusan manual menyebabkan kegagalan instalasi ulang

Jika Anda hanya menghapus namespace Managed Service for Prometheus, konfigurasi sisa akan tetap ada, yang dapat menyebabkan kegagalan instalasi ulang. Lakukan langkah-langkah berikut untuk menghapus sepenuhnya 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 secara manual sumber daya ARMS-Prometheus, buka Konsol Container Service, pilih Operations > Add-ons, lalu instal ulang komponen ack-arms-prometheus.