Simple Log Service adalah layanan log all-in-one dari Alibaba Cloud yang memungkinkan Anda langsung mengumpulkan, mengonsumsi, mengirimkan, menanyakan, dan menganalisis log melalui konsol. Simple Log Service dihosting di klaster ACK Serverless. Anda dapat mengonfigurasi variabel lingkungan Simple Log Service dalam klaster ACK Serverless untuk mengumpulkan stdout dan file log dari pod aplikasi.
Disarankan untuk menggunakan CustomResourceDefinitions (CRD) Simple Log Service guna mengumpulkan log. Untuk informasi lebih lanjut, lihat Gunakan CRD Simple Log Service untuk mengumpulkan log aplikasi.
Jangan gunakan CRD Simple Log Service dan variabel lingkungan secara bersamaan. Ini dapat menyebabkan kegagalan pengumpulan log.
Langkah 1: Buat aplikasi dan konfigurasikan Simple Log Service untuk mengumpulkan log aplikasi
Anda dapat membuat aplikasi menggunakan image atau template YAML yang berisi konfigurasi pengumpulan log berdasarkan Simple Log Service. Untuk informasi lebih lanjut tentang Simple Log Service, lihat Apa itu Simple Log Service?
Image
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan klaster yang ingin dikelola dan klik namanya. Di panel kiri, pilih .
Di bagian atas halaman Deployments, pilih namespace tempat aplikasi akan dibuat dari daftar drop-down Namespace. Kemudian, klik Create from Image di pojok kanan atas halaman.
Pada langkah Basic Information, atur parameter Name, Replicas, dan Type. Lalu, klik Next.
Pada langkah Container, atur parameter di bagian Log Service.
CatatanTabel berikut hanya menjelaskan parameter terkait Simple Log Service. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat Penyebaran.
Gambar berikut adalah contohnya.

