全部产品
Search
文档中心

Container Service for Kubernetes:Aktifkan Managed Service for Prometheus

更新时间:Jul 06, 2025

Anda dapat melihat data deret waktu dari ACK Serverless cluster pada dasbor yang telah ditentukan sebelumnya yang disediakan oleh Managed Service for Prometheus. Topik ini menjelaskan cara mengaktifkan Managed Service for Prometheus untuk ACK Serverless clusters, mengonfigurasi aturan peringatan di Managed Service for Prometheus, membuat data deret waktu kustom di Managed Service for Prometheus, dan menggunakan Grafana untuk menampilkan data deret waktu kustom.

Pengenalan tentang Managed Service for Prometheus

Managed Service for Prometheus adalah layanan pemantauan terkelola yang terhubung dengan ekosistem Prometheus sumber terbuka. Managed Service for Prometheus memantau berbagai macam komponen dan menyediakan beberapa dasbor yang telah ditentukan sebelumnya.

Jenis kluster

Agen Prometheus yang didukung

ACK Serverless Pro cluster

Anda dapat menginstal agen Prometheus yang dikelola atau tidak dikelola. Secara default, agen Prometheus yang dikelola diinstal.

  • Agen Prometheus yang dikelola mendukung data deret waktu dasar dan kustom serta tidak mengonsumsi sumber daya kluster Anda. Agen tersebut memungkinkan Managed Service for Prometheus untuk langsung mengumpulkan data pemantauan dari kontainer dalam ACK Serverless Pro clusters dan memungkinkan Anda menggunakan fitur siap pakai yang disediakan oleh Managed Service for Prometheus. Periode retensi default dari data yang dikumpulkan adalah tujuh hari.

  • Agen Prometheus yang tidak dikelola mendukung data deret waktu dasar dan memerlukan Anda untuk menerapkan satu set komponen, termasuk komponen pengumpulan data deret waktu dan Kube-State-Metrics. Pod tempat agen Prometheus yang tidak dikelola diterapkan membutuhkan 3 core CPU dan 4 GB memori. Periode retensi default dari data yang dikumpulkan adalah tujuh hari. Anda harus meluncurkan setidaknya dua instance kontainer elastis untuk menjalankan agen Prometheus yang tidak dikelola. Untuk informasi lebih lanjut tentang harga instance kontainer elastis, lihat Ikhtisar instance kontainer elastis.

ACK Serverless Basic cluster

Anda hanya dapat menginstal agen Prometheus yang tidak dikelola. Pod tempat agen Prometheus yang tidak dikelola diterapkan membutuhkan 3 core CPU dan 4 GB memori. Periode retensi default dari data yang dikumpulkan adalah tujuh hari.

Managed Service for Prometheus menyediakan sistem pemantauan Prometheus yang dikelola, yang menghemat upaya Anda untuk mengelola layanan tingkat bawah, seperti penyimpanan data, tampilan data, dan pemeliharaan sistem. Untuk informasi lebih lanjut tentang Managed Service for Prometheus, lihat Apa itu Managed Service for Prometheus?

Prasyarat

  • Komponen ack-virtual-node harus versi 2.11.5 atau lebih baru.

  • Komponen ack-arms-prometheus, yang menggunakan Prometheus agent, harus versi 1.1.25 atau lebih baru untuk mengumpulkan dan memantau pod Serverless pada ACK Virtual Nodes.

Langkah 1: Aktifkan Managed Service for Prometheus

Aktifkan Managed Service for Prometheus saat Anda membuat kluster

Di halaman wizard Component Configurations, pilih Enable Managed Service for Prometheus. Untuk informasi lebih lanjut, lihat Buat kluster ACK Serverless.

image.png

Catatan

Secara default, Enable Managed Service for Prometheus dipilih saat Anda membuat kluster. Setelah kluster dibuat, sistem secara otomatis mengonfigurasi Managed Service for Prometheus.

Agen Prometheus yang dikelola secara otomatis diinstal di kluster. Jika Anda ingin menggunakan agen Prometheus yang tidak dikelola, buka halaman detail kluster dan pilih Operations > Add-ons di panel navigasi di sebelah kiri. Di halaman Add-ons, uninstall ack-arms-prometheus. Kemudian, versi yang tidak dikelola dari ack-arms-prometheus akan ditampilkan dan tersedia untuk instalasi.

