Gunakan Application Real-Time Monitoring Service (ARMS) untuk memantau aplikasi Python yang diterapkan di kluster Alibaba Cloud Container Service for Kubernetes (ACK). Framework yang didukung mencakup Django, Flask, FastAPI, LlamaIndex, dan Langchain. ARMS menyediakan topologi aplikasi, analisis tracing, analisis panggilan API, deteksi anomali, serta tracing terperinci dari interaksi model bahasa besar (LLM).
Pilih jalur instalasi
ARMS mendukung dua cara untuk menginstrumentasi aplikasi Python Anda. Pilih salah satu berdasarkan versi ack-onepilot Anda:
| Jalur | Kapan digunakan | Langkah yang diperlukan |
|---|---|---|
| Manual agent installation (halaman ini) | versi ack-onepilot di bawah 5.0.0, atau Anda menginginkan kontrol penuh atas instalasi agen | Langkah 1–5 |
| Auto-instrumentation | versi ack-onepilot lebih baru dari 5.0.0 dan Anda lebih memilih pengaturan tanpa perubahan Dockerfile | Lewati Langkah 3. Di Langkah 4, tambahkan ketiga label berikut plus armsAutoInstrumentationEnable: "on". ack-onepilot secara otomatis mengunduh dan menyuntikkan agen Python. |
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Namespace di kluster ACK Anda. Panduan ini menggunakan namespace bernama
arms-demo. Lihat Kelola namespace dan kuota sumber daya. -
Python 3.8 atau versi yang lebih baru. ARMS tidak kompatibel dengan versi Python sebelumnya.
-
ARMS diaktifkan. Lihat Aktifkan ARMS.
Langkah 1: Instal add-on ack-onepilot
ack-onepilot menggantikan komponen arms-pilot yang sudah tidak digunakan lagi dan sepenuhnya kompatibel dengannya—tidak diperlukan perubahan konfigurasi aplikasi.
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Konsol ACKKonsol ACKKonsol ACKKonsol ACK Clusters.
-
Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, klik Add-ons.
-
Di bagian Logs and Monitoring, temukan ack-onepilot dan klik Install. Di kotak dialog yang muncul, gunakan nilai default lalu klik OK.
Gunakan ack-onepilot versi 3.2.4 atau yang lebih baru. Secara default, ack-onepilot mendukung hingga 1.000 Pod. Untuk setiap tambahan 1.000 Pod, tingkatkan CPU ack-onepilot sebesar 0,5 core dan memori sebesar 512 MB.
Setelah instalasi, Anda dapat melakukan upgrade, mengonfigurasi, atau menguninstall ack-onepilot dari halaman Add-ons.
Untuk migrasi dari arms-pilot, lihat Bagaimana cara menguninstall arms-pilot dan menginstal ack-onepilot?
Langkah 2: Berikan otorisasi kepada ARMS untuk mengakses sumber daya
ARMS menggunakan addon.arms.token untuk otorisasi tanpa password. Sebagian besar kluster ACK yang dikelola sudah menyertakan rahasia ini secara default. Beberapa kluster lama mungkin belum memilikinya.
Periksa apakah kluster Anda memiliki token tersebut:
Jika token tidak tersedia, berikan izin secara manual:
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, klik Cluster Information.
-
Di tab Basic Information, di bawah Cluster Resources, klik tautan di samping Worker RAM Role.
-
Di tab Permissions, klik Grant Permission.
-
Pilih kebijakan AliyunARMSFullAccess lalu klik Grant permissions.
Jika kluster Anda terhubung ke Elastic Container Instance (ECI), buka halaman RAM Quick Authorization dan selesaikan proses otorisasi. Kemudian restart Pod yang dibuat untuk ack-onepilot.
Langkah 3: Integrasikan agen Python ke dalam Dockerfile
Ubah Dockerfile Anda untuk menginstal dan menjalankan agen Python. Perubahan ini melibatkan tiga baris:
-
Instal
aliyun-bootstrapdari PyPI — alat penginstal untuk agen Python ARMS. -
Jalankan penginstal agen — mengunduh dan mengonfigurasi agen menggunakan ID wilayah Alibaba Cloud Anda.
-
Ubah perintah startup — bungkus aplikasi Anda dengan
aliyun-instrumentuntuk mengaktifkan pemantauan.
Untuk menginstal versi agen tertentu, jalankanaliyun-bootstrap -a install -v <version>alih-alihaliyun-bootstrap -a install. Untuk daftar versi yang tersedia, lihat Catatan rilis agen Python.
Setelah mengedit Dockerfile, build image Anda dan dorong ke registri Anda.
Langkah 4: Aktifkan pemantauan aplikasi ARMS
Tambahkan label ke templat Pod Deployment Anda untuk mengaktifkan pemantauan.
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Workloads > Deployments.
-
Di halaman Deployments, klik
> Edit YAML untuk aplikasi target. -
Di bawah
spec.template.metadata, tambahkan label berikut:labels: aliyun.com/app-language: python # Wajib. Mengidentifikasi ini sebagai aplikasi Python. armsPilotAutoEnable: 'on' armsPilotCreateAppName: "deployment-name" # Nama tampilan aplikasi di ARMS.Ganti
deployment-namedengan nama yang ingin Anda tampilkan di konsol ARMS.
Jika versi ack-onepilot Anda lebih baru dari 5.0.0, agen Python akan diunduh dan disuntikkan secara otomatis—tidak diperlukan perubahan Dockerfile. Jika Anda telah menginstal agen secara manual di kontainer (Langkah 3), nonaktifkan penyuntikan otomatis dengan menambahkan label berikut:
armsAutoInstrumentationEnable: "off"
YAML berikut membuat dua Deployment (arms-python-client dan arms-python-server) serta dua Service di namespace arms-demo, dengan pemantauan ARMS diaktifkan.
Langkah 5: Lihat data pemantauan
Sekitar satu menit kemudian, aplikasi Anda akan muncul di konsol ARMS.
-
Buka Konsol ARMS dan navigasikan ke Application Monitoring > Application List.

