Setelah Anda men-deploy Docker pada server, Anda dapat mengumpulkan log untuk kueri dan analisis. Log Docker terbagi menjadi dua jenis: keluaran standar dan log berkas. Log berkas dihasilkan di dalam kontainer dan ditulis ke direktori berkas tertentu pada server. Keluaran standar merupakan aliran keluaran real-time dari kontainer. Topik ini menjelaskan cara menggunakan Logtail untuk mengumpulkan keluaran standar dari kontainer ke penyimpanan log.
Ikhtisar
Setelah menginstal Docker pada host, Anda dapat menggunakan Logtail untuk mengumpulkan log keluaran standar (stdout) dan kesalahan standar (stderr) dari kontainer aplikasi yang dideploy di lingkungan Docker. Data log yang dikumpulkan dikirim ke penyimpanan log guna memudahkan kueri dan analisis.
Prasyarat
Proyek dan penyimpanan log telah dibuat. Untuk informasi selengkapnya, lihat Kelola proyek dan Kelola penyimpanan log.
Host telah menginstal dan menggunakan Docker serta Docker Compose serta dapat terus-menerus menghasilkan log keluaran standar.
CatatanLogtail hanya mengumpulkan log inkremental. Jika berkas log tidak diperbarui setelah konfigurasi Logtail diterapkan, Logtail tidak akan mengumpulkan log dari berkas tersebut. Untuk informasi selengkapnya, lihat Baca log.
Langkah 1: Instal kontainer Logtail dan buat kelompok mesin
Ambil citra Logtail
Login ke host. Berdasarkan wilayah proyek Simple Log Service Anda, peroleh
${region_id}yang sesuai. Kemudian, ganti placeholder${region_id}dalam perintah berikut dan jalankan untuk mengambil citra Logtail.PentingUntuk
${region_id}setiap wilayah, lihat Wilayah dan zona. Sebagai contoh,${region_id}untuk Tiongkok (Hangzhou) adalahcn-hangzhou.
#Ambil citra Logtail: docker pull registry.${region_id}.aliyuncs.com/log-service/logtail:v2.1.11.0-aliyun #Jika server Anda berada di VPC Alibaba Cloud, jalankan perintah berikut untuk mengambil citra Logtail: docker pull registry-vpc.${region_id}.aliyuncs.com/log-service/logtail:v2.1.11.0-aliyunJalankan kontainer Logtail
Deskripsi parameter
Parameter
Deskripsi
${region_id}Peroleh
${region_id}yang sesuai dengan wilayah Proyek Simple Log Service Anda. Untuk${region_id}setiap wilayah, lihat Wilayah yang tersedia. Untuk informasi tentang pemilihan jenis jaringan, lihat Jenis jaringan Logtail, parameter startup, dan berkas konfigurasi.Sebagai contoh, jika Proyek berlokasi di wilayah Tiongkok (Hangzhou),
${region_id}adalahcn-hangzhouuntuk akses jaringan internal Alibaba Cloud dancn-hangzhou-internetuntuk akses jaringan publik.
${aliyun_account_id}ID Akun Alibaba Cloud tempat Simple Log Service berada. Untuk informasi selengkapnya tentang cara memperoleh ID tersebut, lihat Peroleh ID Akun Alibaba Cloud.
${user_defined_id}Menentukan pengenal kustom untuk kelompok mesin, seperti
user-defined-docker-1. Pengenal ini harus unik dalam wilayah tempat Proyek berada.Berdasarkan deskripsi parameter, ganti placeholder
${region_id},${aliyun_account_id}, dan${user_defined_id}dalam templat perintah. Lalu, jalankan perintah untuk menjalankan kontainer Logtail.# Jalankan kontainer Logtail. Ganti ${region_id}, ${aliyun_account_id}, dan ${user_defined_id}. docker run -d \ -v /:/logtail_host:ro \ -v /var/run/docker.sock:/var/run/docker.sock \ --env ALIYUN_LOGTAIL_CONFIG=/etc/ilogtail/conf/${region_id}/ilogtail_config.json \ --env ALIYUN_LOGTAIL_USER_ID=${aliyun_account_id} \ --env ALIYUN_LOGTAIL_USER_DEFINED_ID=${user_defined_id} \ registry.${region_id}.aliyuncs.com/log-service/logtail:v2.1.11.0-aliyunPentingAnda dapat menyesuaikan parameter startup untuk kontainer Logtail hanya jika kondisi berikut terpenuhi.
Saat startup, Anda harus mengonfigurasi variabel lingkungan
ALIYUN_LOGTAIL_CONFIG,ALIYUN_LOGTAIL_USER_ID, danALIYUN_LOGTAIL_USER_DEFINED_ID.Pasang direktori
/var/runpada host ke direktori/var/runpada kontainer Logtail.Pasang direktori root host ke direktori
/logtail_hostpada kontainer Logtail.Jika pesan error
The parameter is invalid : uuid=nonemuncul dalam log Logtail (/usr/local/ilogtail/ilogtail.LOG), buat berkasproduct_uuidpada host. Lalu, masukkan UUID yang valid, seperti169E98C9-ABC0-4A92-B1D2-AA6239C0D261, ke dalam berkas tersebut dan pasang berkas tersebut ke direktori/sys/class/dmi/id/product_uuidpada kontainer Logtail.
Jalankan perintah
docker psuntuk memeriksa apakah kontainer berhasil dijalankan.
Buat kelompok mesin dengan pengenal kustom
Login ke Konsol Simple Log Service. Di bagian Projects, klik proyek yang Anda inginkan.
Di panel navigasi sebelah kiri, pilih . Di daftar Machine Groups, pilih .

