Bir sunucuda Docker'ı dağıttıktan sonra günlükleri sorgulama ve analiz amacıyla toplayabilirsiniz. Docker günlükleri iki türe ayrılır: standart çıktı ve dosya günlükleri. Dosya günlükleri bir konteyner içinde oluşturulur ve sunucudaki belirtilen bir dosya dizinine yazılır. Standart çıktı, konteynerin gerçek zamanlı çıktı akışıdır. Bu konuda, bir konteynerden standart çıktının bir logstore'a Logtail kullanılarak nasıl toplanacağı açıklanmaktadır.
Genel Bakış
Bir ana bilgisayarda Docker'ı yükledikten sonra, Docker ortamında dağıtılan uygulama konteynerlerinden standart çıktı (stdout) ve standart hata (stderr) günlüklerini toplamak için Logtail'i kullanın. Toplanan günlük verileri, kolay sorgulama ve analiz için bir logstore'a gönderilir.
Ön Koşullar
Bir proje ve bir logstore oluşturulmuş olmalıdır. Daha fazla bilgi için bkz. Projeleri yönetme ve Logstore'ları yönetme.
-
Ana bilgisayar Docker ve Docker Compose'u yüklü ve kullanıyor olmalı ve sürekli olarak standart çıktı günlükleri üretebilmelidir.
NotLogtail yalnızca artımlı günlükleri toplar. Bir Logtail yapılandırması uygulandıktan sonra bir günlük dosyası güncellenmezse Logtail bu dosyadan günlük toplamaz. Daha fazla bilgi için bkz. Günlükleri okuma.
Adım 1: Bir Logtail konteyneri yükleyin ve bir makine grubu oluşturun
-
Logtail görüntüsünü çekin
Ana bilgisayara giriş yapın. Simple Log Service projenizin bölgesine göre ilgili
${region_id}değerini alın. Ardından, aşağıdaki komuttaki${region_id}yer tutucusunu değiştirin ve Logtail görüntüsünü çekmek için komutu çalıştırın.ÖnemliHer bölgenin
${region_id}değeri için bkz. Bölgeler ve alanlar. Örneğin, Çin (Hangzhou) için${region_id}değericn-hangzhouşeklindedir.
#Pull the Logtail image: docker pull registry.${region_id}.aliyuncs.com/log-service/logtail:v2.1.11.0-aliyun #If your server is in an Alibaba Cloud VPC, run the following command to pull the Logtail image: docker pull registry-vpc.${region_id}.aliyuncs.com/log-service/logtail:v2.1.11.0-aliyun -
Logtail konteynerini başlatın
-
Parametre açıklamaları
Parametre
Açıklama
${region_id}Simple Log Service Projenizin bulunduğu bölgeye karşılık gelen
${region_id}değerini alın. Her bölgenin${region_id}değeri için bkz. Kullanılabilir bölgeler. Ağ türü seçimi hakkında bilgi için bkz. Logtail ağ türleri, başlangıç parametreleri ve yapılandırma.Örneğin, bir Proje Çin (Hangzhou) bölgesinde bulunuyorsa, Alibaba Cloud dahili ağı erişimi için
${region_id}değericn-hangzhou, genel ağ erişimi için isecn-hangzhou-internetolur.
${aliyun_account_id}Simple Log Service hizmetinin ait olduğu Alibaba Cloud hesabının ID'si. ID'nin nasıl alınacağı hakkında daha fazla bilgi için bkz. Alibaba Cloud hesap ID'sini alma.
${user_defined_id}Makine grubu için özel tanımlayıcıyı belirtir; örneğin
user-defined-docker-1. Tanımlayıcının, Projenin bulunduğu bölgede benzersiz olması gerekir. -
Parametre açıklamalarına göre komut şablonundaki
${region_id},${aliyun_account_id}ve${user_defined_id}yer tutucularını değiştirin. Ardından, Logtail konteynerini başlatmak için komutu çalıştırın.# Start the Logtail container. Replace ${region_id}, ${aliyun_account_id}, and ${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ÖnemliLogtail konteyneri için başlangıç parametrelerini yalnızca aşağıdaki koşullar karşılandığında özelleştirin.
Başlangıçta
ALIYUN_LOGTAIL_CONFIG,ALIYUN_LOGTAIL_USER_IDveALIYUN_LOGTAIL_USER_DEFINED_IDortam değişkenlerini yapılandırmanız gerekir.Ana bilgisayardaki
/var/rundizinini Logtail konteynerinin/var/rundizinine bağlayın.Ana bilgisayarın kök dizinini Logtail konteynerindeki
/logtail_hostdizinine bağlayın.Logtail günlüğünde (
/usr/local/ilogtail/ilogtail.LOG)The parameter is invalid : uuid=nonehata iletisi görünürse ana bilgisayarda birproduct_uuiddosyası oluşturun. Ardından dosyaya169E98C9-ABC0-4A92-B1D2-AA6239C0D261gibi geçerli bir UUID girin ve dosyayı Logtail konteynerindeki/sys/class/dmi/id/product_uuiddizinine bağlayın.
Konteynerin başarıyla başlatılıp başlatılmadığını kontrol etmek için
docker pskomutunu çalıştırın.
-
-
Özel tanımlayıcı ile bir makine grubu oluşturun
Simple Log Service konsolu üzerinde oturum açın. Projects bölümünde istediğiniz projeye tıklayın.
Soldaki gezinme bölmesinde seçeneğini belirleyin. Machine Groups listesinde seçeneklerini belirleyin.

