Dalam skenario tertentu, Anda mungkin ingin mengonfigurasi metrik pemantauan kustom sesuai dengan kebutuhan bisnis Anda, seperti jumlah pengecualian yang diterima per detik. Anda juga dapat menggunakan metrik kustom untuk mengonfigurasi penskalaan otomatis. Untuk memenuhi kebutuhan ini, Elastic Algorithm Service (EAS) menyediakan operasi untuk melaporkan metrik secara real-time serta menawarkan alur lengkap dari pengumpulan data, penyimpanan, tampilan hingga penskalaan otomatis layanan. Anda hanya perlu mengonfigurasi metrik kustom yang ingin dilaporkan secara berkala di dalam kode dan menentukan metrik tersebut saat menyebarkan layanan. Setelah layanan disebarkan, EAS dapat menerima data metrik kustom yang dilaporkan secara berkala oleh layanan dan menampilkannya pada halaman pemantauan layanan.
Batasan
Anda hanya dapat menggunakan metrik permintaan per detik (QPS) dan Utilisasi CPU untuk mengonfigurasi penskalaan otomatis.
Informasi metrik kustom hanya dapat ditentukan menggunakan bidang metrics ketika Anda menyebarkan layanan menggunakan citra kustom atau prosesor kustom.
Langkah 1: Konfigurasikan operasi yang digunakan untuk melaporkan metrik secara berkala
Sebelum menyebarkan layanan, Anda perlu menyiapkan citra kustom atau prosesor kustom, serta menentukan metrik kustom dan operasi pelaporan metrik tersebut di dalam file konfigurasi. Untuk informasi lebih lanjut, lihat Menyebarkan Layanan Model Menggunakan Citra Kustom atau Menyebarkan Layanan Menggunakan Prosesor Kustom.
Sebagai contoh, jika metode permintaan POST dalam kode Anda adalah http://localhost:8080/api/builtin/realtime_metrics, blok kode berikut memberikan contoh badan permintaan:
[
{
"name": "qps",
"tags": {
"status": "200"
},
"value": 20
},
{
"name": "qps",
"tags": {
"status": "400"
},
"value": 13
}
]Pada contoh sebelumnya, metrik bernama qps diunggah. Rata-rata QPS adalah 20 ketika kode status adalah 200, dan rata-rata QPS adalah 13 ketika kode status adalah 400. Anda dapat menggunakan bidang tags dalam skenario di mana Anda perlu mengklasifikasikan metrik. Jika tidak, Anda tidak perlu menentukan bidang tags. Contoh:
[
{
"name": "qps",
"value": 20
}
]Gunakan kode Anda sendiri untuk mendefinisikan operasi yang melaporkan metrik kustom secara berkala.
Langkah 2: Menyebarkan layanan
Setelah mendefinisikan metrik kustom, tentukan informasi seperti nama dan jenis metrik menggunakan bidang metrics dalam file JSON layanan saat menyebarkan layanan. Dengan cara ini, layanan dapat melaporkan metrik. EAS menginisialisasi dan membangun dasbor pada halaman pemantauan berdasarkan informasi metrik yang Anda tentukan selama penyebaran layanan. Ikuti langkah-langkah berikut:
Siapkan file JSON untuk konfigurasi layanan.
Tambahkan bidang metrics dalam file untuk menentukan informasi seperti nama dan jenis metrik. Kode berikut memberikan contoh file JSON menggunakan citra kustom untuk menyebarkan layanan:
{ "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 } }Pada kode sebelumnya, atur parameter image ke citra kustom yang telah Anda siapkan. Tabel berikut menjelaskan parameter dari bidang metrics. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Parameter untuk Penyebaran JSON.
Parameter
Wajib
Deskripsi
name
Ya
Nama metrik kustom yang ingin Anda laporkan dalam layanan.
Halaman pemantauan layanan membuat dasbor pemantauan berdasarkan nama metrik.
Nama metrik juga digunakan untuk mengonfigurasi penskalaan otomatis.
tags
Tidak
Nama tag dari metrik. Anda dapat menggunakan tag untuk mengklasifikasikan metrik. Sebagai contoh, Anda dapat mengklasifikasikan QPS berdasarkan kode status.
Konfigurasi sebelumnya adalah contoh ketika Anda menggunakan citra Docker untuk menyebarkan layanan. Anda dapat menggunakan citra kustom untuk membangun logika bisnis Anda. Konfigurasi bidang metrics mendefinisikan metrik bernama qps. Data pemantauan valid selama seminggu. Data yang kedaluwarsa akan dihapus secara otomatis. Konfigurasi bidang metrics juga mendefinisikan tag bernama status, yang digunakan untuk melaporkan informasi berbeda dari metrik qps. Dengan menggunakan kode sampel sebelumnya, Anda dapat menggunakan metrik qps untuk mengumpulkan data tentang jumlah permintaan ketika kode status bervariasi.
Gunakan file konfigurasi untuk menyebarkan layanan model.
Buka halaman Penyebaran Layanan. Untuk informasi lebih lanjut, lihat Penyebaran Layanan Model Menggunakan Konsol PAI.
Di bagian Configuration Editor, klik JSON Deployment, lalu tempelkan isi file JSON ke dalam kotak input.
Klik Deploy.
Langkah 3: Menampilkan data metrik
Setelah menyebarkan layanan, sistem melaporkan data metrik berdasarkan konfigurasi Anda. EAS menyediakan Operasi API lokal untuk menerima data metrik.
EAS juga menggunakan data yang diterima untuk penskalaan otomatis.
Karena jumlah data yang besar, data dikumpulkan dan ditampilkan dalam satu menit setelah dilaporkan. Data yang ditampilkan pada halaman pemantauan akurat hingga menit.
Berikut ini adalah contoh cara menanyakan metrik kustom qps:
Di halaman EAS-Layanan Model Online, klik nama layanan yang ingin Anda lihat untuk masuk ke halaman Detail Layanan.
Di tab Service Monitoring, pilih metrik kustom dari daftar drop-down di pojok kiri atas. Dasbor metrik kustom muncul.
Di dasbor, Anda dapat melihat data pemantauan metrik kustom. Data tersebut mencakup bagian-bagian berikut:
Data metrik rata-rata dari semua instance dalam layanan.
Data metrik dari setiap instance dalam layanan.

Langkah 4: Konfigurasikan penskalaan otomatis
Anda dapat menggunakan metrik kustom untuk mengonfigurasi penskalaan otomatis layanan. Metode konfigurasi sama dengan menggunakan metrik default. Untuk informasi lebih lanjut, lihat Penskalaan Otomatis.
Berikut ini adalah contoh menggunakan metrik kustom qps untuk mengonfigurasi penskalaan otomatis.
Gunakan klien lokal untuk mengaktifkan penskalaan otomatis. Untuk informasi lebih lanjut tentang petunjuk, lihat bagian "Metode 2: Kelola Fitur Penskalaan Horizontal Otomatis Menggunakan Klien" dalam topik Aktifkan atau Nonaktifkan Fitur Penskalaan Horizontal Otomatis.
Contoh kode ketika tidak ada tag yang dikonfigurasi untuk metrik kustom:
eascmd autoscale service_name -Dmin=1 -Dmax=10 -Dstrategies.custom[qps]=3Konfigurasi ini menunjukkan bahwa layanan melakukan penskalaan keluar ketika nilai rata-rata QPS melebihi 3, dan penskalaan masuk ketika nilai rata-rata QPS lebih kecil dari 3.
Contoh kode ketika tag dikonfigurasi untuk metrik kustom:
eascmd autoscale service_name -Dmin=1 -Dmax=10 -Dstrategies.custom[qps]@status[200]=3Konfigurasi ini menunjukkan bahwa ketika kode status QPS adalah 200, layanan melakukan penskalaan keluar ketika nilai rata-rata QPS melebihi 3, dan penskalaan masuk ketika nilai rata-rata QPS lebih kecil dari 3.
Gunakan konsol untuk mengaktifkan penskalaan otomatis. Untuk informasi lebih lanjut tentang petunjuk, lihat bagian "Metode 1: Kelola Fitur Penskalaan Horizontal Otomatis di Konsol" dalam topik Aktifkan atau Nonaktifkan Fitur Penskalaan Horizontal Otomatis.
Jika tidak ada tag yang dikonfigurasi untuk metrik kustom, di bagian Custom Scaling Metric dari kotak dialog Auto Scaling Settings, atur nama metrik menjadi custom[qps] dan nilai metrik menjadi 3.

Jika tag dikonfigurasi untuk metrik kustom, di bagian Custom Scaling Metric dari kotak dialog Auto Scaling Settings, atur nama metrik menjadi custom[qps]@status[200] dan nilai metrik menjadi 3.
