Application Real-Time Monitoring Service (ARMS) memungkinkan Anda memantau topologi aplikasi, panggilan API, transaksi abnormal dan lambat, serta kueri SQL untuk aplikasi di lingkungan Kubernetes tujuan umum. Topik ini menjelaskan cara menghubungkan aplikasi Java di lingkungan tersebut ke Pemantauan Aplikasi ARMS.
Jika kluster Kubernetes Anda disediakan oleh Container Service for Kubernetes (ACK), topik ini tidak berlaku. Untuk informasi tentang cara menghubungkan kluster ACK ke ARMS, lihat Instal agen Java untuk Container Service for Kubernetes (ACK) dan Container Compute Service (ACS) menggunakan komponen ack-onepilot.
Prasyarat
-
Pastikan versi kluster Kubernetes Anda adalah 1.18 atau lebih baru.
-
Jika kluster Kubernetes Anda tidak dideploy di Alibaba Cloud, pastikan kluster tersebut dapat terhubung ke jaringan publik. Anda juga dapat menggunakan layanan seperti Cloud Enterprise Network (CEN) untuk menghubungkan kluster ke VPC Alibaba Cloud.
Periksa versi JDK Anda. Untuk informasi selengkapnya, lihat Versi JDK yang didukung.
Pastikan memori heap maksimum untuk proses lebih besar dari 256 MB.
(Direkomendasikan) Metode 1: Hubungkan ke ARMS melalui kluster ACK terdaftar
Manfaat menggunakan kluster ACK terdaftar:
-
Dukungan O&M yang lebih efisien.
-
Akses ke ekstensi kluster ACK tambahan, termasuk pemantauan, logging, backup dan restore, keamanan, serta sumber daya cloud elastis. Untuk informasi selengkapnya, lihat Ikhtisar kluster terdaftar.
-
Hubungkan kluster Kubernetes Anda ke ACK One. Untuk informasi selengkapnya, lihat Buat kluster terdaftar ACK One.
-
Instal komponen ack-onepilot untuk kluster terdaftar. Untuk informasi selengkapnya, lihat Hubungkan Application Real-Time Monitoring Service (ARMS) ke kluster terdaftar.
Metode 2: Hubungkan langsung ke ARMS
Metode ini tidak menggunakan kluster ACK terdaftar. Setelah terhubung ke ARMS, informasi kontainer seperti penggunaan CPU, memori, disk, dan jaringan tidak dapat ditampilkan. Di halaman Application Instances, hanya data kontainer yang dikumpulkan oleh ARMS yang ditampilkan. Anda tidak dapat melihat data kontainer dari agen Prometheus dengan menghubungkan ke Managed Service for Prometheus. Untuk informasi selengkapnya, lihat Pemantauan instans aplikasi Java.
Langkah 1: Instal Helm 3
Langkah 2: Instal agen
Pemantauan Aplikasi ARMS mendukung penghubungan aplikasi tanpa status (deployment) dan stateful (StatefulSet). Metode penghubungan sama untuk kedua jenis tersebut. Bagian ini menggunakan contoh aplikasi tanpa status (deployment) di lingkungan Kubernetes.
-
Jalankan perintah
wgetberikut untuk mengunduh paket instalasi ack-onepilot.wget 'https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-onepilot-5.1.1.tgz' -
Jalankan perintah berikut untuk mengekstrak paket instalasi ack-onepilot.
tar xvf ack-onepilot-5.1.1.tgz -
Edit file values.yaml dalam paket instalasi. Ubah parameter berikut sesuai kebutuhan dan simpan file tersebut.
registry: registry-__ACK_REGION_ID__.ack.aliyuncs.com/acs/ cluster_id: __ACK_CLUSTER_ID__ accessKey: __ACCESSKEY__ accessKeySecret: __ACCESSKEY_SECRET__ uid: "__ACK_UID__" region_id: __ACK_REGION_ID__-
registry: Alamat registri ack-onepilot. -
cluster_id: ID kustom untuk kluster Kubernetes. ID harus unik. Format yang direkomendasikan adalah<uid>-<clusterid>. -
accessKeydanaccessKeySecret: ID AccessKey dan Rahasia AccessKey akun Alibaba Cloud Anda. Untuk informasi tentang cara memperoleh pasangan Kunci Akses, lihat Buat pasangan Kunci Akses.Penting-
Pastikan akun Alibaba Cloud memiliki izin AliyunARMSFullAccess dan AliyunSTSAssumeRoleAccess.
-
Jika Anda menggunakan Pengguna Resource Access Management (RAM), pastikan pengguna RAM tersebut juga memiliki izin AliyunARMSFullAccess dan AliyunSTSAssumeRoleAccess. Untuk informasi selengkapnya, lihat Kelola izin pengguna RAM.
-
Untuk memastikan keamanan pasangan Kunci Akses Anda, Anda dapat menyembunyikan ID AccessKey dan Rahasia AccessKey menggunakan Kubernetes Secret. Untuk informasi selengkapnya, lihat Metode 2: Gunakan Kubernetes Secret untuk mengimpor pasangan Kunci Akses.
-
-
uid: ID akun Alibaba Cloud Anda. Untuk memperoleh ID tersebut, arahkan penunjuk ke gambar profil Anda di pojok kanan atas Konsol Manajemen Alibaba Cloud. -
region_id: ID wilayah Alibaba Cloud. Untuk informasi tentang wilayah yang didukung oleh Pemantauan Aplikasi, lihat Wilayah dan zona.
CatatanJika kluster tujuan adalah kluster edge, tambahkan anotasi nodeSelector untuk menjadwalkan komponen ack-onepilot ke cloud. Hal ini memastikan ack-onepilot berfungsi sebagaimana mestinya.
kind: Deployment apiVersion: apps/v1 metadata: name: xxx namespace: xxx spec: template: spec: nodeSelector: # Ganti dengan node selector aktual. alibabacloud.com/is-edge-worker: "false" -
-
Jalankan perintah berikut untuk menginstal ack-onepilot.
Jalankan perintah ini di luar paket instalasi ack-onepilot.
helm3 upgrade --install ack-onepilot ack-onepilot --namespace ack-onepilot --create-namespace
Langkah 3: Modifikasi file YAML aplikasi
-
Jalankan perintah berikut untuk melihat file YAML aplikasi tanpa status (deployment) tujuan.
kubectl get deployment {deployment-name} -o yamlCatatanJika Anda tidak mengetahui
{deployment-name}, jalankan perintah berikut untuk melihat semua aplikasi tanpa status (deployment). Temukan aplikasi tujuan di output, lalu lihat file YAML-nya.kubectl get deployments --all-namespaces -
Jalankan perintah berikut untuk mengedit file YAML aplikasi tanpa status (deployment) tujuan.
kubectl edit deployment {deployment-name} -o yaml -
Di file YAML, tambahkan konten berikut di bawah level spec.template.metadata.
labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<your-deployment-name>" // Ganti <your-deployment-name> dengan nama aplikasi Anda. aliyun.com/app-language: javaCatatanUntuk informasi selengkapnya tentang keamanan aplikasi, lihat Apa itu keamanan aplikasi?.
Untuk informasi selengkapnya tentang penagihan keamanan aplikasi, lihat Ikhtisar penagihan.
Jika Anda ingin membuat aplikasi tanpa status (deployment) baru di lingkungan Kubernetes dan menghubungkannya ke ARMS, gunakan file YAML lengkap berikut:
-
Setelah Anda menyimpan konfigurasi, aplikasi akan otomatis restart agar perubahan diterapkan.
Setelah 2 hingga 5 menit, jika aplikasi Anda muncul di halaman di Konsol ARMS dan data dilaporkan, koneksi berhasil.