Tetapkan variabel lingkungan untuk mengarahkan log ECI ke proyek, Logstore, dan kelompok mesin kustom di SLS.
Latar Belakang
Simple Log Service (SLS) adalah layanan terpadu untuk data log yang memungkinkan Anda mengumpulkan, mengonsumsi, mengirimkan, melakukan kueri, dan menganalisis log tanpa perlu pengembangan kustom. Untuk informasi selengkapnya, lihat Pengantar Simple Log Service.
SLS ditagih berdasarkan penggunaan. Lihat Ikhtisar penagihan.
Saat Anda mengaktifkan pengumpulan log selama pembuatan instans ECI, sistem secara otomatis membuat proyek dan kelompok mesin default:
-
Nama proyek:
eci-log-default-project-{Region}-{AccountID}. -
Nama kelompok mesin:
eci-log-default-machine-group-{Region}.
Untuk menggunakan proyek, Logstore, atau kelompok mesin kustom, tetapkan konfigurasi log sebagai variabel lingkungan kontainer. Jika sumber daya yang ditentukan belum ada di SLS, sistem akan membuatnya secara otomatis.
Catatan Penggunaan
-
Variabel lingkungan terkait log hanya berlaku saat pembuatan instans. Variabel yang ditetapkan selama pembaruan instans akan diabaikan.
-
Hapus proyek kustom dan konfigurasi Logtail yang tidak digunakan untuk menghindari biaya.
-
Mengganti nama variabel lingkungan tidak menghapus konfigurasi aslinya. Hapus konfigurasi tersebut secara manual untuk menghindari biaya.
Konfigurasi
Teruskan konfigurasi log kustom—meliputi proyek, Logstore, konfigurasi Logtail, kelompok mesin, jumlah shard, periode retensi, dan tag—sebagai variabel lingkungan kontainer.
Nama variabel lingkungan terkait log harus diawali dengan aliyun_logs_{key}, di mana {key} adalah nama konfigurasi Logtail. Kunci hanya mendukung huruf kecil, angka, dan tanda hubung (-).
|
Parameter |
Variabel lingkungan |
Deskripsi nilai |
|
Konfigurasi Logtail |
aliyun_logs_{key} |
Membuat konfigurasi Logtail dan menentukan jalur pengumpulan log-nya.
|
|
Proyek |
aliyun_logs_{key}_project |
Menentukan proyek. Persyaratan nama:
Catatan
Nama proyek harus unik secara global dan tidak dapat diubah setelah dibuat. Nama yang tidak valid akan diabaikan dan proyek default akan digunakan. |
|
Logstore |
aliyun_logs_{key}_logstore |
Menentukan Logstore. Persyaratan nama:
Catatan
Nama yang tidak valid akan diabaikan dan Logstore default akan digunakan. Nama Logstore default sesuai dengan nama konfigurasi Logtail |
|
Kelompok mesin |
aliyun_logs_{key}_machinegroup |
Menentukan kelompok mesin. Persyaratan nama:
Catatan
Nama yang tidak valid akan diabaikan dan kelompok mesin default akan digunakan. |
|
Shard |
aliyun_logs_{key}_shard |
Menetapkan jumlah shard untuk Logstore. Nilainya dapat berupa bilangan bulat dari 1 hingga 10. Log yang dibaca dari dan ditulis ke Logstore disimpan dalam shard. Setiap Logstore memiliki dua shard secara default. |
|
Periode retensi log |
aliyun_logs_{key}_ttl |
Menetapkan periode retensi log dalam hari. Nilainya dapat berupa bilangan bulat dari 1 hingga 3.650.
|
|
Tag |
aliyun_logs_{key}_tags |
Menambahkan tag ke log. Nilainya harus dalam format |
Contoh
Contoh berikut menggunakan konfigurasi log kustom berikut:
-
Nama konfigurasi Logtail dan Logstore: Log output standar disimpan ke
stdout-eci, sedangkan log file teks disimpan kefile-eci. -
Nama proyek:
project-eci-test -
Nama kelompok mesin:
mg-eci-test
Nilai-nilai ini hanya contoh. Gunakan konfigurasi Anda sendiri dan pastikan nama proyek bersifat unik secara global.
API
Panggil operasi CreateContainerGroup dan tetapkan variabel lingkungan menggunakan parameter Container.N.EnvironmentVar.N.Key dan Container.N.EnvironmentVar.N.Value:
ContainerGroupName=test-sls
Container.1.Name=busybox
Container.1.Image=registry-vpc.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
Container.1.Command.1=/bin/sh
Container.1.Arg.1=-c
Container.1.Arg.2=mkdir -p /log;while true; do echo hello world; date; echo hello sls >> /log/busy.log; sleep 1;done
# Mengumpulkan log stdout
Container.1.EnvironmentVar.1.Key=aliyun_logs_stdout-eci
Container.1.EnvironmentVar.1.Value=stdout
Container.1.EnvironmentVar.2.Key=aliyun_logs_stdout-eci_project
Container.1.EnvironmentVar.2.Value=project-eci-test
Container.1.EnvironmentVar.3.Key=aliyun_logs_stdout-eci_machinegroup
Container.1.EnvironmentVar.3.Value=mg-eci-test
# Mengumpulkan file teks
Container.1.EnvironmentVar.4.Key=aliyun_logs_file-eci
Container.1.EnvironmentVar.4.Value=/log/*.log
Container.1.EnvironmentVar.5.Key=aliyun_logs_file-eci_project
Container.1.EnvironmentVar.5.Value=project-eci-test
Container.1.EnvironmentVar.6.Key=aliyun_logs_file-eci_machinegroup
Container.1.EnvironmentVar.6.Value=mg-eci-test
Konsol
Saat membuat instans ECI di Konsol Elastic Container Instance, pada bagian Container Configurations, pilih kontainer, buka Pengaturan Lanjutan, lalu aktifkan Environment Variable untuk menambahkan variabel Anda.
Untuk mengumpulkan log stdout, tambahkan variabel lingkungan berikut: aliyun_logs_stdout-eci = stdout, aliyun_logs_stdout-eci_project = project-eci-test, dan aliyun_logs_stdout-eci_machinegroup = mg-eci-test. Untuk mengumpulkan log file teks, tambahkan variabel lingkungan berikut: aliyun_logs_file-eci = /log/*.log, aliyun_logs_file-eci_project = project-eci-test, dan aliyun_logs_file-eci_machinegroup = mg-eci-test.
Verifikasi hasil
Di Konsol Simple Log Service, buka proyek target untuk melihat log di Logstore.
Output standar
Buka proyek project-eci-test dan pilih Logstore stdout-eci. Log stdout mencakup bidang seperti _container_name_, _image_name_, _namespace_, _pod_name_, _pod_uid_, _source_, dan content.
File teks
Logstore menampilkan log file teks yang dikumpulkan dari instans ECI, dengan isi hello sls.