Catatan

Jika ack-arms-prometheus tidak ditampilkan, itu berarti wilayah tempat ACK Serverless cluster diterapkan tidak mendukung Managed Service for Prometheus.

image.png

Aktifkan Managed Service for Prometheus untuk kluster yang ada

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

  2. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel di sebelah kiri, pilih Operations > Prometheus Monitoring.

  3. Di halaman Prometheus Monitoring, ikuti petunjuk di layar untuk menginstal komponen yang diperlukan dan periksa dasbor terkait.

    Sistem secara otomatis menginstal komponen dan memeriksa dasbor. Setelah instalasi selesai, klik setiap tab untuk melihat data deret waktu.

Lihat dasbor Grafana yang disediakan oleh Managed Service for Prometheus

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

  2. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel di sebelah kiri, pilih Operations > Prometheus Monitoring.

  3. Di halaman Prometheus Monitoring, klik setiap tab untuk melihat dasbor sesuai dengan kebutuhan bisnis Anda.

    image

Konfigurasikan aturan peringatan di Managed Service for Prometheus

Managed Service for Prometheus memungkinkan Anda membuat aturan peringatan untuk pekerjaan pemantauan. Saat aturan peringatan terpenuhi, Anda dapat menerima peringatan melalui email, pesan teks, dan notifikasi DingTalk secara real-time. Ini membantu Anda mendeteksi kesalahan secara proaktif. Jika aturan peringatan dipicu, sistem mengirimkan notifikasi peringatan kepada kontak yang ditentukan.

1. Buat objek notifikasi

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

  2. Ikuti petunjuk di layar untuk mengonfigurasi objek notifikasi.

    Untuk informasi lebih lanjut, lihat Objek notifikasi.

2. Konfigurasikan aturan peringatan

  1. Masuk ke Konsol ARMS.Di panel navigasi di sebelah kiri, pilih Managed Service for Prometheus > Instances.

  2. Di bagian atas halaman yang muncul, pilih wilayah tempat kluster Anda diterapkan. Klik nama instans Prometheus yang digunakan oleh kluster Anda untuk masuk ke halaman detail instans.

  3. Di panel navigasi di sebelah kiri, klik Alert Rules. Di halaman Aturan Peringatan Prometheus, konfigurasikan aturan peringatan untuk objek notifikasi.

    Untuk informasi lebih lanjut, lihat Buat aturan peringatan untuk instans Prometheus.

Langkah 4: Buat data deret waktu kustom dan gunakan Grafana untuk menampilkan data deret waktu

Anda dapat menambahkan anotasi untuk membuat data deret waktu kustom dan menggunakan fitur penemuan layanan default untuk mengumpulkan data deret waktu. Sebagai alternatif, Anda dapat menggunakan ServiceMonitors untuk membuat data deret waktu kustom dan menggunakan label Layanan untuk mengumpulkan data deret waktu.

Anotasi Pod

