Application Monitoring eBPF Edition adalah layanan observabilitas berbasis teknologi Extended Berkeley Packet Filter (eBPF) untuk kluster Kubernetes. Layanan ini mengumpulkan data performa Rate, Errors, dan Duration (RED) dari kontainer tanpa modifikasi kode, serta secara otomatis mengkorelasikan layanan dengan beban kerja pengontrol terkait—seperti Deployments, StatefulSets, dan DaemonSets—untuk mempercepat proses troubleshooting.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster ACK. Lihat Create an ACK managed cluster.
Layanan Application Real-Time Monitoring Service (ARMS) yang telah diaktifkan. Lihat Activate ARMS.
Lingkungan yang memenuhi persyaratan sistem operasi untuk Application Monitoring eBPF Edition. Lihat Requirements and limitations on operating systems of Application Monitoring eBPF Edition.
Cara kerja
Application Monitoring eBPF Edition memerlukan dua agen yang diinstal di kluster Anda:
| Agent | Component ID | Tujuan |
|---|---|---|
| Prometheus monitoring agent | ack-arms-prometheus | Mengumpulkan metrik kluster melalui Managed Service for Prometheus |
| Komponen Application Monitoring eBPF Edition | ack-arms-cmonitor | Mengumpulkan data performa RED dari kontainer |
Metrik dalam Application Monitoring eBPF Edition dikumpulkan oleh Managed Service for Prometheus, sehingga ack-arms-prometheus tetap diperlukan meskipun Anda hanya berencana menggunakan pemantauan eBPF.Sambungkan kluster ACK Anda
Langkah 1: Periksa keberadaan ARMS Addon Token
Sebelum menginstal ack-arms-cmonitor, periksa apakah kluster memiliki ARMS Addon Token (addon.arms.token). Jika token tersebut tersedia, ARMS akan melakukan otorisasi tanpa kata sandi secara otomatis. Jika tidak tersedia, Anda harus menyambungkan kebijakan RAM yang diperlukan secara manual.
Masuk ke ACK console. Di panel navigasi sebelah kiri, klik ACK console Clusters.
Klik nama kluster, lalu pilih Configurations > Secrets di panel navigasi sebelah kiri.
Pilih kube-system dari daftar drop-down Namespace dan periksa apakah addon.arms.token tersedia.
| Status token | Langkah berikutnya |
|---|---|
| Token tersedia | Lewati ke Langkah 2: Instal ack-arms-cmonitor |
| Token tidak tersedia | Selesaikan Langkah 1b: Sambungkan kebijakan RAM sebelum melanjutkan |
Kluster ACK yang dikelola: ARMS Addon Token mungkin tidak tersedia pada beberapa kluster ACK yang dikelola tertentu. Periksa terlebih dahulu, lalu lengkapi otorisasi secara manual jika diperlukan.
Kluster ACK khusus: ARMS Addon Token tidak tersedia secara default. Otorisasi manual selalu diperlukan.
Langkah 1b: Sambungkan kebijakan RAM (jika token tidak tersedia)
Sambungkan kebijakan berikut ke role Resource Access Management (RAM) worker:
AliyunARMSFullAccess— izin penuh untuk ARMSAliyunTracingAnalysisFullAccess— izin penuh untuk Tracing Analysis
Masuk ke ACK console. Di panel navigasi sebelah kiri, klik Clusters.
Klik nama kluster. Di panel navigasi sebelah kiri, klik Cluster Information.
Di tab Basic Information, temukan bagian Cluster Resources dan klik tautan di samping Worker RAM Role.
Di Konsol RAM, pada tab Permission, klik Grant Permission.
Di panel Grant Permission, pilih kedua kebijakan tersebut dan klik Grant permissions:
AliyunTracingAnalysisFullAccessAliyunARMSFullAccess
Langkah 2: Instal ack-arms-cmonitor
Jika ack-arms-cmonitor sudah terinstal, periksa versinya terlebih dahulu. Di Konsol ACK, pilih Operations > Add-ons di panel navigasi sebelah kiri kluster. Jika versinya lebih lama dari 4.0.0, klik Upgrade sebelum melanjutkan.
Masuk ke ACK console. Di panel navigasi sebelah kiri, klik Clusters, lalu klik nama kluster.
Di panel navigasi sebelah kiri, pilih Operations > Cluster Topology.
Di halaman Cluster Topology, klik Install. Konsol ACK akan menginstal agen secara otomatis.
Namespace default adalah
arms-prom.(Hanya untuk kluster ACK khusus) Perbarui pasangan AccessKey:
Di panel navigasi sebelah kiri, pilih Applications > Helm.
Temukan
arms-cmonitordan klik Update. AturaccessKeydanaccessKeySecretmenjadi ID AccessKey dan AccessKey Secret dari Akun Alibaba Cloud Anda. Lihat Obtain the AccessKey pair of the primary account. > Important: Pastikan kebijakanAliyunARMSFullAccessdanAliyunSTSAssumeRoleAccesstelah disambungkan ke Akun Alibaba Cloud Anda.Klik OK.
Aktifkan Application Monitoring eBPF Edition untuk aplikasi Anda
Pilih metode integrasi yang sesuai dengan alur kerja Anda:
| Metode | Paling cocok untuk |
|---|---|
| Integrasi manual melalui Konsol ACK | Aplikasi yang sudah ada, atau aplikasi baru yang diterapkan melalui YAML |
| Integrasi otomatis melalui Konsol ARMS | Onboarding massal beberapa aplikasi |
Integrasi manual
Tambahkan label berikut ke bagian spec.template.metadata.labels pada file YAML Deployment Anda:
armseBPFAutoEnable: "on"
armseBPFCreateAppName: "<your-deployment-name>" # Ganti dengan nama aplikasi AndaContoh lengkap yang membuat Deployment dengan Application Monitoring eBPF Edition diaktifkan:
apiVersion: v1
kind: Namespace
metadata:
name: arms-demo
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: arms-springboot-demo
namespace: arms-demo
labels:
app: arms-springboot-demo
spec:
replicas: 2
selector:
matchLabels:
app: arms-springboot-demo
template:
metadata:
labels:
app: arms-springboot-demo
armseBPFAutoEnable: "on"
armseBPFCreateAppName: "arms-k8s-demo"
spec:
containers:
- resources:
limits:
cpu: 0.5
image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
imagePullPolicy: Always
name: arms-springboot-demo
env:
- name: SELF_INVOKE_SWITCH
value: "true"
- name: COMPONENT_HOST
value: "arms-demo-component"
- name: COMPONENT_PORT
value: "6666"
- name: MYSQL_SERVICE_HOST
value: "arms-demo-mysql"
- name: MYSQL_SERVICE_PORT
value: "3306"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: arms-springboot-demo-subcomponent
namespace: arms-demo
labels:
app: arms-springboot-demo-subcomponent
spec:
replicas: 2
selector:
matchLabels:
app: arms-springboot-demo-subcomponent
template:
metadata:
labels:
app: arms-springboot-demo-subcomponent
armseBPFAutoEnable: "on"
armseBPFCreateAppName: "arms-k8s-demo-subcomponent"
spec:
containers:
- resources:
limits:
cpu: 0.5
image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
imagePullPolicy: Always
name: arms-springboot-demo-subcomponent
env:
- name: SELF_INVOKE_SWITCH
value: "false"
- name: MYSQL_SERVICE_HOST
value: "arms-demo-mysql"
- name: MYSQL_SERVICE_PORT
value: "3306"
---
apiVersion: v1
kind: Service
metadata:
labels:
name: arms-demo-component
name: arms-demo-component
namespace: arms-demo
spec:
ports:
- name: arms-demo-component-svc
port: 6666
targetPort: 8888
selector:
app: arms-springboot-demo-subcomponent
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: arms-demo-mysql
namespace: arms-demo
labels:
app: mysql
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- resources:
limits:
cpu: 0.5
image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-demo-mysql:v0.1
name: mysql
ports:
- containerPort: 3306
name: mysql
---
apiVersion: v1
kind: Service
metadata:
labels:
name: mysql
name: arms-demo-mysql
namespace: arms-demo
spec:
ports:
- name: arms-mysql-svc
port: 3306
targetPort: 3306
selector:
app: mysqlUntuk menerapkan melalui Konsol ACK:
Masuk ke ACK console. Di halaman Clusters, temukan kluster dan klik Applications di kolom Actions.
Di halaman Deployments, klik Create from YAML.
Pilih templat dari daftar drop-down Sample Template, tambahkan label ke bagian
spec.template.metadata, lalu terapkan.
Integrasi otomatis
Masuk ke ARMS console.
Di panel navigasi sebelah kiri, klik Integration Center. Di bagian Server Applications, klik kartu eBPF Application Monitor.
Di panel yang muncul, atur parameter sesuai petunjuk untuk menyelesaikan integrasi.
Verifikasi integrasi
Setelah integrasi, konfirmasi bahwa aplikasi dan kluster Anda dipantau:
Di ARMS console, klik Integration Management di panel navigasi sebelah kiri untuk melihat semua aplikasi dan layanan yang telah diintegrasikan ke ARMS.
Di tab Integrated Environments, klik nama kluster ACK untuk melihat:
Informasi dasar kluster
Komponen yang diaktifkan
Metrik kluster
Dari halaman ini, jelajahi metrik atau konfigurasi agen ARMS sesuai kebutuhan.
Langkah berikutnya
What is Application Monitoring eBPF Edition — pelajari tentang teknologi dasar dan kemampuan pemantauannya