Parameter
Deskripsi
Konfigurasi Pengumpulan
Klik Collection Configuration. Atur Logstore dan Log Path in Container (Can be set to stdout).
Logstore: nama Logstore yang ingin Anda gunakan. Nama tersebut hanya dapat berisi huruf kecil, angka, dan tanda hubung (-).
Anda dapat menggunakan parameter ini untuk menentukan Logstore yang menyimpan log yang dikumpulkan. Jika Logstore yang ditentukan tidak ada, sistem akan otomatis membuat Logstore di proyek Simple Log Service yang terkait dengan klaster.
Jalur Log di Kontainer (Dapat disetel ke stdout): jalur dari mana Anda ingin mengumpulkan log. Nilai /usr/local/tomcat/logs/catalina.*.log menunjukkan bahwa file log aplikasi Tomcat dikumpulkan.
CatatanJika Anda menyetel nilai menjadi stdout, stdout dan stderr akan dikumpulkan.
Semua pengaturan ditambahkan sebagai entri konfigurasi ke Logstore yang sesuai. Secara default, log dikumpulkan dalam mode sederhana (per baris). Jika Anda ingin menggunakan metode lain untuk mengumpulkan log, masuk ke Konsol Simple Log Service dan modifikasi konfigurasi pengumpulan log proyek dan Logstore. Secara default, proyek menggunakan awalan k8s-log.
Tag Kustom
Klik Custom Tag. Atur Tag Key dan Tag Value.
Setiap tag adalah pasangan kunci-nilai yang ditambahkan ke data log yang dikumpulkan. Anda dapat menggunakan tag kustom untuk menandai data log. Misalnya, Anda dapat menggunakan tag untuk menunjukkan versi aplikasi.
Setelah mengonfigurasi parameter, klik Next untuk mengonfigurasi pengaturan lanjutan. Untuk informasi lebih lanjut tentang langkah-langkah selanjutnya, lihat Buat Penyebaran.
Template YAML
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan klaster yang ingin dikelola dan klik namanya. Di panel kiri, pilih .
Di bagian atas halaman Deployments, pilih namespace tempat aplikasi akan dibuat dari daftar drop-down Namespace. Kemudian, klik Create from YAML di pojok kanan atas halaman.
Di halaman Create, pilih template dari daftar drop-down Sample Template dan modifikasi konten template di editor kode Template sesuai kebutuhan. Lalu, klik Create.
Template YAML mematuhi sintaksis Kubernetes. Anda dapat menggunakan
envuntuk mendefinisikan konfigurasi pengumpulan log dan tag kustom. Anda juga harus menyetel parametervolumeMountsdanvolumes. Contoh template YAML pod:apiVersion: v1 kind: Pod metadata: name: my-demo spec: containers: - name: my-demo-app image: 'registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest' args: - -c - mkdir -p /log;while true; do echo hello world; date; echo hello sls >> /var/log/test.log; sleep 1;done command: - /bin/sh env: ######### Tentukan variabel lingkungan ########### - name: aliyun_logs_log-stdout value: stdout - name: aliyun_logs_log-varlog value: /var/log/*.log - name: aliyun_logs_mytag1_tags value: tag1=v1 ######### Tentukan parameter mounting volume. ########### volumeMounts: - name: volumn-sls-mydemo mountPath: /var/log volumes: - name: volumn-sls-mydemo emptyDir: {}Anda dapat menambahkan konfigurasi berikut sesuai kebutuhan:
CatatanJika memiliki persyaratan lain untuk pengumpulan log, lihat Langkah 2: Konfigurasikan pengaturan lanjutan di bidang env.
Tambahkan konfigurasi pengumpulan log dan tag kustom menggunakan variabel lingkungan. Semua variabel lingkungan terkait pengumpulan log harus menggunakan awalan
aliyun_logs_.Tambahkan konfigurasi pengumpulan log dalam format berikut:
- name: aliyun_logs_log-stdout value: stdout - name: aliyun_logs_log-varlog value: /var/log/*.logDalam contoh sebelumnya, dua variabel lingkungan dalam format berikut ditambahkan ke konfigurasi pengumpulan log:
aliyun_logs_{key}.{keys}dari variabel lingkungan adalahlog-stdoutdanlog-varlog.Variabel lingkungan
aliyun_logs_log-stdoutenvironment variablemenunjukkan bahwa Logstore bernamalog-stdoutdibuat untuk menyimpanstdoutyang dikumpulkan dari kontainer. Nama konfigurasi pengumpulan adalahlog-stdout. Dengan cara ini, stdout kontainer dikumpulkan ke Logstore bernamalog-stdout.Variabel lingkungan
aliyun_logs_log-varlogenvironment variablemenunjukkan bahwa Logstore bernamalog-varlogdibuat untuk menyimpan file log yang dikumpulkan dari jalur/var/log/*.log. Nama konfigurasi pengumpulan adalahlog-varlog. Dengan cara ini, file log di jalur/var/log/*.logdikumpulkan ke Logstore bernamalog-varlog.
Tambahkan tag kustom dalam format berikut:
- name: aliyun_logs_mytag1_tags value: tag1=v1Setelah tag ditambahkan, tag tersebut secara otomatis ditambahkan ke data log yang dikumpulkan dari kontainer. Nilai
mytag1hanya dapat berisi huruf kecil, angka, dan tanda hubung (-).
Jika menentukan jalur log untuk mengumpulkan file log selain
stdout, Anda harus menyetel parametervolumeMounts. Dalam template YAML sebelumnya, bidang mountPath dalam volumeMounts disetel ke/var/log. Ini memungkinkan Logtail mengumpulkan data log dari file/var/log/*.log.
Langkah 2: Konfigurasikan pengaturan lanjutan di bidang env
Konfigurasi Logtail berbasis variabel lingkungan mendukung berbagai parameter. Anda dapat menggunakan variabel lingkungan untuk mengonfigurasi pengaturan lanjutan guna memenuhi kebutuhan pengumpulan log.
Anda tidak dapat menggunakan variabel lingkungan untuk mengonfigurasi pengumpulan log dalam skenario komputasi edge.
Variabel | Deskripsi | Contoh | Catatan penggunaan |
aliyun_logs_{key} |
|
|
|
aliyun_logs_{key}_tags | Opsional. Variabel ini digunakan untuk menambahkan tag ke log. Nilainya harus dalam format {tag-key}={tag-value}. | | N/A. |
aliyun_logs_{key}_project | Opsional. Variabel ini menentukan proyek Simple Log Service. Proyek default adalah proyek yang dihasilkan setelah Logtail diinstal. | | Proyek harus diterapkan di wilayah yang sama dengan Logtail. |
aliyun_logs_{key}_logstore | Opsional. Variabel ini menentukan Logstore Simple Log Service. Nilai default: {key}. | | N/A. |
aliyun_logs_{key}_shard | Opsional. Variabel ini menentukan jumlah shard dari Logstore. Nilai valid: 1 hingga 10. Nilai default: 2. Catatan Jika Logstore yang Anda tentukan sudah ada, variabel ini tidak berlaku. | | N/A. |
aliyun_logs_{key}_ttl | Opsional. Variabel ini menentukan periode retensi log. Nilai valid: 1 hingga 3650.
Catatan Jika Logstore yang Anda tentukan sudah ada, variabel ini tidak berlaku. | | N/A. |
aliyun_logs_{key}_machinegroup | Opsional. Variabel ini menentukan grup mesin tempat aplikasi diterapkan. Grup mesin default adalah grup mesin tempat Logtail diterapkan. Untuk informasi lebih lanjut tentang cara menggunakan variabel ini, lihat Kumpulkan log kontainer dari klaster ACK. | | N/A. |
aliyun_logs_{key}_logstoremode | Opsional. Variabel ini menentukan jenis Logstore. Nilai default: standard. Nilai valid: standard dan query. Catatan Jika Logstore yang Anda tentukan sudah ada, variabel ini tidak berlaku.
|
| Untuk menggunakan variabel ini, pastikan versi gambar komponen logtail-ds adalah 1.3.1 atau lebih baru. |
Custom requirement 1: Collect data from multiple applications to the same logstore
Dalam skenario ini, konfigurasikan parameter aliyun_logs_{key}_logstore. Contoh berikut menunjukkan cara mengumpulkan stdout dari dua aplikasi ke stdout-logstore.
{key}dari Aplikasi 1 disetel keapp1-stdout, dan{key}dari Aplikasi 2 disetel keapp2-stdout.Konfigurasikan variabel lingkungan berikut untuk Aplikasi 1:
# Konfigurasikan variabel lingkungan. - name: aliyun_logs_app1-stdout value: stdout - name: aliyun_logs_app1-stdout_logstore value: stdout-logstoreKonfigurasikan variabel lingkungan berikut untuk Aplikasi 2:
# Konfigurasikan variabel lingkungan. - name: aliyun_logs_app2-stdout value: stdout - name: aliyun_logs_app2-stdout_logstore value: stdout-logstoreCustom requirement 2: Collect data from multiple applications to different projects
Dalam skenario ini, lakukan langkah-langkah berikut:
Buat grup mesin di setiap proyek dan atur pengenal kustom grup mesin dalam format berikut:
k8s-group-{cluster-id}, di mana{cluster-id}adalah ID klaster. Anda dapat menentukan nama grup mesin kustom.Tentukan proyek, logstore, dan grup mesin dalam variabel lingkungan untuk setiap aplikasi. Nama grup mesin sama dengan yang dibuat pada langkah sebelumnya.
Dalam contoh berikut,
{key}dari Aplikasi 1 disetel keapp1-stdout, dan{key}dari Aplikasi 2 disetel keapp2-stdout. Jika kedua aplikasi diterapkan di klaster Kubernetes yang sama, Anda dapat menggunakan grup mesin yang sama untuk aplikasi tersebut.Konfigurasikan variabel lingkungan berikut untuk Aplikasi 1:
# Konfigurasikan variabel lingkungan. - name: aliyun_logs_app1-stdout value: stdout - name: aliyun_logs_app1-stdout_project value: app1-project - name: aliyun_logs_app1-stdout_logstore value: app1-logstore - name: aliyun_logs_app1-stdout_machinegroup value: app1-machine-groupKonfigurasikan variabel lingkungan berikut untuk Aplikasi 2:
# Konfigurasikan variabel lingkungan. - name: aliyun_logs_app2-stdout value: stdout - name: aliyun_logs_app2-stdout_project value: app2-project - name: aliyun_logs_app2-stdout_logstore value: app2-logstore - name: aliyun_logs_app2-stdout_machinegroup value: app1-machine-group
Langkah 3: Lihat log
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan klaster yang diinginkan dan klik namanya. Di panel kiri, pilih .
Di halaman Log Center, klik tab Application Logs dan pilih Logstore untuk melihat log kontainer.