Di halaman Create Machine Group, masukkan Name. Pilih Custom Identifier sebagai pengenal kelompok mesin. Di kolom Custom Identifier, masukkan nilai parameter
${user_defined_id}dari Langkah 1, misalnyauser-defined-docker-1.
Parameter
Deskripsi
Machine Group Topic
Opsional. topik digunakan untuk mengidentifikasi log yang dihasilkan oleh server berbeda.
Periksa status kelompok mesin
Di daftar Machine Group, klik kelompok mesin yang dituju. Di halaman Machine Group Configuration, Anda dapat melihat konfigurasi kelompok mesin dan status server.

Jika status Heartbeat adalah OK, konfigurasi berhasil. Jika statusnya FAIL, tunggu selama 1 menit lalu klik Refresh. Jika status Heartbeat tetap FAIL, periksa hal-hal berikut:
Pastikan kontainer Logtail dan proyek berada di wilayah yang sama.
Pastikan grup keamanan host mengizinkan lalu lintas keluar dari Logtail. Port default adalah 80.
Untuk informasi selengkapnya tentang cara memecahkan masalah ini, lihat Pemecahan masalah error pengumpulan log kontainer.
Langkah 2: Buat konfigurasi Logtail
Di tab , klik penyimpanan log yang Anda inginkan.
Di bilah menu penyimpanan log, klik Logtail Configurations, lalu klik Add Logtail Configuration.

Di halaman Quick Data Import, klik Docker Stdout and Stderr - Old Version.

Karena Anda telah membuat kelompok mesin di Langkah 1, klik Use Existing Machine Groups.

Di langkah Machine Group Configurations, pilih kelompok mesin yang Anda buat di Langkah 1, klik > untuk menambahkan kelompok mesin ke kelompok mesin yang diterapkan, lalu klik Next.

Di langkah Logtail Configuration, masukkan Configuration Name, lalu klik Next.

Di langkah Query Analysis Configuration, klik Refresh untuk melihat pratinjau log yang dikumpulkan. Jika tidak ada log yang ditampilkan, pastikan kontainer terus-menerus menghasilkan log keluaran standar. Secara default, keluaran standar disimpan di /var/lib/docker/containers/<Container ID>/<Container ID>-json.log. Jika Anda masih tidak dapat melihat pratinjau log apa pun, untuk informasi selengkapnya, lihat Cara memecahkan masalah error pengumpulan log kontainer.

Langkah 3: Lihat hasilnya
Logtail hanya mengumpulkan log inkremental. Jika tidak ada log baru yang dihasilkan untuk keluaran standar setelah konfigurasi Logtail diterapkan, Logtail tidak akan mengumpulkan log sebelumnya. Untuk informasi selengkapnya, lihat Baca log.

Secara default, setiap log keluaran standar Docker yang dikumpulkan berisi bidang-bidang berikut:
Bidang | Deskripsi |
__source__ | Alamat IP kontainer Logtail. |
__tag__:__hostname__ | Nama host Docker tempat Logtail berada. |
__tag__:__receive_time__ | Waktu saat log tiba di server. |
_time_ | Waktu saat data diunggah. Contoh: |
_source_ | Jenis sumber input, stdout atau stderr. |
_image_name_ | Nama citra. |
_container_name_ | Nama kontainer. |
_container_ip_ | Alamat IP kontainer aplikasi. |
Referensi
Untuk informasi selengkapnya tentang cara melihat status Logtail yang sedang berjalan, lihat Lihat status Logtail.
Untuk informasi selengkapnya tentang cara menggunakan Docker, lihat Instal dan gunakan Docker serta Docker Compose.
Untuk mengumpulkan log teks dari kontainer Docker, lihat Kumpulkan log kontainer Docker (keluaran standar dan berkas).
Untuk mengumpulkan log teks dari host, lihat Kumpulkan log teks host. Secara default, direktori root host dipasang pada direktori
/logtail_hostkontainer Logtail.Setelah log diunggah ke penyimpanan log, Anda harus membuat indeks sebelum dapat melakukan kueri dan analisis log. Untuk informasi selengkapnya, lihat Buat indeks dan Mulai cepat untuk kueri dan analisis log.
Jika terjadi pengecualian saat Anda menggunakan Logtail untuk mengumpulkan log kontainer Docker, lihat Pemecahan masalah error pengumpulan log kontainer.
> Create Machine Group