Anda dapat menambahkan anotasi ke template Deployment untuk mendefinisikan data deret waktu kustom.

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

  2. Di halaman Clusters, klik nama kluster. Di panel navigasi di sebelah kiri halaman detail kluster, pilih Workloads > Deployments. Ikuti petunjuk di layar untuk membuat workload.

    Contoh berikut menunjukkan cara mengonfigurasi parameter Deployment. Untuk informasi lebih lanjut, lihat Buat aplikasi tanpa status dari gambar.

    1. Di halaman wizard Container, tentukan gambar container dan sumber daya yang diperlukan, buat aplikasi web, paparkan port 5000, dan klik Next.

    2. Di halaman wizard Advanced, buat sebuah Service, tambahkan anotasi pod, serta selesaikan pembuatan sesuai kebutuhan.

      • Buat Layanan.

        Klik Create di sebelah Services, atur Service Type ke SLB, dan konfigurasikan Port Mapping.

      • Di bagian Annotations, tambahkan anotasi berikut, dan klik OK untuk membuat Layanan:

        • Tambahkan anotasi prometheus.io/scrape dan atur nilainya ke true. Ini memungkinkan Managed Service for Prometheus untuk mengambil data deret waktu.

        • Tambahkan anotasi prometheus.io/port dan atur nilainya ke 5000. Ini menentukan bahwa port titik akhir 5000 diambil oleh Managed Service for Prometheus.

        • Tambahkan anotasi prometheus.io/path dan atur nilainya ke /access. Ini menentukan bahwa jalur titik akhir /access diambil oleh Managed Service for Prometheus.

  3. Konfigurasikan data deret waktu kustom.

    1. Masuk ke Konsol ARMS.

    2. Di panel navigasi di sebelah kiri, klik Integration Management.

    3. Di tab Integrated Environments, lihat daftar lingkungan di tab Container Service. Temukan instans ACK dan klik Metric Scraping di kolom Actions.

    4. Di tab Metric Scraping, tambahkan pengaturan ServiceMonitor dan PodMonitor untuk mendefinisikan aturan pengumpulan data deret waktu Prometheus.

      Untuk informasi lebih lanjut, lihat Kelola aturan pengumpulan kustom lingkungan ACK.

    5. Setelah Anda menyelesaikan operasi sebelumnya, klik tab Self-Monitoring di halaman Integration Management dan klik Targets untuk memeriksa apakah data deret waktu kustom telah dikonfigurasi. Anda dapat mengklik hyperlink di kolom Endpoint untuk meningkatkan nilai data deret waktu.

      Untuk informasi lebih lanjut tentang cara mengonfigurasi data deret waktu, lihat MODEL DATA.

      image

  4. Lihat data deret waktu kustom.

    Di tab Metrics Explorer halaman Integration Management, Anda dapat memilih data deret waktu kustom yang ingin Anda lihat atau menentukan pernyataan PromQL untuk melihat dan memverifikasi data deret waktu kustom. Untuk informasi lebih lanjut, lihat Eksplorasi Data Deret Waktu.

  5. Di tab Self-Monitoring pada halaman Integration Management, klik Monitoring untuk melihat data deret waktu kustom di dasbor Grafana.

Label Layanan

Untuk menggunakan ServiceMonitors dalam membuat data deret waktu kustom, Anda harus menambahkan label Layanan alih-alih menambahkan anotasi pod.

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

  2. Di halaman Kluster, klik nama kluster Anda. Di panel navigasi di sebelah kiri halaman detail kluster, pilih Workloads > Deployments. Ikuti petunjuk di layar untuk membuat workload.

    Contoh berikut menunjukkan cara mengonfigurasi parameter Deployment. Untuk informasi lebih lanjut, lihat Buat aplikasi tanpa status dari gambar.

    1. Di halaman wizard Container, tentukan gambar container dan sumber daya yang diperlukan, buat aplikasi web, paparkan port 5000, lalu klik Next.

    2. Di halaman wizard Advanced, klik Create di sebelah Services dan konfigurasikan Layanan.

      Atur Service Type ke SLB dan konfigurasikan Port Mapping. Tambahkan label Layanan. Misalnya, atur kunci label ke app dan nilai label ke custom-metrics-pindex. Label ini digunakan oleh ServiceMonitors sebagai pemilih.

  3. Konfigurasikan data deret waktu kustom. Gunakan titik akhir yang diambil oleh Managed Service for Prometheus.

    1. Masuk ke Konsol ARMS.

    2. Di panel navigasi di sebelah kiri, klik Integration Management.

    3. Di tab Integrated Environments, lihat daftar lingkungan di tab Container Service. Temukan instans ACK dan klik Metric Scraping di kolom Actions.

    4. Di tab Metric Scraping, klik Service Monitor lalu klik Create. Ikuti petunjuk di layar untuk mengonfigurasi ServiceMonitor dan klik Create.

      Untuk informasi lebih lanjut tentang cara mengonfigurasi data deret waktu kustom, lihat Penemuan Layanan ACK.

      Tampilkan konten YAML

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        # Tentukan nama unik. 
        name: custom-metrics-pindex
        # Tentukan namespace. 
        namespace: default
      spec:
        endpoints:
        - interval: 30s
          # Tentukan nama port yang ditentukan dalam file service.yaml. 
          port: web
          # Tentukan jalur Layanan. 
          path: /access
        namespaceSelector:
          any: true
          # Namespace tempat aplikasi demo NGINX berada. 
        selector:
          matchLabels:
            # Tentukan label yang ditentukan dalam file service.yaml. 
            app: custom-metrics-pindex
    5. Di tab Self-Monitoring halaman Integration Management, klik Targets untuk memeriksa apakah titik akhir yang diambil oleh Managed Service for Prometheus ditampilkan.

      Scape Endpioint

      Catatan

      Dibandingkan dengan metode yang digunakan untuk membuat data deret waktu kustom dengan menambahkan anotasi, metode ini memberikan lebih banyak informasi, termasuk namespace dan nama Layanan.

  4. Pilih data deret waktu dan klik hyperlink di kolom Endpoint untuk meningkatkan nilai data deret waktu.

    Untuk informasi lebih lanjut tentang cara mengonfigurasi data deret waktu, lihat MODEL DATA.

    image

    image

  5. Lihat data deret waktu kustom.

    Di tab Metrics Explorer halaman Integration Management, Anda dapat memilih data deret waktu kustom yang ingin Anda lihat atau menentukan pernyataan PromQL untuk melihat dan memverifikasi data deret waktu kustom. Untuk informasi lebih lanjut, lihat Eksplorasi Data Deret Waktu.

  6. Di tab Self-Monitoring halaman Integration Management, klik Monitoring untuk melihat data deret waktu kustom pada dasbor Grafana.

