Fitur pemantauan bidang data Kubernetes dibangun di atas kemampuan pemantauan non-intrusif yang dikembangkan bersama oleh Simple Log Service dan komunitas OpenAnolis. Fitur ini memungkinkan Anda memvisualisasikan alur data di seluruh lingkungan Kubernetes, mengidentifikasi bottleneck, serta mengelola sistem cloud-native yang kompleks dengan mudah.
Prasyarat
-
Instans Full-stack Observability telah dibuat. Untuk informasi selengkapnya, lihat Create an instance.
-
Jika Anda menggunakan konsol, komponen pemantauan telah diinstal. Untuk informasi selengkapnya, lihat Install a monitoring component.
Batasan
Pemantauan bidang data Kubernetes memerlukan host x86_64 dengan kernel Linux versi 4.19 atau lebih baru, atau kernel versi 3.1.0 (hanya untuk CentOS 7.6 hingga 7.9). Anda dapat menjalankan perintah uname -r untuk memeriksa informasi kernel.
Konfigurasi melalui konsol
Masuk ke Simple Log Service console.
Di bagian Log Application, klik tab Intelligent O&M, lalu klik Full-stack Observability.
Pada halaman Simple Log Service Full-stack Observability, klik instans yang diinginkan.
-
Di panel navigasi sebelah kiri, klik Full-stack Monitoring.
Jika ini pertama kalinya Anda menggunakan Full-stack Monitoring untuk instans ini, klik Enable.
-
Di panel navigasi sebelah kiri, klik Data Collection. Pada halaman Data Import Configurations, temukan Non-intrusive Service Observation di bagian Kubernetes Monitoring.
Jika ini pertama kalinya Anda membuat konfigurasi akses data untuk item pemantauan tersebut, aktifkan sakelar untuk membuka halaman konfigurasi. Jika konfigurasi sudah ada, klik ikon
untuk membuka halaman konfigurasi. -
Buat kelompok mesin:
Jika Anda telah membuat kelompok mesin, lewati langkah ini.
-
Untuk membuat kelompok mesin untuk kluster ACK, lihat Create an IP address-based machine group.
-
Untuk membuat kelompok mesin untuk kluster Kubernetes yang dikelola sendiri, lihat Create a custom identifier-based machine group.
-
Konfigurasi melalui CLI
-
Unduh tool Logtail CRD untuk menghasilkan konfigurasi pengumpulan data.
Metode
Deskripsi
Instal dari luar kluster
Memerlukan file
~/.kube/configdi mesin lokal Anda dengan izin untuk menjalankan perintah kubectl terhadap kluster target.Instal dari dalam kontainer
Menggunakan izin komponen
alibaba-log-controlleruntuk membuat CRD. Gunakan metode ini jika Anda tidak memiliki file~/.kube/configatau jika masalah jaringan mencegah Anda terhubung ke kluster.Instal dari luar kluster
-
Masuk ke kluster Anda dan unduh tool templat.
-
China
curl https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz -
Wilayah di luar China
curl https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
-
-
Instal tool templat. Instalasi yang berhasil akan menghasilkan file eksekusi
sls-crd-tooldi direktori saat ini.tar -xvf /tmp/crd-tool.tar.gz -C /tmp &&chmod 755 /tmp/crd-tool/install.sh && sh -x /tmp/crd-tool/install.sh -
Jalankan
./sls-crd-tool listuntuk memverifikasi instalasi. Instalasi berhasil jika perintah tersebut menghasilkan output apa pun.
Instal dari dalam kontainer
-
Masuk ke kluster dan akses kontainer
alibaba-log-controller.kubectl get pods -n kube-system -o wide |grep alibaba-log-controller | awk -F ' ' '{print $1}' kubectl exec -it {pod} -n kube-system bash cd ~ -
Unduh Template Tool.
-
Jika kluster dapat mengakses jaringan publik, jalankan salah satu perintah berikut:
-
China
curl https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz -
Wilayah di luar China
curl https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
-
-
Jika kluster tidak dapat mengakses jaringan publik, unduh tool tersebut dari luar kluster dan transfer ke dalam kontainer menggunakan perintah seperti
kubectl cp <source> <destination>atau metode transfer file lain yang didukung oleh ACK.
-
-
Instal tool templat. Instalasi yang berhasil akan menghasilkan file eksekusi
sls-crd-tooldi direktori saat ini.tar -xvf /tmp/crd-tool.tar.gz -C /tmp &&chmod 755 /tmp/crd-tool/install.sh && sh -x /tmp/crd-tool/install.sh -
Jalankan
./sls-crd-tool listuntuk memverifikasi instalasi. Instalasi berhasil jika perintah tersebut menghasilkan output apa pun.
-
-
Gunakan tool Logtail CRD untuk menghasilkan konfigurasi pengumpulan data.
-
Lihat definisi templat.
./sls-crd-tool get ebpfK8sPlugin -
Ganti
REQUIREDdengan ID instans Anda saat ini dan jalankan perintah berikut untuk melihat pratinjau parameter../sls-crd-tool apply -f template-ebpfK8sPlugin.yaml --create=false -
Pastikan parameter
projectdiatur ke Proyek yang terkait dengan instans Anda saat ini. Lalu, jalankan perintah berikut untuk men-deploy file koleksi templat../sls-crd-tool apply -f template-ebpfK8sPlugin.yaml -
Kembali ke halaman Data Import Configurations. Instalasi yang berhasil akan menambah jumlah Configurations pada bagian Resource Monitoring sebanyak satu. Jumlah tersebut tidak berubah jika instalasi gagal.
-
Konfigurasikan pengumpulan data
-
Klik Use Existing Machine Groups.
Setelah Anda menginstal komponen pemantauan, Simple Log Service secara otomatis membuat kelompok mesin bernama
k8s-group-${your_k8s_cluster_id}. Anda dapat langsung menggunakan kelompok mesin ini. -
Pilih kelompok mesin target, misalnya
k8s-group-${your_k8s_cluster_id}. Pindahkan kelompok tersebut dari Source Machine Group ke Applied Machine Group, lalu klik Next.PentingJika status heartbeat kelompok mesin adalah FAIL, klik Automatic Retry. Jika masalah tetap berlanjut, lihat What do I do if a Logtail machine group has no heartbeats? untuk troubleshooting.
-
Pada langkah Configure Data Source, atur parameter berikut, lalu klik Complete.
Parameter
Deskripsi
Pengaturan umum
Configuration Name
Nama konfigurasi koleksi Logtail.
Cluster
Nama kluster.
Setelah Anda mengatur parameter ini, Simple Log Service akan menambahkan label
cluster=cluster_nameke data pemantauan yang dikumpulkan melalui konfigurasi ini.PentingPastikan nama kluster unik untuk menghindari konflik data.
Monitor Application Layer Protocols
Jika Anda mengaktifkan sakelar Monitor Application Layer Protocols, Logtail akan mengurai protokol jaringan lapisan aplikasi seperti HTTP, MySQL, dan Redis.
Statistical Interval of Network Metrics
Interval, dalam detik, untuk agregasi dan pelaporan data jaringan Lapisan 4. Kami merekomendasikan nilai 600 detik atau kurang.
Statistical Interval of Protocol Metrics
Interval, dalam detik, untuk agregasi dan pelaporan data jaringan protokol Lapisan 7. Kami merekomendasikan nilai 60 detik atau kurang.
Protocol Sample Rate
Laju pengambilan sampel untuk data jaringan. Pengaturan ini hanya menyaring data jaringan Lapisan 7 dan tidak memengaruhi statistik jaringan Lapisan 4.
Protocol allowlist
Pilih protokol lapisan aplikasi yang ingin Anda uraikan.
Kubernetes Selector
Namespace allowlist
Masukkan ekspresi reguler untuk mencocokkan nama Namespace dari mana data akan dikumpulkan.
Namespace denylist
Masukkan ekspresi reguler untuk mencocokkan nama Namespace yang akan dikecualikan dari pengumpulan data.
Pod allowlist
Masukkan ekspresi reguler untuk mencocokkan nama Pod dari mana data akan dikumpulkan.
Pod denylist
Masukkan ekspresi reguler untuk mencocokkan nama Pod yang akan dikecualikan dari pengumpulan data.
Container allowlist
Masukkan ekspresi reguler untuk mencocokkan nama kontainer dari mana data akan dikumpulkan.
Container denylist
Masukkan ekspresi reguler untuk mencocokkan nama kontainer yang akan dikecualikan dari pengumpulan data.
Label allowlist
Menentukan kontainer mana yang akan dikumpulkan datanya berdasarkan label mereka.
Atur Label key ke nama tertentu dan Label value ke ekspresi reguler. Misalnya, mengatur Label key ke io.kubernetes.container.name dan Label value ke ^(nginx|cube)$ akan mencocokkan kontainer bernama
nginxataucube.Beberapa entri digabungkan menggunakan logika OR. Kontainer cocok jika memenuhi salah satu kondisi yang ditentukan.
Label denylist
Menentukan kontainer mana yang akan dikecualikan dari pengumpulan data berdasarkan label mereka.
Atur Label key ke nama tertentu dan Label value ke ekspresi reguler. Misalnya, mengatur Label key ke io.kubernetes.container.name dan Label value ke ^(nginx|cube)$ akan mengecualikan kontainer bernama
nginxataucube.Beberapa entri digabungkan menggunakan logika OR. Kontainer dikecualikan jika memenuhi salah satu kondisi yang ditentukan.
Environment Variable Whitelist
Menentukan kontainer mana yang akan dikumpulkan datanya berdasarkan variabel lingkungan mereka.
Atur Env key ke nama tertentu dan Env value ke ekspresi reguler. Misalnya, mengatur Env key ke NGINX_SERVICE_PORT dan Env value ke ^(80|6379)$ akan mencocokkan kontainer di mana variabel lingkungan
NGINX_SERVICE_PORTdiatur ke80atau6379.Beberapa entri digabungkan menggunakan logika OR. Kontainer cocok jika memenuhi salah satu kondisi yang ditentukan.
Environment Variable Blacklist
Menentukan kontainer mana yang akan dikecualikan dari pengumpulan data berdasarkan variabel lingkungan mereka.
Atur Env key ke nama tertentu dan Env value ke ekspresi reguler. Misalnya, mengatur Env key ke NGINX_SERVICE_PORT dan Env value ke ^(80|6379)$ akan mengecualikan kontainer di mana variabel lingkungan
NGINX_SERVICE_PORTdiatur ke80atau6379.Beberapa entri digabungkan menggunakan logika OR. Kontainer dikecualikan jika memenuhi salah satu kondisi yang ditentukan.
Advanced Settings
Drop Local Packets
Jika Anda mengaktifkan sakelar Drop Local Packets, Logtail akan membuang permintaan jaringan dengan alamat tujuan lokal.
Drop Unix Packets
Jika Anda mengaktifkan sakelar Drop Unix Packets, Logtail akan membuang permintaan jaringan dari domain UNIX.
Domain UNIX biasanya digunakan untuk interaksi jaringan lokal.
Drop Unknown Packets
Jika Anda mengaktifkan sakelar Drop Unknown Packets, Logtail akan membuang permintaan jaringan yang bukan berasal dari domain INET atau UNIX.
Read Interval of Container Data
Interval, dalam detik, untuk pembacaan penuh metadata kontainer. Kami merekomendasikan nilai 60 detik atau kurang.
Read Interval of Socket Data
Interval, dalam detik, untuk membaca metadata socket. Kami merekomendasikan nilai 30 detik atau kurang.
Protocol Aggregation Window
Ukuran jendela agregasi data tingkat proses dalam interval statistik metrik protokol. Parameter ini membantu mengontrol konsumsi sumber daya dan mencegah penggunaan memori Logtail yang tinggi ketika terdapat banyak panggilan berbeda. Nilai default adalah 500 untuk klien dan 5.000 untuk server.
Setelah konfigurasi selesai, Simple Log Service secara otomatis membuat aset seperti Metricstore.
Langkah selanjutnya
Setelah data pemantauan bidang data Kubernetes dikumpulkan, aplikasi Full-stack Observability secara otomatis menghasilkan dasbor khusus. Anda dapat menggunakan dasbor ini untuk menganalisis data pemantauan. Untuk informasi selengkapnya, lihat View dashboards.