-
Makine Grubu Oluştur sayfasında bir Name girin. Makine grubu tanımlayıcısı olarak Custom Identifier öğesini seçin. Custom Identifier alanında 1. Adımdaki
${user_defined_id}parametresinin değerini girin; örneğinuser-defined-docker-1.
Parametre
Açıklama
Machine Group Topic
İsteğe bağlıdır. topic, farklı sunucular tarafından oluşturulan günlükleri tanımlamak için kullanılır.
-
Makine grubu durumunu kontrol edin
Makine grubu listesinde hedef makine grubuna tıklayın. Makine grubu yapılandırma sayfasında makine grubu yapılandırmasını ve sunucu durumunu görüntüleyin.

Heartbeat durumu OK ise yapılandırma başarılıdır. Durum FAIL ise 1 dakika bekleyin ve Refresh öğesine tıklayın. Heartbeat durumu hala FAIL ise aşağıdaki öğeleri kontrol edin:
Logtail konteyneri ve projenin aynı bölgede olup olmadığı.
Ana bilgisayarın güvenlik grubunun Logtail giden trafiğine izin verip vermediği. Varsayılan bağlantı noktası 80'dir.
Sorunu giderme hakkında daha fazla bilgi için bkz. Konteyner günlük toplama sorunlarını giderme.
Adım 2: Bir Logtail yapılandırması oluşturun
sekmesinde istediğiniz logstore'a tıklayın.
Logstore'ların menü çubuğunda Logtail Configurations öğesine ve ardından Add Logtail Configuration öğesine tıklayın.

Quick Data Import sayfasında Docker Stdout and Stderr - Old Version seçeneğine tıklayın.

Adımda bir makine grubu oluşturduğunuz için Use Existing Machine Groups seçeneğine tıklayın.

Machine Group Configurations adımında 1. Adımda oluşturduğunuz makine grubunu seçin, makine grubunu uygulanan makine gruplarına eklemek için > simgesine tıklayın ve ardından Next öğesine tıklayın.

Logtail Configuration adımında bir Configuration Name girin ve Next öğesine tıklayın.

Query and Analysis Configurations adımında toplanan günlükleri önizlemek için Refresh öğesine tıklayın. Günlük görüntülenmiyorsa konteynerin sürekli olarak standart çıktı günlükleri ürettiğinden emin olun. Varsayılan olarak standart çıktı /var/lib/docker/containers/<Container ID>/<Container ID>-json.log konumunda depolanır. Yine de günlük önizleyemiyorsanız daha fazla bilgi için bkz. Konteyner günlük toplama hatalarını nasıl gidereceğiniz.

Adım 3: Sonuçları görüntüleyin
Logtail yalnızca artımlı günlükleri toplar. Logtail yapılandırması uygulandıktan sonra standart çıktı için yeni günlük oluşturulmazsa Logtail önceki günlükleri toplamaz. Daha fazla bilgi için bkz. Günlükleri okuma.

Varsayılan olarak toplanan her Docker standart çıktı günlüğü aşağıdaki alanları içerir:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
İlgili Başlıklar
Logtail çalışma durumunu görüntüleme hakkında daha fazla bilgi için bkz. Logtail durumunu görüntüleme.
Docker kullanımı hakkında daha fazla bilgi için bkz. Docker ve Docker Compose'u yükleme ve kullanma.
Docker konteynerlerinden metin günlükleri toplamak için bkz. Docker konteyner günlüklerini toplama (standart çıktı ve dosyalar).
Ana bilgisayardan metin günlükleri toplamak için bkz. Ana bilgisayar metin günlüklerini toplama. Varsayılan olarak ana bilgisayarın kök dizini Logtail konteynerinin
/logtail_hostdizinine bağlanır.Günlükler bir logstore'a yüklendikten sonra günlükleri sorgulamadan ve analiz etmeden önce dizinler oluşturmanız gerekir. Daha fazla bilgi için bkz. Dizin oluşturma ve Günlük sorgulama ve analizi için hızlı başlangıç.
Logtail'i kullanarak Docker konteyner günlüklerini toplarken bir özel durum oluşursa bkz. Konteyner günlük toplama sorunlarını giderme.
> Create Machine Group