FAQ

How do I check the version of the ack-arms-prometheus component?

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

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

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

    Nomor versi ditampilkan di bagian bawah komponen. Jika versi baru tersedia, klik Upgrade di sebelah kanan untuk memperbarui komponen.

    Catatan

    Tombol Upgrade hanya ditampilkan jika komponen belum diperbarui ke versi terbaru.

Why is Managed Service for Prometheus unable to monitor GPU-accelerated nodes?

Catatan

Masalah ini hanya terkait dengan agen Prometheus yang tidak dikelola.

Managed Service for Prometheus mungkin tidak dapat memantau node yang dipercepat GPU yang dikonfigurasi dengan taint. Anda dapat melakukan langkah-langkah berikut untuk melihat taint dari node yang dipercepat GPU.

  1. Jalankan perintah berikut untuk melihat taint dari node yang dipercepat GPU:

    Jika Anda menambahkan taint kustom ke node yang dipercepat GPU, Anda dapat melihat informasi tentang taint kustom tersebut. Dalam contoh ini, taint dengan key diatur ke test-key, value diatur ke test-value, dan effect diatur ke NoSchedule ditambahkan ke node.

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

    Output yang diharapkan:

    Taints:test-key=test-value:NoSchedule
  2. Gunakan salah satu metode berikut untuk menangani taint:

    • Jalankan perintah berikut untuk menghapus taint dari node yang dipercepat GPU:

      kubectl taint node cn-beijing.47.100.***.*** test-key=test-value:NoSchedule-
    • Tambahkan aturan toleransi yang memungkinkan pod dijadwalkan ke node CPU yang dipercepat dengan taint.

      # 1 Jalankan perintah berikut untuk memodifikasi ack-prometheus-gpu-exporter: 
      kubectl edit daemonset -n arms-prom ack-prometheus-gpu-exporter
      
      # 2. Tambahkan bidang berikut ke file YAML untuk mentoleransi taint: 
      #Bidang lainnya dihilangkan. 
      # Bidang tolerations harus ditambahkan di atas bidang containers dan kedua bidang harus memiliki level yang sama. 
      tolerations:
      - key: "test-key"
        operator: "Equal"
        value: "test-value"
        effect: "NoSchedule"
      containers:
       # Bidang yang tidak relevan tidak ditampilkan.

Apa yang harus saya lakukan jika gagal menginstal ulang ack-arms-prometheus karena konfigurasi sumber daya residu dari ack-arms-prometheus?

Catatan

Masalah ini hanya terkait dengan agen Prometheus yang tidak dikelola.

Jika Anda hanya menghapus namespace dari Managed Service for Prometheus, konfigurasi sumber daya tetap ada. Dalam kasus ini, Anda mungkin gagal menginstal ulang ack-arms-prometheus. Anda dapat melakukan operasi berikut untuk menghapus konfigurasi sumber daya residu:

  • Jalankan perintah berikut untuk menghapus namespace arms-prom:

    kubectl delete namespace arms-prom
  • Jalankan perintah berikut untuk menghapus ClusterRoles terkait:

    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
  • Jalankan perintah berikut untuk menghapus ClusterRoleBindings terkait:

    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
  • Jalankan perintah berikut untuk menghapus Roles dan RoleBindings terkait:

    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