-
Klik nama aplikasi untuk melihat metrik terperinci. Untuk penjelasan lengkap halaman pemantauan, lihat Ikhtisar Aplikasi.
Pemecahan Masalah
Jika aplikasi Anda tidak muncul di konsol ARMS setelah satu menit, periksa hal berikut:
Verifikasi bahwa Pod sedang berjalan dan label telah diterapkan:
kubectl get pods -n arms-demo
kubectl describe pod <pod-name> -n arms-demo | grep -A 10 "Labels:"
Pastikan label Pod mencakup armsPilotAutoEnable: on dan aliyun.com/app-language: python.
Penyebab umum hilangnya data pemantauan:
| Gejala | Kemungkinan penyebab | Perbaikan |
|---|---|---|
| Aplikasi tidak muncul di konsol ARMS | Label tidak ada atau salah eja | Periksa ulang nama label di YAML Deployment |
| Aplikasi terdaftar tetapi tidak ada data | Versi Python di bawah 3.8 | Upgrade ke Python 3.8 atau versi yang lebih baru |
| Aplikasi terdaftar tetapi tidak ada data | Agen tidak diinstal (jalur manual) | Verifikasi Dockerfile mencakup baris instalasi aliyun-bootstrap dan perintah CMD aliyun-instrument |
| Error otorisasi di log Pod | addon.arms.token tidak tersedia |
Selesaikan Langkah 2 dan restart Pod yang terpengaruh |
(Opsional) Lepaskan sumber daya
Untuk menghentikan pemantauan, uninstall agen Python. Lihat Uninstall agen Python.
Lanjutan
-
Ikhtisar Aplikasi — jelajahi metrik, jejak, dan topologi di ARMS
-
Catatan rilis agen Python — lacak pembaruan versi agen
-
Apa itu Application Real-Time Monitoring Service? — pelajari lebih lanjut tentang kemampuan ARMS