Untuk aplikasi Python yang diterapkan di kluster ACK—seperti aplikasi web berbasis framework Django, Flask, dan FastAPI, atau aplikasi AI dan LLM yang dikembangkan menggunakan LlamaIndex dan Langchain—Anda dapat menggunakan Application Real-Time Monitoring Service (ARMS) untuk memantau kinerja aplikasi. Untuk mengaktifkan pemantauan, instal komponen ack-onepilot dan modifikasi Dockerfile Anda. Hal ini mengaktifkan fitur seperti topologi aplikasi, pelacakan (tracing), analisis panggilan API, deteksi anomali, serta pelacakan detail interaksi model besar.
Prasyarat
Namespace telah dibuat. Untuk informasi selengkapnya, lihat Manage namespaces and resource quotas. Topik ini menggunakan namespace
arms-demosebagai contoh.Runtime Python versi 3.8 atau lebih baru.
ARMS kompatibel dengan Python 3.8 dan versi setelahnya. Masalah koneksi dapat terjadi jika Anda menggunakan versi sebelumnya.
ARMS adalah layanan manajemen kinerja aplikasi (APM) yang disediakan oleh Alibaba Cloud. Untuk informasi selengkapnya tentang pemantauan aplikasi, lihat What is Application Real-Time Monitoring Service (ARMS)? dan What is application monitoring?.
Langkah 1: Instal komponen ack-onepilot
Komponen lama arms-pilot tidak lagi dipelihara. ack-onepilot adalah penggantinya dan sepenuhnya kompatibel—migrasi tidak memerlukan perubahan pada konfigurasi aplikasi Anda. Untuk langkah-langkah migrasi, lihat Uninstall arms-pilot and install ack-onepilot.
-
Login ke ACK console. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Components and Add-ons .
Di bagian Logs and Monitoring, temukan add-on ack-onepilot dan klik Install pada kartu add-on tersebut.
CatatanPastikan versi ack-onepilot adalah 3.2.4 atau lebih baru. Secara default, komponen ack-onepilot mendukung hingga 1.000 Pod. Untuk setiap 1.000 Pod tambahan yang melebihi batas ini, tingkatkan sumber daya CPU untuk ack-onepilot sebesar 0,5 core dan sumber daya memori sebesar 512 MB.
Setelah instalasi selesai, Anda dapat melakukan upgrade, mengonfigurasi, atau menguninstal add-on ack-onepilot di halaman Add-ons.
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 tidak memilikinya.
Periksa apakah kluster Anda memiliki token tersebut:
Jika token tidak tersedia, berikan izin secara manual:
Login ke ACK console. 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 dan 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 ARMS Python ke dalam Dockerfile Anda
Modifikasi Dockerfile Anda untuk mengintegrasikan agen ARMS Python dan gunakan untuk menjalankan aplikasi Python Anda.
Instal installer agen dari PyPI:
RUN pip3 install aliyun-bootstrapInstal agen tersebut. Ganti
<region-id>dengan ID wilayah Alibaba Cloud Anda (misalnya,cn-hangzhou):CatatanUntuk menginstal versi agen tertentu, jalankan:
aliyun-bootstrap -a install -v <version>. Untuk semua versi yang dirilis, lihat Python agent release notes.RUN ARMS_REGION_ID=<region-id> aliyun-bootstrap -a installPerbarui perintah startup agar menggunakan awalan
aliyun-instrument:CMD ["aliyun-instrument", "python", "app.py"]Buat image tersebut.
Berikut ini contoh Dockerfile lengkap:
Langkah 4: Aktifkan pemantauan ARMS
-
Login ke ACK console. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
Di halaman Deployments, temukan aplikasi Anda dan klik di kolom Actions.
Tambahkan label berikut di bawah
spec.template.metadata: Ganti<app-name>dengan nama deskriptif untuk aplikasi Anda, misalnyamy-python-service.PentingJika Anda menggunakan ack-onepilot versi lebih baru dari 5.0.0 tetapi sudah menginstal agen secara manual di Dockerfile Anda, nonaktifkan auto-injection dengan menambahkan label ini: ``
yaml armsAutoInstrumentationEnable: "off"``labels: aliyun.com/app-language: python # Required. Identifies this as a Python application. armsPilotAutoEnable: 'on' # Enables ARMS monitoring. armsPilotCreateAppName: "<app-name>" # Display name in the ARMS console.Kode berikut menyediakan templat YAML lengkap untuk membuat Deployment dan mengaktifkan pemantauan aplikasi:
Langkah 5: Lihat detail pemantauan
Sekitar satu menit kemudian, login ke ARMS console. Di panel navigasi kiri, pilih untuk melihat aplikasi Python Anda beserta data yang dilaporkannya.
Di daftar aplikasi, Anda dapat melihat aplikasi arms-python-client yang terhubung beserta metriknya, seperti jumlah permintaan per detik, laju error, dan waktu respons rata-rata.
Klik Application Name untuk membuka halaman pemantauan aplikasi di konsol ARMS dan melihat informasi pemantauan detail. Untuk informasi selengkapnya, lihat Application overview.
(Opsional) Langkah 6: Lepaskan sumber daya
Jika Anda tidak lagi memerlukan pemantauan aplikasi Python dengan ARMS, Anda dapat menguninstal agen Python ARMS untuk menghentikan pemantauan. Untuk informasi selengkapnya, lihat Uninstall the Python agent.
> Edit YAML