Anda dapat menentukan metrik pemantauan kustom berdasarkan logika bisnis Anda dan menggunakannya untuk penyesuaian skala otomatis. Misalnya, Anda dapat melakukan penskalaan layanan berdasarkan jumlah titik data tidak valid yang diterima per detik. EAS menyediakan API pelaporan metrik real-time serta pipa data lengkap untuk pengumpulan, penyimpanan, visualisasi, dan penyesuaian skala otomatis. Cukup tambahkan logika ke kode Anda untuk secara berkala melaporkan metrik kustom dan mendeklarasikannya saat menerapkan layanan. Setelah penerapan, EAS menerima data metrik kustom layanan melalui pipa ini dan menampilkannya di halaman Pemantauan Layanan.
Batasan
-
Hanya QPS dan utilisasi CPU yang didukung sebagai metrik bawaan untuk penyesuaian skala otomatis.
-
Field
metricshanya didukung saat Anda menerapkan layanan menggunakan custom image atau custom processor.
Langkah 1: Konfigurasikan API untuk melaporkan metrik
Sebelum menerapkan layanan, siapkan custom image atau custom processor terlebih dahulu. Dalam kode Anda, konfigurasikan metrik kustom dan API untuk melaporkannya secara berkala. Untuk informasi selengkapnya, lihat Custom Images atau Custom Processors.
Sebagai contoh, titik akhir untuk permintaan POST yang diimplementasikan dalam kode Anda adalah http://localhost:8080/api/builtin/realtime_metrics, dengan badan permintaan sebagai berikut:
[
{
"name": "qps",
"tags": {
"status": "200"
},
"value": 20
},
{
"name": "qps",
"tags": {
"status": "400"
},
"value": 13
}
]
Contoh di atas melaporkan metrik bernama qps. Rata-rata QPS untuk kode status 200 adalah 20, sedangkan rata-rata QPS untuk kode status 400 adalah 13. Dalam skenario sederhana yang tidak memerlukan pengkategorian atau pembagian metrik menggunakan tag, Anda dapat menghilangkan field tags:
[
{
"name": "qps",
"value": 20
}
]
Anda harus menulis kode untuk secara berkala memanggil API ini dan melaporkan metrik kustom Anda.
Langkah 2: Terapkan layanan
Setelah menentukan metrik kustom, deklarasikan metrik tersebut dalam field metrics pada file konfigurasi layanan saat penerapan. Framework EAS menggunakan deklarasi ini untuk menginisialisasi layanan dan membangun dasbor pemantauan. Prosedur berikut menjelaskan langkah-langkahnya:
-
Siapkan file JSON konfigurasi layanan.
Tambahkan field
metricske file tersebut untuk mendeklarasikan nama metrik, tipe, dan informasi lainnya. Contoh berikut menunjukkan file JSON untuk menerapkan layanan menggunakan custom image:{ "name": "metrics_test", "containers": [ { "image": "registry-vpc.cn-chengdu.aliyuncs.com/eas/eas-image-****:metrics", "command": "python3 -u /image.py", "port": 5000 } ], "metrics": [ { "name": "qps", "tags": "status" } ], "metadata": { "instance": 1, "cpu": 2, "memory":1000 } }Parameter image diatur ke custom image yang telah Anda siapkan. Tabel berikut menjelaskan field-field dalam field metrics. Untuk informasi tentang parameter lainnya, lihat JSON Deployment.
Parameter
Wajib
Deskripsi
name
Ya
Nama metrik kustom yang dilaporkan oleh layanan Anda.
-
EAS membuat dasbor pemantauan di halaman Pemantauan Layanan berdasarkan nama ini.
-
Nama ini digunakan untuk menentukan metrik referensi saat Anda mengonfigurasi penyesuaian skala otomatis.
tags
Tidak
Nama tag untuk metrik tersebut. Anda dapat menggunakan tag untuk membuat subdivisi metrik. Misalnya, Anda dapat mengkategorikan metrik
qpsberdasarkan kode status.Konfigurasi ini menerapkan layanan berdasarkan image Docker, memungkinkan Anda membangun logika bisnis dengan custom image. Field
metricsmendeklarasikan metrik bernamaqpsdan tag bernamastatus. Tag ini memungkinkan Anda mengkategorikan data untuk metrik yang sama. Misalnya, Anda dapat menggunakan tagstatusuntuk mencatat jumlah permintaan dengan kode status berbeda, sepertistatus=200danstatus=400. -
-
Terapkan layanan model menggunakan file konfigurasi tersebut.
-
Buka halaman penerapan layanan. Untuk informasi selengkapnya, lihat Custom Deployment.
-
Di bagian Configuration Editor, klik JSON Deployment, lalu tempel konten file JSON yang telah Anda siapkan ke editor.
-
Klik Deploy.
-
Langkah 3: Lihat metrik
Setelah layanan diterapkan, layanan tersebut secara berkala melaporkan data metrik kustom berdasarkan logika kode Anda. Framework EAS menyediakan API lokal untuk menerima data ini.
-
EAS menggunakan data real-time ini untuk penyesuaian skala otomatis.
-
Dalam pipa data, informasi tidak ditampilkan secara real-time. Pipa ini mengagregasi data sehingga menghasilkan granularitas tingkat menit di halaman pemantauan.
Langkah-langkah berikut menjelaskan cara melihat metrik kustom qps:
-
Di halaman EAS-Online Model Services, klik nama layanan untuk membuka halaman Detail Layanan.
-
Klik tab Service Monitoring. Di pojok kiri atas halaman, pilih panel kustom.
Panel ini menampilkan data pemantauan untuk metrik kustom Anda dalam dua bagian:
-
Data metrik rata-rata di semua instans dalam layanan.
-
Data metrik untuk setiap instans individual dalam layanan.

