全部产品
Search
文档中心

:Kumpulkan keluaran standar dari kontainer Docker (Lama)

更新时间:Nov 20, 2025

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

Langkah 1: Instal kontainer Logtail dan buat kelompok mesin

  1. 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.

    Penting
    • Untuk ${region_id} setiap wilayah, lihat Wilayah dan zona. Sebagai contoh, ${region_id} untuk Tiongkok (Hangzhou) adalah cn-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-aliyun
  2. Jalankan kontainer Logtail

    1. 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} adalah cn-hangzhou untuk akses jaringan internal Alibaba Cloud dan cn-hangzhou-internet untuk 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.

    2. 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-aliyun
      Penting

      Anda 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, dan ALIYUN_LOGTAIL_USER_DEFINED_ID.

      • Pasang direktori /var/run pada host ke direktori /var/run pada kontainer Logtail.

      • Pasang direktori root host ke direktori /logtail_host pada kontainer Logtail.

      • Jika pesan error The parameter is invalid : uuid=none muncul dalam log Logtail (/usr/local/ilogtail/ilogtail.LOG), buat berkas product_uuid pada host. Lalu, masukkan UUID yang valid, seperti 169E98C9-ABC0-4A92-B1D2-AA6239C0D261, ke dalam berkas tersebut dan pasang berkas tersebut ke direktori /sys/class/dmi/id/product_uuid pada kontainer Logtail.

    3. Jalankan perintah docker ps untuk memeriksa apakah kontainer berhasil dijalankan.image

  3. Buat kelompok mesin dengan pengenal kustom

    1. Login ke Konsol Simple Log Service. Di bagian Projects, klik proyek yang Anda inginkan.

    2. Di panel navigasi sebelah kiri, pilih Resources > Machine Groups. Di daftar Machine Groups, pilih 机器组 > Create Machine Group.image

    3. 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, misalnya user-defined-docker-1.image

      Parameter

      Deskripsi

      Machine Group Topic

      Opsional. topik digunakan untuk mengidentifikasi log yang dihasilkan oleh server berbeda.

  4. 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.image

    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:

    1. Pastikan kontainer Logtail dan proyek berada di wilayah yang sama.

    2. 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

  1. Di tab Log Storage > Logstores, klik penyimpanan log yang Anda inginkan.

  2. Di bilah menu penyimpanan log, klik Logtail Configurations, lalu klik Add Logtail Configuration.image

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

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

  5. 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.image

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

  7. 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.image

Langkah 3: Lihat hasilnya

Penting

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.

image

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: 2024-02-02T02:18:41.979147844Z.

_source_

Jenis sumber input, stdout atau stderr.

_image_name_

Nama citra.

_container_name_

Nama kontainer.

_container_ip_

Alamat IP kontainer aplikasi.

Referensi