-
Langkah 4: Konfigurasikan penyesuaian skala otomatis
Anda dapat mengaktifkan penyesuaian skala otomatis untuk layanan berdasarkan metrik kustom. Prosedurnya sama seperti untuk metrik bawaan. Untuk informasi selengkapnya, lihat horizontal auto scaling.
Contoh berikut menunjukkan cara mengonfigurasi penyesuaian skala otomatis berdasarkan metrik kustom qps:
-
Gunakan eascmd untuk mengaktifkan penyesuaian skala otomatis. Untuk informasi lebih lanjut tentang operasi dan parameter, lihat horizontal auto scaling.
-
Jika metrik kustom tidak memerlukan tag:
eascmd autoscale service_name -Dmin=1 -Dmax=10 -Dstrategies.custom[qps]=3Konfigurasi ini melakukan penskalaan keluar layanan ketika metrik
qpsrata-rata melebihi 3, dan penskalaan masuk ketika nilainya turun di bawah 3. -
Jika metrik kustom perlu ditentukan pada level tag:
eascmd autoscale service_name -Dmin=1 -Dmax=10 -Dstrategies.custom[qps]@status[200]=3Konfigurasi ini melakukan penskalaan keluar layanan ketika metrik
qpsrata-rata untuk seri di manastatusbernilai200melebihi 3, dan penskalaan masuk ketika nilainya turun di bawah 3.
-
-
Gunakan konsol untuk mengaktifkan penyesuaian skala otomatis. Untuk informasi lebih lanjut tentang operasi dan parameter, lihat horizontal auto scaling.
-
Jika metrik kustom yang dikonfigurasi tidak memerlukan tag, atur nama variabel menjadi custom[qps] dan nilai variabel menjadi 3 di bagian Custom Scaling Metric pada dialog Auto Scaling Settings. Di dialog Auto Scaling Settings, atur Minimum Instances menjadi
1dan Maximum Instances menjadi10. Di area Custom Scaling Metric, atur nama variabel menjadicustom[qps]dan nilai variabel menjadi3, lalu klik Enable. -
Jika metrik kustom perlu ditentukan pada level tag, di dialog Auto Scaling Settings, di bawah Custom Scaling Metric, atur nama variabel menjadi custom[qps]@status[200] dan nilainya menjadi 3.
-