Tüm Ürünler
Search
Belge Merkezi

Simple Log Service:Docker konteyner günlükleri (standart çıktı/dosyalar)

Son Güncelleme:Sep 30, 2026

LoongCollector, Docker konteynerlerinin standart çıktılarını (stdout ve stderr) ve metin tabanlı günlük dosyalarını toplar. Bu verileri Simple Log Service üzerindeki tek bir LogStore'da birleştirir. Merkezi toplama işlemi, her bir düğümdeki konteyner günlüklerini tek tek aramanıza gerek kalmamasını sağlar. Ayrıca yapısal ayrıştırma, veri maskeleme, filtreleme ile verimli sorgulama ve analiz olanakları sunar.

Gereksinimler

LoongCollector'ı dağıtmadan önce aşağıdaki gereksinimleri ve sınırlamaları kontrol edin:

  • İzin gereksinimleri — Dağıtım için kullandığınız Alibaba Cloud hesabı veya RAM kullanıcısının AliyunLogFullAccess iznine sahip olması gerekir.

  • Docker ve LoongCollector gereksinimleri:

    • Docker Engine sürümünüz v29.0 veya üzeri ise ya da desteklenen minimum Docker API sürümü 1.42 veya üzeri ise LoongCollector 3.2.4 veya sonraki bir sürümü kullanın. Aksi takdirde LoongCollector, konteynerlerin standart çıktısını veya dosya günlüklerini toplayamaz.

    • LoongCollector 3.2.4 ve sonraki sürümler, Docker API sürümleri 1.24 ile 1.48 arasını destekler.

    • LoongCollector 3.2.3 ve önceki sürümler, Docker API sürümleri 1.18 ile 1.41 arasını destekler.

  • Standart çıktı toplamaya ilişkin sınırlamalar:

    • Docker yapılandırma dosyası daemon.json içine "log-driver": "json-file" satırını eklemelisiniz.

    • CentOS 8.0 hariç, CentOS 7.4 veya sonraki sürümlerde fs.may_detach_mounts=1 değerini ayarlamanız gerekir.

  • Metin günlüklerini toplamaya ilişkin sınırlamalar — Yalnızca overlay ve overlay2 depolama sürücüleri desteklenir. Diğer depolama sürücülerini kullanıyorsanız günlük dizinini manuel olarak bağlamanız gerekir.

    1. Adımdaki dağıtım komutlarını çalıştırmadan önce aşağıdaki kararları verin. Çünkü her bir karar, docker pull ve docker run komutlarına yansıtılır:

  • Görüntü ve bölge — Çekeceğiniz görüntü ve bu görüntüyü çekeceğiniz bölge ID'si.

  • Günlük yükleme kanalı — ${sls_upload_channel} değişkeninin kodladığı ağ iletim türü. Dahili ağ, İnternet ve aktarma hızlandırma seçeneklerinin karşılaştırması için bu konunun Ek: Ağ iletim türleri bölümüne bakın.

  • Makine grubu tanımlayıcısı — ${user_defined_id} değişkeniyle ilettiğiniz özel tanımlayıcı. Tanımlayıcı bölge içinde benzersiz olmalı ve makine grubu aynı değeri kullanmalıdır.

Toplama yapılandırma iş akışı

Aşağıdaki liste, toplama iş akışını bu konudaki bölümlerle eşleştirir:

  • Hazırlıklar: Bir proje ve LogStore oluşturun. Proje, farklı uygulamalardaki günlükleri birbirinden ayıran bir kaynak yönetimi birimidir; LogStore ise günlükleri saklar.

  • 1. Adım: Makine grubu yapılandırma (LoongCollector'ı yükleme): Günlük toplamak istediğiniz sunuculara LoongCollector'ı yükleyin ve bunları bir makine grubuna ekleyin. Makine grubu kullanarak toplama düğümlerini merkezi olarak yönetebilir, yapılandırmaları dağıtabilir ve sunucularınızın durumunu izleyebilirsiniz.

  • 2. Adım: Günlük toplama kuralı oluşturma ve yapılandırma

    1. Genel ve giriş yapılandırması: Toplama yapılandırmasının adını, günlük kaynağını ve toplama kapsamını tanımlayın.

    2. Günlük işleme ve yapılandırma: Günlük biçimine göre işleme kuralları yapılandırın.

      • Çok satırlı günlükler: Tek bir günlük girdisinin birden fazla satıra yayıldığı durumlar (örneğin Java istisna yığını veya Python geri izleme) için geçerlidir. Her girdinin başlangıç satırını belirlemek üzere ilk satır düzenli ifadesini kullanın.

      • Yapısal ayrıştırma: Ham metinlerden anahtar-değer çiftlerini çıkararak daha kolay sorgulama ve analiz sağlamak amacıyla düzenli ifade, ayırıcı veya NGINX modu gibi bir ayrıştırma eklentisi yapılandırın.

    3. Günlük filtreleme (Data Filtering): Yalnızca yararlı günlük içeriğini tutmak ve gereksiz veri iletimi ile depolamayı azaltmak için bir toplama kara listesi ve içerik filtreleme kuralları yapılandırın.

    4. Günlük kategorize etme: Farklı uygulamalardan, konteynerlerden veya kaynak yollarından gelen günlükleri esnek şekilde ayırt etmek için konu ve günlük etiketleme yapılandırın.

    5. Çıkış yapılandırması: Toplanan günlükleri mevcut LogStore'da tutun veya birden çok LogStore'a dağıtın.

  • 3. Adım: Sorgulama ve analizi yapılandırma (Query and Analysis Configurations): Tam metin dizini varsayılan olarak etkindir ve anahtar kelime aramalarını destekler. Yapısal alanlarda hassas sorgular ve analizler çalıştırabilmek, ayrıca arama verimliliğini artırmak için alan dizinini de etkinleştirmenizi öneririz.

  • 4. Adım: Doğrulama ve sorun giderme: Yapılandırmayı tamamladıktan sonra günlüklerin toplandığını doğrulayın. Toplanan veri olmaması, heartbeat hataları veya ayrıştırma hataları gibi sorunlarla karşılaşırsanız SSS bölümüne bakın.

Hazırlıklar

Günlükleri toplamaya başlamadan önce günlüklerinizi yönetecek ve saklayacak projeyi ve LogStore'u planlayıp oluşturun. Bu kaynaklar zaten varsa bu bölümü atlayıp doğrudan 1. Adım: Makine grubu yapılandırma (LoongCollector'ı yükleme) bölümüne geçin.

Proje oluşturma

  1. Simple Log Service konsolu üzerinde oturum açın.

  2. Create Project seçeneğine tıklayın ve aşağıdaki parametreleri yapılandırın:

    • Region: Günlük kaynaklarınızın konumuna göre bir bölge seçin. Oluşturduktan sonra bu ayarı değiştiremezsiniz.

    • Project Name: Ad, Alibaba Cloud genelinde benzersiz olmalıdır. Oluşturduktan sonra adı değiştiremezsiniz.

  3. Diğer ayarları varsayılan değerlerinde bırakın ve Create seçeneğine tıklayın. Diğer parametreler hakkında daha fazla bilgi için Proje oluşturma konusuna bakın.

LogStore oluşturma

  1. Hedef projeye gitmek için proje adına tıklayın.

  2. Sol gezinme bölmesinde imageLogstores seçeneğini belirleyin ve + simgesine tıklayın.

  3. Create LogStore sayfasında aşağıdaki temel ayarları tamamlayın:

    • Logstore Name: Proje içinde benzersiz bir ad girin. Oluşturduktan sonra adı değiştiremezsiniz.

    • Logstore Type: Teknik özellikler karşılaştırmasına göre Standard veya Query seçeneğini belirleyin.

    • Billing Mode:

      • Pay-by-feature (Cannot Be Changed): Depolama, dizin oluşturma ve okuma/yazma işlemleri gibi her bir kaynak için ayrı faturalandırılırsınız. Bu mod, küçük ölçekli senaryolar veya özellik kullanımının henüz net olmadığı durumlar için uygundur.

      • Pay-by-ingested-data : Yalnızca alınan ham veriler için faturalandırılırsınız. Bu mod, 30 günlük ücretsiz depolama ve veri dönüştürme ile veri sevkiyatı gibi ücretsiz özellikler sunar. Bekletme süresi yaklaşık 30 gün olan veya karmaşık veri işleme işlem hatlarına sahip iş senaryoları için uygundur.

    • Data Retention Period: Günlüklerin saklanacağı gün sayısını belirtin. Geçerli değerler: 1 ila 3.650. 3.650 değeri kalıcı saklamayı ifade eder. Varsayılan değer: 30.

  4. Diğer ayarları varsayılan değerlerinde bırakın ve OK seçeneğine tıklayın. Diğer ayarlar hakkında daha fazla bilgi için LogStore yönetme konusuna bakın.

1. Adım: Makine grubu yapılandırma (LoongCollector'ı yükleme)

LoongCollector'ı Docker ana makinesinde bir konteyner olarak dağıtın ve bir makine grubuna ekleyin. Makine grubu sayesinde birden çok toplama düğümünü merkezi olarak yönetebilir, yapılandırmaları dağıtabilir ve durumu izleyebilirsiniz.

1. Görüntüyü çekme

Docker yüklü bir ana makinede LoongCollector görüntüsünü çekmek için aşağıdaki komutu çalıştırın. İndirme hızını ve kararlılığını artırmak için ${region_id} yerine ana makinenin bulunduğu bölgenin veya yakın bir bölgenin bölge ID'sini (örneğin cn-hangzhou) yazın.

# LoongCollector image address
docker pull aliyun-observability-release-registry.${region_id}.cr.aliyuncs.com/loongcollector/loongcollector:v3.0.12.0-25723a1-aliyun
# Logtail image address
docker pull registry.${region_id}.aliyuncs.com/log-service/logtail:v2.1.11.0-aliyun

2. LoongCollector konteynerini başlatın

Konteyneri başlatmak için aşağıdaki komutu çalıştırın. Gerekli dizinleri bağladığınızdan ve gerekli ortam değişkenlerini ayarladığınızdan emin olun:

docker run -d \
    -v /:/logtail_host:ro \
    -v /var/run/docker.sock:/var/run/docker.sock \
    --env ALIYUN_LOGTAIL_CONFIG=/etc/ilogtail/conf/${sls_upload_channel}/ilogtail_config.json \
    --env ALIYUN_LOGTAIL_USER_ID=${aliyun_account_id} \
    --env ALIYUN_LOGTAIL_USER_DEFINED_ID=${user_defined_id} \
    aliyun-observability-release-registry.${region_id}.cr.aliyuncs.com/loongcollector/loongcollector:v3.0.12.0-25723a1-aliyun
Not

Konteyner yeniden başlatma ilkesi: LoongCollector konteynerini başlatırken, Docker'ın beklenmeyen bir çıkış veya Docker daemon yeniden başlatma işleminden sonra konteyneri otomatik olarak yeniden başlatması için --restart=unless-stopped veya --restart=always belirtmenizi öneririz. Aksi takdirde, konteyner harici bir işlem tarafından zorla sonlandırılırsa veya anormal şekilde çıkış yaparsa otomatik olarak kurtarılmaz. Konteyner kendi kendini iyileştirme yeteneğini kaybeder ve günlük toplama işlemi sessizce durur.

Parametreler:

  • ${aliyun_account_id}: Alibaba Cloud hesabınızın ID değeri.

  • ${user_defined_id}: Makine grubunun özel tanımlayıcısı; bu tanımlayıcı konteyneri makine grubuna bağlar (örneğin user-defined-docker-1). Tanımlayıcı bölge içinde benzersiz olmalıdır.

  • ${sls_upload_channel}: Günlük yükleme kanalı. Değer, projeyi barındıran bölge ve aşağıdaki tabloda açıklandığı gibi ağ iletim türünden oluşur.


İletim türü


Değer biçimi


Örnek


Scenario


Dahili ağ


regionId


cn-hangzhou


ECS örneği ve proje aynı bölgede bulunur.


İnternet


regionId-internet


cn-hangzhou-internet


ECS örneği ve proje farklı bölgelerde bulunur veya sunucu başka bir cloud sağlayıcıya ya da kendi yönettiğiniz veri merkezine aittir.


Hızlandırılmış aktarım


regionId-acceleration


cn-hangzhou-acceleration


Çin anakarası ile diğer ülkeler veya bölgeler arasındaki çapraz bölge iletişimi.

Her iletim türünün arkasındaki ağ özellikleri için bu konunun Ek: Ağ iletim türleri bölümüne bakın.

Gerekli başlatma koşulları:

  • Üç temel ortam değişkenini doğru şekilde yapılandırın: ALIYUN_LOGTAIL_CONFIG, ALIYUN_LOGTAIL_USER_ID ve ALIYUN_LOGTAIL_USER_DEFINED_ID.

  • Konteyner yaşam döngüsü olaylarını dinlemek için /var/run/docker.sock dizinini bağlayın.

  • Ana bilgisayarın dosya sistemine erişmek için / dizinini /logtail_host dizinine bağlayın.

3. Konteyner durumunu doğrulayın

Aşağıdaki komutu çalıştırın:

docker ps | grep loongcollector

Aşağıdaki çıktı döndürülür:

6ad510001753   aliyun-observability-release-registry.cn-beijing.cr.aliyuncs.com/loongcollector/loongcollector:v3.0.12.0-25723a1-aliyun   "/usr/local/ilogtail…"   About a minute ago   Up About a minute             recursing_shirley

4. Makine grubunu yapılandırın

Sol gezinme bölmesinde Resource Group > Machine Groups seçeneğine gidin. Machine group > Create Machine Group öğesine tıklayın, aşağıdaki parametreleri yapılandırın ve ardından OK düğmesine tıklayın:

  • Name: Makine grubu için özel bir ad girin (örneğin docker-host-group).

  • Machine Group Identifier: seçeneği için Custom Identifier değerini seçin.

  • Custom Identifier alanına, konteyneri başlatırken ayarladığınız ${user_defined_id} değerini girin. Değerler aynı olmalıdır. Aksi takdirde ilişkilendirme başarısız olur.

5. Makine grubunun heartbeat durumunu doğrulayın

Yeni makine grubunun adına tıklayarak ayrıntılar sayfasına gidin ve Machine Group Status değerini kontrol edin:

Adım 2: Günlük toplama kuralı oluşturun ve yapılandırın

LoongCollector'ın hangi günlükleri toplayacağını, günlük yapısını nasıl ayrıştıracağını ve içeriği nasıl filtreleyeceğini tanımlayın; ardından yapılandırmayı kayıtlı bir makine grubuna bağlayın.

  1. imageLogStores sayfasında, hedef LogStore adının yanındaki image simgesine tıklayarak bunu genişletin.

  2. Click the image icon next to Import Data. In the Quick Data Import dialog box, select a template based on your log source and click Integrate Now:

    • Docker standart çıkışı: Docker Stdout and Stderr - New Version seçeneğini belirleyin.

      Konteyner standart çıkış toplama işlemi yeni ve eski bir şablonu destekler. Yeni şablonu kullanmanızı öneririz. İki sürüm arasındaki farklar için bkz. Ek: Yeni ve eski konteyner standart çıkış sürümlerinin karşılaştırılması. Eski şablonu kullanmak için bkz. Docker konteynerlerinden standart çıkış toplama (eski sürüm).

      İki şablon varsayılan toplama davranışı açısından da farklılık gösterir: Yeni şablonda bir konteynerin standart çıkışı varsayılan olarak yalnızca bir toplama yapılandırması tarafından toplanabilir; eski şablon ise birden fazla yapılandırma tarafından toplamayı destekler ve ek yapılandırma gerektirmez. Bu kısıtlamayı kaldırma talimatları için bu konunun SSS bölümüne bakın.

    • Docker dosya günlükleri: Docker File - Container seçeneğini belirleyin. 3. Machine Group Configurations öğelerini yapılandırın ve ardından Next seçeneğine tıklayın:

    • Scenario: Docker Containers seçeneğini belirleyin.

    • Adım 1 adımında oluşturduğunuz makine grubunu, sağ taraftaki Source Machine Group listesinden Applied Machine Group listesine taşıyın. 4. Logtail Configuration sayfasında aşağıdaki bölümlerde açıklanan ayarları tamamlayın ve Next seçeneğine tıklayın.

1. Global ve giriş yapılandırması

Başlamadan önce bir veri içe aktarma şablonu seçtiğinizden ve bir makine grubu bağladığınızdan emin olun. Bu adım, toplama yapılandırmasının adını, günlük kaynağını ve toplama kapsamını tanımlar.

Docker standart çıkışını topla

Global Configurations

  • Configuration Name: Toplama yapılandırması için özel bir ad girin. Ad, proje içinde benzersiz olmalı ve oluşturulduktan sonra değiştirilememelidir. Adlandırma kuralları:

    • Ad yalnızca küçük harfler, rakamlar, tire (-) ve alt çizgi (_) içerebilir.

    • Ad küçük harf veya rakamla başlamalı ve bitmelidir.

Giriş yapılandırması

  • Stdout and Stderr anahtarını veya Standard Error anahtarını açın. İkisi de varsayılan olarak açıktır. Toplanan günlüklerin sıralı kalmasını sağlamak için standart çıkış ve standart hatayı aynı anda toplamayın.

Docker konteynerlerinden metin günlüklerini topla

Global Configurations:

  • Configuration Name: Toplama yapılandırması için özel bir ad girin. Ad, proje içinde benzersiz olmalı ve oluşturulduktan sonra değiştirilememelidir. Adlandırma kuralları:

    • Ad yalnızca küçük harfler, rakamlar, tire (-) ve alt çizgi (_) içerebilir.

    • Ad küçük harf veya rakamla başlamalı ve bitmelidir.

    Input Configurations:

  • File Path Type:

    • Path in Container: Konteyner içindeki günlük dosyalarını toplayın.

    • Host Path: Ana makinedeki yerel hizmet günlüklerini toplayın.

  • File Path: Günlük toplama için mutlak yol.

    • Linux: Yol eğik çizgi (/) ile başlar; örneğin /data/mylogs/**/*.log, /data/mylogs dizinindeki .log uzantılı tüm dosyaları ifade eder.

    • Windows: Yol bir sürücü harfiyle başlar; örneğin C:\Program Files\Intel\**\*.Log.

  • Maximum Directory Monitoring Depth: File Path içindeki ** joker karakteriyle eşleşen maksimum dizin derinliği. Varsayılan değer: 0 (yalnızca geçerli dizini ifade eder). Geçerli değerler: 0 ila 1000. Bu parametreyi 0 olarak ayarlamanızı ve yolu dosyaları içeren dizine kadar yapılandırmanızı öneririz.

2. Günlük işleme ve yapılandırma

Ham yapılandırılmamış günlükleri yapılandırılmış verilere dönüştürmek ve günlük sorgulama ile analiz verimliliğini artırmak için günlük işleme kurallarını yapılandırın. Önce bir günlük örneği eklemenizi öneririz:

Logtail Configuration sayfasında, Processor Configurations bölümünde Add Sample Log seçeneğine tıklayın ve toplamak istediğiniz günlük içeriğini girin. Simple Log Service, örnekten günlük biçimini tanımlar ve düzenli ifadeler ile ayrıştırma kuralları oluşturmanıza yardımcı olur; bu da yapılandırmayı basitleştirir.

Senaryo 1: Java yığın günlükleri gibi çok satırlı günlükleri işleme

Java özel durum yığınları ve JSON gibi günlükler genellikle birden çok satıra yayılır. Varsayılan toplama modunda bunlar birkaç eksik girdiye bölünür ve bağlam kaybolur. Bunu önlemek için çok satırlı modu açın ve aynı günlüğün ardışık satırlarını tek bir eksiksiz girdide birleştirmek için ilk satır düzenli ifadesini yapılandırın.

Örnek:


Ham günlük


Varsayılan toplama modu: Her satır ayrı bir günlük olarak ele alınır, yığın bölünür ve bağlam kaybolur


Çok satırlı mod: İlk satır düzenli ifadesi eksiksiz günlüğü tanımlar ve tam anlamsal yapıyı korur


```log


[2025-11-13T10:52:20,557] [ERROR] java.sql.SQLException: No suitable driver found for jdbc:mysql://db.host:3306/prod_db


at com.datastore.util.DataProcessor.save(DataProcessor.java:434)


at io.awesomeapp.util.PaymentGateway.fetchData(PaymentGateway.java:463)


at org.awesomeapp.util.UserService.processRequest(UserService.java:252)


at io.datastore.service.DatabaseConnector.fetchData(DatabaseConnector.java:172)


at org.datastore.service.UserService.fetchData(UserService.java:517)


```

image

image

Yordam: Logtail Configuration sayfasında, Processor Configurations bölümünde Multi-line Mode seçeneğini açın:

  • Type: Custom veya Multi-line JSON seçeneğini belirleyin.

    • Custom: Ham günlüklerin biçimi sabit değildir. Her günlüğün başlangıç satırını tanımlamak için Regex to Match First Line öğesini yapılandırın.

      • Regex to Match First Line: İfadeyi otomatik olarak oluşturabilir veya manuel olarak girebilirsiniz. Düzenli ifade eksiksiz bir satırla eşleşmelidir. Yukarıdaki örnekte ifade şu şekildedir: \[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.*.

        • Otomatik oluşturma: Automatically Generate Regular Expression seçeneğine tıklayın, Log Sample metin kutusunda ayıklamak istediğiniz günlük içeriğini seçin ve ardından Generate Regular Expression seçeneğine tıklayın.

        • Manuel giriş: Manually Enter Regular Expression seçeneğine tıklayın. İfadeyi girdikten sonra Validate seçeneğine tıklayın.

    • Multi-line JSON: Tüm ham günlükler standart JSON biçimindeyse Simple Log Service, tek bir JSON günlüğündeki satır sonlarını otomatik olarak işler.

  • Processing Method If Splitting Fails:

    • Discard: Bir metin parçası ilk satır kuralıyla eşleşmezse parça atılır.

    • Retain Single Line: Eşleşmeyen metin bölünür ve orijinal tek satır modunda korunur.

Senaryo 2: Günlükleri yapılandırma

Ham günlükler NGINX erişim günlükleri veya uygulama çıktı günlükleri gibi yapılandırılmamış veya yarı yapılandırılmış metinler olduğunda bunları doğrudan sorgulamak ve analiz etmek verimsizdir. Simple Log Service, farklı biçimlerdeki ham günlükleri otomatik olarak yapılandırılmış verilere dönüştüren birden çok veri ayrıştırma eklentisi sağlar; bu da sonraki analiz, izleme ve uyarı süreçleri için sağlam bir veri temeli oluşturur.

Örnek:


Ham günlük


Yapılandırılmış ayrıştırma sonrası günlük


```plaintext


192.168.. - - [15/Apr/2025:16:40:00 +0800] "GET /nginx-logo.png HTTP/1.1" 0.000 514 200 368 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.. Safari/537.36"


| plaintext


body_bytes_sent: 368


http_referer: -


http_user_agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.x.x Safari/537.36


remote_addr:192.168..


remote_user: -


request_length: 514


request_method: GET


request_time: 0.000


request_uri: /nginx-logo.png


status: 200


time_local: 15/Apr/2025:16:40:00


```

Yordam: Logtail Configuration sayfasında, Processor Configurations bölümünde:

  • Ayrıştırma eklentisi ekleme: Add Processor seçeneğine tıklayın ve gerçek biçime göre düzenli ifade ayrıştırma, sınırlayıcı ayrıştırma veya JSON ayrıştırma gibi bir eklenti yapılandırın. Her eklentinin parametreleri için bu konunun Ek: Yerel ayrıştırma eklentileri bölümüne bakın. Aşağıdaki örnekte NGINX günlükleri toplanır; bu nedenle Native Processor > Data Parsing (NGINX Mode) seçeneğini belirleyin.

    • NGINX Log Configuration: NGINX sunucu yapılandırma dosyasından (nginx.conf) tam log_format tanımını kopyalayın ve bu metin kutusuna yapıştırın. Örnek:

      log_format main  '$remote_addr - $remote_user [$time_local] "$request" ''$request_time $request_length ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent"';

      Sunucuda günlükleri üreten biçimle tamamen aynı olmalıdır. Aksi takdirde günlük ayrıştırma başarısız olur.

  • Genel yapılandırma parametreleri: Aşağıdaki parametreler birden çok veri ayrıştırma eklentisinde görünür ve aynı işlev ile kullanıma sahiptir.

    • Kaynak alan: Ayrıştırılacak kaynak alanının adı. Varsayılan değer: content (toplanan günlük içeriğinin tamamı).

    • Ayrıştırma başarısız olduğunda kaynak alanı koru: Bu seçeneği açmanızı öneririz. Bir eklenti biçim uyumsuzluğu gibi nedenlerle bir günlüğü ayrıştıramazsa bu seçenek, eksiksiz ham günlük içeriğini belirtilen kaynak alanda tutar ve düşürmez.

    • Ayrıştırma başarılı olduğunda kaynak alanı koru: Bu seçeneği belirlerseniz günlük başarıyla ayrıştırıldığında bile ham günlük içeriği korunur.

3. Günlük filtreleme

DEBUG veya INFO gibi düşük değerli ya da ilgisiz büyük miktarda günlük toplamak, depolama kaynaklarını israf eder, maliyetleri artırır, sorgu verimliliğini düşürür ve veri sızıntısı riski oluşturur. Verimli ve güvenli günlük toplama için ince ayarlı filtreleme ilkelerini kullanın.

Filtreleme, konsolda iki yerde yapılandırılır: İçerik filtreleme, Processor Configurations bölümündeki bir işleme eklentisidir; toplama kara listesi ve konteyner filtreleme ise Input Configurations bölümündeki anahtarlardır.

İçerik filtreleme ile maliyetleri azaltma

Günlük içerik alanına göre filtreleme yapın; örneğin, yalnızca düzeyi WARNING veya ERROR olan günlükleri toplayın.

Örnek:


Ham günlük


Yalnızca WARNING veya ERROR günlüklerini topla


```shell


{"level":"WARNING","timestamp":"2025-09-23T19:11:40+0800","cluster":"yilu-cluster-0728","message":"Disk space is running low","freeSpace":"15%"}


{"level":"ERROR","timestamp":"2025-09-23T19:11:42+0800","cluster":"yilu-cluster-0728","message":"Failed to connect to database","errorCode":5003}


{"level":"INFO","timestamp":"2025-09-23T19:11:47+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}


| shell


{"level":"WARNING","timestamp":"2025-09-23T19:11:40+0800","cluster":"yilu-cluster-0728","message":"Disk space is running low","freeSpace":"15%"}


{"level":"ERROR","timestamp":"2025-09-23T19:11:42+0800","cluster":"yilu-cluster-0728","message":"Failed to connect to database","errorCode":5003}


```

Yöntem: Logtail Configuration sayfasında, Processor Configurations bölümünde Add Processor öğesine tıklayın ve Native Processor > Data Filtering seçeneğini belirleyin:

  • Field Name: Filtrelenecek günlük alanı.

  • Field Value: Filtreleme için kullanılan düzenli ifade. Yalnızca tam metin eşleşmesi desteklenir. Kısmi anahtar kelime eşleşmesi desteklenmez.

Kara liste ile toplama kapsamını kontrol etme

Belirtilen dizinleri veya dosyaları hariç tutmak ve ilgisiz ya da hassas günlüklerin yüklenmesini önlemek için kara liste kullanın.

Yöntem: Logtail Configuration sayfasında, Input Configurations > Other Input Configurations bölümünde Collection Blacklist anahtarını açın ve Add öğesine tıklayın.

Dizin ve dosya adları tam eşleşmeyi ve joker karakter eşleşmesini destekler. Desteklenen tek joker karakterler yıldız işareti (*) ve soru işaretidir (?).

  • File Path Blacklist: Yok sayılacak dosya yolları. Örnekler:

    • /home/admin/private*.log: Toplama sırasında /home/admin/ dizinindeki private ile başlayan ve .log ile biten tüm dosyaları yok sayar.

    • /home/admin/private*/*_inner.log: Toplama sırasında /home/admin/ dizini altındaki private ile başlayan dizinlerde _inner.log ile biten dosyaları yok sayar.

  • File Blacklist: Toplama sırasında yok sayılacak dosya adları. Örnek:

    • app_inner.log: Toplama sırasında app_inner.log adlı tüm dosyaları yok sayar.

  • Directory Blacklist: Dizin yolu eğik çizgi (/) ile bitemez. Örnekler:

    • /home/admin/dir1/: Dizin kara listesi etkili olmaz.

    • /home/admin/dir*: Toplama sırasında /home/admin/ dizini altındaki dir ile başlayan tüm alt dizinlerdeki dosyaları yok sayar.

    • /home/admin/*/dir: Toplama sırasında /home/admin/ dizini altındaki dir adlı ikinci düzey alt dizinlerdeki tüm dosyaları yok sayar. Örneğin, /home/admin/a/dir dizinindeki dosyalar yok sayılırken /home/admin/a/b/dir dizinindeki dosyalar toplanır.

Konteyner filtreleme

Hangi konteyner günlüklerinin toplanacağını hassas bir şekilde kontrol etmek için ortam değişkenleri, Pod etiketleri, ad alanları ve konteyner adları gibi konteyner meta verilerine dayalı toplama koşulları ayarlayın.

Yöntem: Logtail Configuration sayfasında, Input Configurations bölümünde Container Filtering anahtarını açın ve Add öğesine tıklayın.

Birden çok koşul mantıksal VE ile birleştirilir. Tüm düzenli ifade eşleşmeleri Go RE2 motoruna dayanır ve bu motor PCRE gibi diğer motorlara göre daha sınırlıdır. Düzenli ifadelerinizi Ek: Düzenli ifade sınırlamaları (konteyner filtreleme) kılavuzuna göre yazın.

Aşağıdaki koşullar docker konteynerlerine uygulanır:

  • Ortam değişkeni kara listesi/izin listesi: Günlüklerin toplanacağı konteynerlerin ortam değişkeni koşullarını belirtir.

  • Konteyner etiketi kara listesi/izin listesi: Etiketleri koşulları karşılayan konteynerlerden günlük toplar. Bu parametreyi docker senaryolarında kullanın. Kubernetes senaryolarında önerilmez.

    Aşağıdaki koşullar Kubernetes tarafından yönetilen konteynerlere uygulanır:

  • Kubernetes Pod etiketi kara listesi/izin listesi: Günlüklerin toplanacağı konteynerleri barındıran Pod'ların etiket koşullarını belirtir.

  • Kubernetes Pod adı düzenli ifade eşleşmesi: Günlüklerin toplanacağı konteynerleri Pod adına göre belirtir.

  • Kubernetes ad alanı düzenli ifade eşleşmesi: Günlüklerin toplanacağı konteynerleri ad alanı adına göre belirtir.

  • Kubernetes konteyner adı düzenli ifade eşleşmesi: Günlüklerin toplanacağı konteynerleri konteyner adına göre belirtir.

4. Günlük sınıflandırması

Birden fazla uygulama veya örnek aynı günlük biçimini paylaştığında, günlük kaynaklarını ayırt etmek zorlaşır. Bu durum, sorguların bağlamdan yoksun kalmasına ve analiz verimliliğinin düşmesine neden olur. Bu sorunu çözmek için, otomatik bağlam ilişkilendirmesi ve mantıksal sınıflandırma amacıyla konuları ve günlük etiketlemeyi yapılandırın.

Konu yapılandırma

Farklı yollarda bulunan ancak aynı biçimde günlük üreten birden fazla uygulama veya örneğiniz varsa (örneğin /apps/app-A/run.log ve /apps/app-B/run.log), toplanan günlüklerin kaynağını izlemek zor olabilir. Bu durumda, farklı uygulamalardan veya kaynak yollarından gelen günlükleri esnek bir şekilde ayırt etmek için makine grubuna, özel bir ada veya dosya yolu çıkarımına dayalı olarak bir konu oluşturun.

Yöntem:Global Configurations > Other Global Configurations > Log Topic Type: Konunun nasıl oluşturulacağını seçin. Aşağıdaki üç tür desteklenir:

  • makine grubu konusu: Bir toplama yapılandırması birden fazla makine grubuna uygulandığında, LoongCollector sunucunun ait olduğu makine grubunun adını otomatik olarak __topic__ alanı olarak yükler. Bu tür, günlüklerin ana bilgisayar kümesine göre bölündüğü senaryolar için uygundur.

  • Custom: Biçim customized://<custom_topic_name> şeklindedir; örneğin customized://app-login. Bu tür, sabit bir uygulama tanımlayıcısına sahip statik konu senaryoları için uygundur.

  • Dosya yolu çıkarımı: Günlük dosyasının tam yolundan temel bilgileri çıkararak günlük kaynağını dinamik olarak işaretler. Bu tür, farklı yollarda aynı günlük dosya adını paylaşan birden fazla kullanıcı veya uygulamanın bulunduğu senaryolar için uygundur.

    Birden fazla kullanıcı veya hizmet farklı üst düzey dizinlere günlük yazarken alt düzey yollar ve dosya adları aynıysa, yalnızca dosya adı kaynağı ayırt etmek için yeterli değildir. Örneğin:

/data/logs
├── userA
│   └── serviceA
│       └── service.log
├── userB
│   └── serviceA
│       └── service.log
└── userC
    └── serviceA
        └── service.log

Bu durumda, File Path Extraction özelliğini yapılandırın ve tam yoldan temel bilgileri çıkarmak için bir düzenli ifade kullanın. Eşleşen sonuç, konu olarak LogStore'a yüklenir.

Çıkarma kuralları: Düzenli ifadedeki yakalama grupları

Düzenli ifadeyi yapılandırdığınızda, Simple Log Service çıktı alanı biçimini aşağıdaki tabloda açıklandığı gibi yakalama gruplarının sayısı ve adlandırmasına göre belirler. Bir dosya yoluna yönelik düzenli ifadede eğik çizgiyi (/) kaçış karakteriyle belirtmeniz gerekir.


Yakalama grubu türü


Scenario


Oluşturulan alan


Düzenli ifade örneği


Eşleşen yol örneği


Oluşturulan alan örneği


Tek yakalama grubu (yalnızca bir (.*?))


Kaynağı ayırt etmek için yalnızca bir boyut gerekir; örneğin kullanıcı adı veya ortam.


__topic__ alanını oluşturur.


\/logs\/(.*?)\/app\.log


/logs/userA/app.log


__topic__:userA


Adlandırılmamış birden çok yakalama grubu (birden çok (.*?))


Birden çok boyut gerekir ancak anlamsal etiketler gerekmez.


__tag__:__topic_{i}__ etiket alanını oluşturur; burada {i} yakalama grubunun indeksidir.


\/logs\/(.*?)\/(.*?)\/app\.log


/logs/userA/svcA/app.log


__tag__:__topic_1__:userA; __tag__:__topic_2__:svcA


Adlandırılmış birden çok yakalama grubu ((?P<name>.*?) kullanımı)


Birden çok boyut gerekir ve sorgulama ile analizi kolaylaştırmak için alan adlarının kendini açıklayıcı olması şarttır.


__tag__:{name} etiket alanını oluşturur.


\/logs\/(?P<user>.*?)\/(?P<service>.*?)\/app\.log


/logs/userA/svcA/app.log


__tag__:user:userA; __tag__:service:svcA

Günlük etiketleme

Ayrıntılı günlük gruplama sağlamak amacıyla konteyner ortam değişkenlerinden veya Kubernetes Pod etiketlerinden temel bilgileri çıkarıp etiket olarak eklemek için günlük etiketi zenginleştirmeyi açın.

Yöntem: Logtail Configuration sayfasında, Input Configurations bölümünde Log Tag Enrichment seçeneğini açın ve Add öğesine tıklayın.

  • Environment Variables: Bir ortam değişkeni adı ve bir etiket adı yapılandırın. Ortam değişkeninin değeri, etiket adı altında depolanır.

    • Ortam değişkeni adı: Çıkarılacak ortam değişkeninin adı.

    • Etiket adı: Ortam değişkeni etiketinin adı.

  • Pod Labels: Bir Pod etiketi adı ve bir etiket adı yapılandırın. Pod etiketinin değeri, etiket adı altında depolanır.

    • Pod etiketi adı: Çıkarılacak Kubernetes Pod etiketinin adı.

    • Etiket adı: Etiketin adı.

5. Çıkış yapılandırması

Varsayılan olarak, tüm günlükler lz4 sıkıştırmasıyla geçerli LogStore'a gönderilir. Aynı kaynaktan gelen günlükleri farklı LogStore'lara dağıtmak için aşağıdaki adımları uygulayın.

Birden çok hedefe dinamik dağıtım

  • Birden çok hedefe gönderme işlemi için LoongCollector 3.0.0 veya sonraki bir sürüm gereklidir. Logtail bu özelliği desteklemez.

  • En fazla beş çıkış hedefi yapılandırabilirsiniz.

  • Birden çok çıkış hedefi yapılandırdıktan sonra, toplama yapılandırması geçerli LogStore'un toplama yapılandırması listesinde görünmez. Çok hedefli dağıtım yapılandırmasını görüntülemek, değiştirmek veya silmek için bkz. Çok hedefli dağıtım yapılandırmalarını nasıl yönetirim?.

    Yöntem: Logtail Configuration sayfasında, Output Configurations bölümünde:

  1. Çıkış yapılandırmasını genişletmek için image simgesine tıklayın.

  2. Add Output Targets öğesine tıklayın ve aşağıdaki ayarları tamamlayın:

    • Logstores: Hedef LogStore'u seçin.

    • Compression Method: lz4 ve zstd desteklenir.

    • Route Settings: Günlükleri etiket alanlarına göre yönlendirir ve dağıtır. Yönlendirme yapılandırmasını karşılayan günlükler hedef LogStore'a yüklenir. Yönlendirme yapılandırması boşsa, toplanan tüm günlükler hedef LogStore'a yüklenir.

      • Tag Name: Yönlendirme için kullanılan etiket alanının adı. Alan adını doğrudan girin; örneğin __path__. __tag__: önekini kullanmayın. Etiket alanları aşağıdaki iki kategoriye ayrılır:

        • Aracıyla ilgili: Toplama aracısının kendisiyle ilgilidir ve eklentilerden bağımsızdır; örneğin __hostname__ ve __user_defined_id__.

        • Giriş eklentisiyle ilgili: Bir giriş eklentisi tarafından sağlanır ve günlükleri ilgili bilgilerle zenginleştirir; örneğin dosya toplama için __path__ ve Kubernetes toplama için _pod_name_ ile _container_name_.

          Etiketler hakkında daha fazla bilgi için bkz. Toplama etiketlerini yönetme.

      • Tag Value: Etiket alanı değeri bu değerle eşleşen günlükler hedef LogStore'a gönderilir.

      • Discard this tag?: Bu anahtarı açarsanız, yüklenen günlükler bu etiket alanını içermez.

3. Adım: Sorgu ve analiz yapılandırma

Günlük işleme ve eklenti yapılandırmasını tamamladıktan sonra, Next öğesine tıklayarak Query and Analysis Configurations sayfasına gidin:

  • Varsayılan olarak bir tam metin dizini etkindir ve ham günlük içeriğinde anahtar kelime aramalarını destekler.

  • Alana göre hassas sorgular çalıştırmak için sayfada Preview Data yüklenmesini bekleyin ve ardından Automatic Index Generation öğesine tıklayın. Simple Log Service, önizleme verilerindeki ilk girdiye dayalı olarak bir alan dizini oluşturur.

    Yapılandırmayı tamamladıktan sonra, tüm toplama kurulumunu bitirmek için Next öğesine tıklayın.

4. Adım: Doğrulama ve sorun giderme

Toplama yapılandırmasını tamamlayıp bir makine grubuna uyguladıktan sonra, Simple Log Service yapılandırmayı otomatik olarak dağıtır ve artımlı günlüklerin toplanmasına başlar.

Yüklenen günlükleri görüntüleyin

  • Günlük dosyasında yeni içerik olduğundan emin olun: LoongCollector yalnızca artımlı günlükleri toplar. tail -f /path/to/your/log/file komutunu çalıştırın ve yeni günlüklerin yazıldığını doğrulamak için bir uygulama işlemi tetikleyin.

  • Günlükleri sorgulayın: Hedef LogStore'un sorgu ve analiz sayfasına gidin ve Search & Analyze seçeneğine tıklayın. Varsayılan zaman aralığı son 15 dakikadır. Yeni günlüklerin gelip gelmediğini kontrol edin. Varsayılan olarak, toplanan her Docker konteyner metin günlüğü aşağıdaki alanları içerir:


Alan


Açıklama


__source__


LoongCollector (Logtail) konteynerinin IP adresi.


_container_ip_


Uygulama konteynerinin IP adresi.


__tag__:__hostname__


LoongCollector (Logtail) çalıştıran Docker ana bilgisayar makinesinin adı.


__tag__:__path__


Günlük toplama yolu.


__tag__:__receive_time__


Günlüğün sunucu tarafına ulaştığı zaman.


__tag__:__user_defined_id__


Makine grubunun özel tanımlayıcısı.

Konteyner standart çıktısının kullandığı meta veri alan adları için bu konunun Ek: Yeni ve eski konteyner standart çıktı sürümlerinin karşılaştırılması bölümüne bakın.

Yaygın sorunları giderin

Makine grubunun heartbeat durumu FAIL olarak görünüyor

Kullanıcı tanımlayıcısını kontrol edin

Sunucunuz bir ECS örneği değilse veya ECS örneği ile proje farklı Alibaba Cloud hesaplarına aitse, belirtilen dizinde doğru kullanıcı tanımlayıcısının var olup olmadığını kontrol etmek için aşağıdaki yöntemleri kullanın:

  • Linux: Kullanıcı tanımlayıcı dosyasını oluşturmak için cd /etc/ilogtail/users/ && touch <uid> komutunu çalıştırın.

  • Windows: C:\LogtailData\users\ dizinine gidin ve <uid> adlı boş bir dosya oluşturun.

    Belirtilen yolda, mevcut projeye sahip olan Alibaba Cloud hesap ID'si adında bir dosya varsa kullanıcı tanımlayıcısı doğru şekilde yapılandırılmıştır.

Makine grubu tanımlayıcısını kontrol edin

Özel tanımlayıcı tabanlı bir makine grubu kullanıyorsanız, belirtilen dizinde user_defined_id dosyasının var olup olmadığını kontrol edin. Dosya varsa içeriğinin makine grubu için yapılandırılan özel tanımlayıcı ile aynı olduğunu doğrulayın.


Sistem


Belirtilen dizin


Çözüm


Linux


/etc/ilogtail/user_defined_id


```shell

Özel tanımlayıcıyı yapılandırın. Dizin yoksa manuel olarak oluşturun.

echo "user-defined-1" > /etc/ilogtail/user_defined_id | | Windows | C:\LogtailData\user_defined_id | C:\LogtailData dizininde user_defined_id` dosyasını oluşturun ve içine özel tanımlayıcıyı yazın. Dizin yoksa manuel olarak oluşturun. |

Hem kullanıcı tanımlayıcısı hem de makine grubu tanımlayıcısı doğru şekilde yapılandırıldıysa daha fazla sorun giderme için bkz. LoongCollector (Logtail) makine grubu sorunlarını giderme.

Günlük verisi toplanmıyor

  • Artımlı günlükleri kontrol edin: LoongCollector (Logtail) toplamayı yapılandırdıktan sonra, bir günlük dosyasına yeni günlükler yazılmıyorsa LoongCollector (Logtail) bu dosyayı toplamaz.

  • Makine grubunun heartbeat durumunu kontrol edin: Resource Group > Machine Groups sayfasına gidin, hedef makine grubunun adına tıklayın ve Machine Group Configurations > Machine Group Status bölümündeki Heartbeat durumunu kontrol edin.

  • Heartbeat durumu OK ise makine grubu Simple Log Service projesine bağlıdır.

  • Heartbeat durumu FAIL ise sorunu gidermek için bkz. Makine grubunun heartbeat durumu FAIL.

  • LoongCollector (Logtail) toplama yapılandırmasının makine grubuna uygulandığını doğrulayın: LoongCollector (Logtail) toplama yapılandırması oluşturulmuş olsa bile, yapılandırma bir makine grubuna uygulanana kadar günlükler toplanmaz.

  • Resource Group > Machine Groups sayfasına gidin ve hedef makine grubunun adına tıklayarak Machine Group Configurations sayfasına ulaşın.

  • Sayfada Manage Configuration öğesini kontrol edin. Sol tarafta All Logtail Configurations listesi, sağ tarafta ise Applied Logtail Configs listesi görünür. Hedef LoongCollector (Logtail) toplama yapılandırması sağ taraftaki uygulanan alana taşındıysa yapılandırma hedef makine grubuna uygulanmış demektir.

  • Hedef LoongCollector (Logtail) toplama yapılandırması sağ taraftaki uygulanan alana taşınmadıysa Modify seçeneğine tıklayın, sol taraftaki All Logtail Configurations listesinden hedef LoongCollector (Logtail) yapılandırmasının adını seçin, sağ taraftaki uygulanan alana taşımak için image simgesine tıklayın ve ardından OK seçeneğine tıklayın.

Günlük toplama hataları veya biçim hataları

Sorun giderme yaklaşımı: Bu durum, ağ bağlantısının ve temel yapılandırmanın çalıştığını, sorunun ise günlük içeriği ile ayrıştırma kuralları arasındaki uyumsuzluktan kaynaklandığını gösterir. Sorunu tespit etmek için belirli hata mesajını kontrol edin:

  • Logtail Configuration sayfasında toplama hatası bildiren LoongCollector (Logtail) yapılandırmasının adına tıklayın. Log Collection Error sekmesinde sorgu zamanını ayarlamak için Select Time Range seçeneğine tıklayın.

  • Collection Exception Monitoring > Complete Error Information bölümünde hata günlüğünün uyarı türünü kontrol edin ve Veri toplamadaki yaygın hata türleri bölümünde ilgili çözümü bulun.

Yaygın komutlar

LoongCollector (Logtail) çalışma durumunu görüntüleyin

Aşağıdaki komutu çalıştırın:

docker exec ${logtail_container_id} /etc/init.d/ilogtaild status

LoongCollector (Logtail) sürümünü, IP adresini, başlangıç zamanını ve diğer bilgileri görüntüleyin

Aşağıdaki komutu çalıştırın:

docker exec ${logtail_container_id} cat /usr/local/ilogtail/app_info.json

LoongCollector (Logtail) işlem günlüklerini görüntüleyin

LoongCollector (Logtail) işlem günlükleri konteyner içindeki /usr/local/ilogtail/ dizininde saklanır. Dosya adı ilogtail.LOG şeklindedir ve döndürülen dosyalar sıkıştırılarak ilogtail.LOG.x.gz olarak depolanır. Örnek:

# View the operational logs of LoongCollector

docker exec a287de895e40 tail -n 5 /usr/local/ilogtail/loongcollector.LOG

# View the operational logs of Logtail

docker exec a287de895e40 tail -n 5 /usr/local/ilogtail/ilogtail.LOG

Aşağıdaki çıktı döndürülür:

[2025-08-25 09:17:44.610496]    [info]  [22]    /build/loongcollector/file_server/polling/PollingModify.cpp:75          polling modify resume:succeeded
[2025-08-25 09:17:44.610497]    [info]  [22]    /build/loongcollector/file_server/polling/PollingDirFile.cpp:100                polling discovery resume:starts
[2025-08-25 09:17:44.610498]    [info]  [22]    /build/loongcollector/file_server/polling/PollingDirFile.cpp:103                polling discovery resume:succeeded
[2025-08-25 09:17:44.610499]    [info]  [22]    /build/loongcollector/file_server/FileServer.cpp:117            file server resume:succeeded
[2025-08-25 09:17:44.610500]    [info]  [22]    /build/loongcollector/file_server/EventDispatcher.cpp:1019              checkpoint dump:succeeded

LoongCollector (Logtail) yeniden başlatın

Aşağıdaki komutları çalıştırın:

# Stop LoongCollector

docker exec a287de895e40 /etc/init.d/ilogtaild stop

# Start LoongCollector

docker exec a287de895e40 /etc/init.d/ilogtaild start

SSS

Yaygın hata mesajları


Belirti


Neden


Çözüm


Failed to connect to Logtail


Projenin bulunduğu bölge, LoongCollector (Logtail) konteynerinin bölgesiyle eşleşmiyor.


ALIYUN_LOGTAIL_CONFIG içindeki bölge yapılandırmasını kontrol edin.


No logs in LogStore


Dosya yolu yanlış yapılandırılmış.


Uygulama konteynerindeki günlük yolunun toplama yapılandırmasıyla eşleştiğini doğrulayın.

Hata günlüğü: The parameter is invalid : uuid=none

Sorun açıklaması: LoongCollector (Logtail) günlük dosyasında (/usr/local/ilogtail/ilogtail.LOG) The parameter is invalid : uuid=none hatası bulunur.

Çözüm: Ana makinede bir product_uuid dosyası oluşturun, içine 169E98C9-ABC0-4A92-B1D2-AA6239C0D261 gibi geçerli bir UUID girin ve bu dosyayı LoongCollector (Logtail) konteynerindeki /sys/class/dmi/id/product_uuid dizinine bağlayın.

Aynı günlük dosyasını veya konteyner standart çıktısını birden fazla toplama yapılandırmasıyla nasıl toplarım?

Simple Log Service, yinelenen verileri önlemek amacıyla varsayılan olarak her günlük kaynağının yalnızca bir toplama yapılandırması tarafından toplanmasına izin verir:

  • Bir metin günlük dosyası yalnızca tek bir Logtail toplama yapılandırmasıyla eşleşebilir.

  • Konteyner standart çıktısı (stdout):

  • Yeni standart çıktı şablonunu kullanıyorsanız, standart çıktı varsayılan olarak yalnızca tek bir standart çıktı toplama yapılandırması tarafından toplanabilir.

  • Eski standart çıktı şablonunu kullanıyorsanız, varsayılan olarak birden fazla yapılandırmayla toplama desteklenir ve ek yapılandırma gerekmez.

    Aynı günlük kaynağının birden fazla toplama yapılandırması tarafından toplanmasına izin vermek için aşağıdaki adımları uygulayın:

  1. Simple Log Service konsolu üzerinde oturum açın ve hedef projeye gidin.

  2. Sol gezinme bölmesinde imageLogStores seçeneğine tıklayın ve hedef LogStore'u bulun.

  3. LogStore'u genişletmek için adının yanındaki image simgesine tıklayın.

  4. Logtail Configuration seçeneğine tıklayın, yapılandırma listesinde hedef Logtail yapılandırmasını bulun ve Actions sütunundaki Manage Logtail Configuration seçeneğine tıklayın.

  5. Logtail yapılandırma sayfasında Edit seçeneğine tıklayın ve Input Configurations bölümüne kadar aşağı kaydırın: - Metin dosya günlüklerini toplamak için: Allow File to Be Collected for Multiple Times seçeneğini etkinleştirin. - Konteyner standart çıktısını toplamak için: Allow Collection by Different Logtail Configurations seçeneğini etkinleştirin.

Çoklu hedef dağıtım yapılandırmalarını nasıl yönetirim?

Çoklu hedef dağıtım yapılandırması birden fazla LogStore ile ilişkilendirildiğinden bu tür yapılandırmaları proje düzeyindeki yönetim sayfasından sürdürmeniz gerekir:

  1. Simple Log Service konsolu üzerinde oturum açın ve hedef projenin adına tıklayın.

  2. Hedef proje sayfasında sol gezinme bölmesinden imageResource Group > Configurations seçeneğine tıklayın.

    Bu sayfa, yanlışlıkla silinen bir LogStore'dan geriye kalan yapılandırmalar dahil olmak üzere projedeki tüm toplama yapılandırmalarını merkezi olarak yönetir.

Ek: Yerel Ayrıştırma Eklentileri

Logtail Configuration sayfasında, Processor Configurations bölümünde ham günlükleri yapılandırmak için işleme eklentileri ekleyebilirsiniz. Mevcut bir toplama yapılandırmasına işleme eklentisi eklemek için aşağıdaki adımları uygulayın:

  1. Sol gezinme bölmesinde, imageLogStores seçeneğini belirleyin ve hedef LogStore'u bulun.

  2. LogStore'u genişletmek için adının yanındaki image simgesine tıklayın.

  3. Logtail Configuration seçeneğine tıklayın, yapılandırma listesinde hedef Logtail yapılandırmasını bulun ve Actions sütununda Manage Logtail Configuration öğesine tıklayın.

  4. Logtail yapılandırma sayfasında Edit seçeneğine tıklayın.

    Bu bölümde yalnızca tipik günlük işleme senaryolarını kapsayan yaygın işleme eklentileri açıklanmaktadır. Daha fazla özellik için bkz. Genişletilmiş işleme eklentileri.

Eklentileri birleştirme kuralları (LoongCollector / Logtail 2.0 ve sonraki sürümler için geçerlidir):

  • Yerel işleme eklentilerini ve genişletilmiş işleme eklentilerini bağımsız olarak kullanabilir veya ihtiyaçlarınıza göre bunları birleştirebilirsiniz.

  • Daha iyi performans ve daha yüksek kararlılık sunduklarından öncelikle yerel işleme eklentilerini kullanmanızı öneririz.

  • Yerel özellikler iş ihtiyaçlarınızı karşılayamıyorsa, yapılandırılmış yerel işleme eklentilerinin ardından ek işleme için genişletilmiş işleme eklentileri ekleyin.

Sıra kısıtlaması:

Tüm eklentiler, yapılandırıldıkları sırada bir işleme zinciri oluşturur ve bu sırayla çalışır. Not: Tüm yerel işleme eklentileri, herhangi bir genişletilmiş işleme eklentisinden önce gelmelidir. Bir genişletilmiş işleme eklentisi ekledikten sonra başka yerel işleme eklentisi ekleyemezsiniz.

Normal ifade ile ayrıştırma

Günlük alanlarını bir normal ifadeyle ayıklar ve günlüğü anahtar-değer çiftlerine ayrıştırarak her bir alanın bağımsız olarak sorgulanıp analiz edilmesini sağlar.

Örnek:


Ham günlük


Normal ifade ayrıştırma eklentisinin sonucu


```plaintext


127.0.0.1 - - [16/Aug/2024:14:37:52 +0800] "GET /wp-admin/admin-ajax.php?action=rest-nonce HTTP/1.1" 200 41 "http://www.example.com/wp-admin/post-new.php?post_type=page" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0"


| plaintext


body_bytes_sent: 41


http_referer: http://www.example.com/wp-admin/post-new.php?post_type=page


http_user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0


remote_addr: 127.0.0.1


remote_user: -


request_method: GET


request_protocol: HTTP/1.1


request_uri: /wp-admin/admin-ajax.php?action=rest-nonce


status: 200


time_local: 16/Aug/2024:14:37:52 +0800


```

Yordam: Logtail Configuration sayfasında, Processor Configurations bölümünde Add Processor seçeneğine tıklayın ve Native Processor > Data Parsing (Regex Mode) öğesini seçin:

  • Regular Expression: Günlüklerle eşleşmek için kullanılan ifade. Bu ifadeyi otomatik olarak oluşturabilir veya manuel olarak girebilirsiniz:

  • Otomatik oluşturma:

    1. Automatically Generate Regular Expression seçeneğine tıklayın.

    2. Log Sample bölümünde, ayıklamak istediğiniz günlük içeriğini vurgulayın.

    3. Generate Regular Expression seçeneğine tıklayın.

      Log Sample bölümüne Apache Combined erişim günlüğü gibi doğru biçimde günlük içeriğinin yapıştırıldığını onaylayın ve ardından ayrıştırma ifadesini otomatik olarak oluşturmak için bu bölümdeki Generate Regular Expression seçeneğine tıklayın. - Manuel giriş: Günlük biçimine göre Manually enter a regular expression.

    Yapılandırmayı tamamladıktan sonra, normal ifadenin günlük içeriğini doğru şekilde ayrıştırıp ayrıştırmadığını test etmek için Validate seçeneğine tıklayın. - Extracted Field: Ayıklanan her bir günlük içeriği parçası (Value) için bir alan adı (Key) belirleyin. - Diğer parametreler hakkında bilgi için Senaryo 2: Günlükleri yapılandırma bölümünde açıklanan genel yapılandırma parametrelerine bakın.

Sınırlayıcı ile ayrıştırma

Günlük içeriğini bir sınırlayıcı kullanarak yapılandırır ve birden çok anahtar-değer çiftine ayrıştırır. Tek karakterli ve çok karakterli sınırlayıcılar desteklenir.

Örnek:


Ham günlük


Belirtilen , karakterine göre ayrılmış alanlar


```plaintext


05/May/2025:13:30:28,10.10..,"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=**** HTTP/1.1",200,18204,aliyun-sdk-java


| plaintext


ip:10.10..


request:POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=**** HTTP/1.1


size:18204


status:200


time:05/May/2025:13:30:28


user_agent:aliyun-sdk-java


```

Yordam: Logtail Configuration sayfasında, Processor Configurations bölümünde Add Processor seçeneğine tıklayın ve Native Processor > Data Parsing (Delimiter Mode) öğesini seçin:

  • Delimiter: Günlük içeriğini bölmek için kullanılan karakteri belirtin. Örnek: Bir CSV dosyası için Custom seçeneğini belirleyin ve virgül (,) girin.

  • Quote: Bir alan değeri sınırlayıcı içeriyorsa, alanı çevrelemek ve yanlış bölünmeyi önlemek için bir tırnak işareti belirtin.

  • Extracted Field: Alanların bölündüğü sıraya göre her bir sütun için bir alan adı (Key) belirleyin. Aşağıdaki kurallar geçerlidir:

  • Bir alan adı yalnızca harf, rakam ve alt çizgi (_) içerebilir.

  • Bir alan adı bir harf veya alt çizgi (_) ile başlamalıdır.

  • Maksimum uzunluk: 128 bayt.

  • Diğer parametreler hakkında bilgi için Senaryo 2: Günlükleri yapılandırma bölümünde açıklanan genel yapılandırma parametrelerine bakın.

Standart JSON ayrıştırma

Object türündeki bir JSON günlüğünü yapılandırır ve anahtar-değer çiftlerine ayrıştırır.

Örnek:


Ham günlük


Standart JSON anahtar-değer çiftlerinin otomatik ayıklanması


```json


{"url": "POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0Ujpek****&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1", "ip": "10.200.98.220", "user-agent": "aliyun-sdk-java", "request": {"status": "200", "latency": "18204"}, "time": "05/Jan/2025:13:30:28"}


| plaintext


ip: 10.200.98.220


request: {"status": "200", "latency" : "18204" }


time: 05/Jan/2025:13:30:28


url: POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0Ujpek&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1


user-agent:aliyun-sdk-java


```

Yordam: Logtail Configuration sayfasında, Processor Configurations bölümünde Add Processor seçeneğine tıklayın ve Native Processor > Data Parsing (JSON Mode) öğesini seçin:

  • Original Field: Varsayılan değer: content. Bu alan, ayrıştırılacak ham günlük içeriğini depolar.

  • Diğer parametreler hakkında bilgi için Senaryo 2: Günlükleri yapılandırma bölümünde açıklanan genel yapılandırma parametrelerine bakın.

İç içe geçmiş JSON ayrıştırma

Bir genişletme derinliği belirterek iç içe geçmiş bir JSON günlüğünü anahtar-değer çiftlerine ayrıştırır.

Örnek:


Ham günlük


Genişletme derinliği: 0, genişletme derinliği önek olarak kullanılır


Genişletme derinliği: 1, genişletme derinliği önek olarak kullanılır


```json


{"s_key":{"k1":{"k2":{"k3":{"k4":{"k51":"51","k52":"52"},"k41":"41"}}}}}


| plaintext


0_s_key_k1_k2_k3_k41:41


0_s_key_k1_k2_k3_k4_k51:51


0_s_key_k1_k2_k3_k4_k52:52


| plaintext


1_s_key:{"k1":{"k2":{"k3":{"k4":{"k51":"51","k52":"52"},"k41":"41"}}}}


```

Yordam: Logtail Configuration sayfasında, Processor Configurations bölümünde Add Processor seçeneğine tıklayın ve Extended Processor > Expand JSON Field öğesini seçin:

  • Original Field: Genişletilecek orijinal alanın adı, örneğin content.

  • JSON Expansion Depth: JSON nesnesinin genişletme düzeyi. 0 değeri tam genişletmeyi (varsayılan değer), 1 değeri geçerli düzeyi belirtir ve böyle devam eder.

  • Character to Concatenate Expanded Keys: JSON genişletme sırasında alan adlarını birleştirmek için kullanılan karakter. Varsayılan değer: alt çizgi (_).

  • Name Prefix of Expanded Keys: JSON genişletmeden sonraki alan adlarının öneki.

  • Expand Array: Bir diziyi indekslerle anahtar-değer çiftlerine genişletmek için bu seçeneği açın. Örnek: {"k":["a","b"]} ifadesi {"k[0]":"a","k[1]":"b"} şeklinde genişletilir.

    Genişletilen bir alanı yeniden adlandırmak için (örneğin, prefix_s_key_k1 ifadesini new_field_name olarak değiştirmek) eşlemeyi tamamlamak üzere ardından bir Rename Fields eklentisi ekleyin.

  • Diğer parametreler hakkında bilgi için Senaryo 2: Günlükleri yapılandırma bölümünde açıklanan genel yapılandırma parametrelerine bakın.

JSON dizi ayrıştırma

Bir JSON dizisinden JSON nesnelerini ayıklamak için json_extractişlevini kullanın.

Örnek:


Ham günlük


Ayıklanan JSON dizi yapısı


```json


[{"key1":"value1"},{"key2":"value2"}]


| plaintext


json1:{"key1":"value1"}


json2:{"key2":"value2"}


```

Yordam: Logtail Configuration sayfasında, Processor Configurations bölümünde Processing Method seçeneğini SPL olarak değiştirin, SPL statement öğesini yapılandırın ve JSON dizisinden JSON nesnelerini ayıklamak için json_extract işlevini kullanın.

Örnek: content günlük alanından JSON dizisinin öğelerini ayıklayın ve sonuçları yeni json1 ve json2 alanlarında saklayın.

* | extend json1 = json_extract(content, '$[0]'), json2 = json_extract(content, '$[1]')

Apache günlük ayrıştırma

Apache günlük yapılandırma dosyasındaki tanımlara dayanarak günlük içeriğini yapılandırır ve birden çok anahtar-değer çiftine ayrıştırır.

Örnek:


Ham günlük


combined Apache Ortak Günlük Biçimi ile ayrıştırma


```plaintext


1 192.168.1.10 - - [08/May/2024:15:30:28 +0800] "GET /index.html HTTP/1.1" 200 1234 "https://www.example.com/referrer" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.X.X Safari/537.36"


| plaintext


http_referer:https://www.example.com/referrer


http_user_agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.X.X Safari/537.36


remote_addr:192.168.1.10


remote_ident:-


remote_user:-


request_method:GET


request_protocol:HTTP/1.1


request_uri:/index.html


response_size_bytes:1234


status:200


time_local:[08/May/2024:15:30:28 +0800]


```

Yordam: Logtail Configuration sayfasında, Processor Configurations bölümünde Add Processor seçeneğine tıklayın ve Native Processor > Data Parsing (Apache Mode) yolunu izleyin:

  • Log Format öğesini combined olarak ayarlayın.

  • APACHE LogFormat Configuration ayarı, Simple Log Service tarafından Log Format değerine göre otomatik olarak doldurulur. Sunucunuzdaki Apache yapılandırma dosyasında (genellikle /etc/apache2/apache2.conf konumunda bulunur) tanımlanan LogFormat değeriyle aynı olduğundan emin olmak için otomatik doldurulan içeriği kontrol edin.

  • Diğer parametreler hakkında bilgi için Senaryo 2: Günlükleri yapılandırma bölümünde açıklanan genel yapılandırma parametrelerine bakın.

Veri maskeleme

Günlüklerdeki hassas verileri maskeler.

Örnek:


Ham günlük


Maskeleme sonucu


```plaintext


[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]


| plaintext


[{'account':'1812213231432969','password':''}, {'account':'1812213685634','password':''}]


```

Yordam: Logtail Configuration sayfasında, Processor Configurations bölümünde Add Processor seçeneğine tıklayın ve Native Processor > Data Masking yolunu izleyin:

  • Original Field: Ayrıştırmadan önce günlük içeriğini depolayan orijinal alan.

  • Data Masking Method ayarını yapılandırın:

    • const: Hassas içeriği belirtilen dizeyle değiştirir.

    • md5: Hassas içeriği MD5 değeriyle değiştirir.

  • Replacement String: Data Masking Method ayarını const olarak belirlediyseniz, hassas içeriğin yerine kullanılacak dizeyi girin.

  • Content Expression that Precedes Replaced Content: Hassas içeriği bulur. RE2 sözdizimini kullanarak yapılandırın.

  • Content Expression to Match Replaced Content: Hassas içeriğin ifadesidir. RE2 sözdizimini kullanarak yapılandırın.

Zaman ayrıştırma

Günlükteki zaman alanını ayrıştırır ve ayrıştırma sonucunu günlüğün __time__ alanı olarak ayarlar.

Örnek:


Ham günlük


Zaman ayrıştırma


```shell


{"level":"INFO","timestamp":"2025-09-23T19:11:47+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}


```


timestamp alanının zaman değerini ayrıştırır ve günlüğün __time__ alanını, 2025-09-23T19:11:47+0800 değerine karşılık gelen Unix zaman damgası 1758625907 olarak ayarlar.

Yordam: Logtail Configuration sayfasında, Processor Configurations bölümünde Add Processor seçeneğine tıklayın ve Native Processor > Time Parsing yolunu izleyin:

  • Original Field: Ayrıştırmadan önce günlük içeriğini depolayan orijinal alan.

  • Time Format: Günlükteki zaman içeriğine göre eşleşen zaman biçimini ayarlayın.

  • Time Zone: Günlükteki zaman alanının saat dilimini seçin. Varsayılan olarak, LoongCollector (Logtail) işlemini barındıran ortamın saat dilimi olan makine saat dilimi kullanılır.

Ek: Normal ifade sınırlamaları (konteyner filtreleme)

Konteyner filtreleme için kullanılan normal ifadeler Go RE2 motoruna dayanır ve bu motor, PCRE gibi diğer motorlara kıyasla bazı sözdizimi sınırlamalarına sahiptir. Normal ifadeler yazarken aşağıdaki hususlara dikkat edin:

  1. Adlandırılmış grup sözdizimindeki farklılıklar

    Go, adlandırılmış bir grup tanımlamak için (?P<name>...) sözdizimini kullanır ve PCRE'nin (?<name>...) sözdizimini desteklemez.

  • Doğru örnek: (?P<year>\d{4})

  • Yanlış örnek: (?<year>\d{4}) 2. Desteklenmeyen normal ifade özellikleri

    Aşağıdaki yaygın ancak karmaşık normal ifade özellikleri RE2'de kullanılamaz. Bunları kullanmayın:

  • Lookarounds (İleri/Geri Bakış):(?=...), (?!...), (?<=...), (?<!...)

  • Koşullu ifadeler:(?(condition)true|false)

  • Özyineleme:(?R), (?0)

  • Alt yordam referansları:(?&name), (?P>name)

  • Atomik gruplar:(?>...) 3. Öneriler

    Normal ifadeleri Regex101 gibi bir araçla hata ayıklarken, bunları doğrulamak ve uyumluluğu sağlamak için Golang (RE2) modunu seçin. Desteklenmeyen sözdizimlerinden herhangi birini kullanırsanız, eklenti ifadenizi doğru şekilde ayrıştıramaz veya eşleştiremez.

Ek: Yeni ve eski konteyner standart çıktı sürümlerinin karşılaştırılması

Depolama verimliliğini ve toplama tutarlılığını artırmak amacıyla, konteyner standart çıktısı için günlük meta veri biçimi yükseltildi. Yeni biçim, meta verileri __tag__ alanı altında birleştirerek depolamayı optimize eder ve biçimi standart hale getirir.

Yeni standart çıktının temel avantajları

  • Performans önemli ölçüde iyileştirildi

  • C++ ile yeniden yazılan yeni sürüm, önceki Go uygulamasına kıyasla %180 ila %300 arasında performans artışı sağlar.

  • Yerel eklentilerle veri işlemeyi ve çok iş parçacıklı paralel işlemeyi destekleyerek sistem kaynaklarını tam olarak kullanır.

  • Karmaşık senaryoların gereksinimlerini karşılamak üzere yerel eklentiler ile Go eklentilerinin esnek kombinasyonlarını destekler.

  • Daha güçlü güvenilirlik

  • Standart çıktı günlükleri için döndürme kuyruğunu destekler ve günlük toplama mekanizmasını dosya toplama mekanizmasıyla birleştirir; bu sayede standart çıktı günlükleri hızla döndürüldüğünde yüksek güvenilirlik sunar.

  • Daha düşük kaynak tüketimi

  • CPU kullanımı %20 ila %25 oranında azalır.

  • Bellek kullanımı %20 ila %25 oranında azalır.

  • Geliştirilmiş İşletim ve Bakım (O&M) tutarlılığı

  • Birleştirilmiş parametre yapılandırması: Yeni standart çıktı toplama eklentisinin yapılandırma parametreleri, dosya toplama eklentisiyle tutarlıdır.

  • Birleştirilmiş meta veri yönetimi: Konteyner meta veri alanlarının adlandırılması ve etiket depolama konumu, dosya toplama senaryosuyla uyumlu hale getirilmiştir; böylece tüketici tarafı yalnızca tek bir işlem mantığını korur.

Yeni ve eski sürümlerin özellik karşılaştırması


Özellik


Eski sürüm


Yeni sürüm


Depolama yöntemi


Meta veriler, normal alanlar olarak günlük içeriğine gömülür.


Meta veriler, __tag__ etiketi altında birleştirilir.


Depolama verimliliği


Her günlük girişi, meta verilerin tam bir kopyasını taşır ve bu durum daha fazla depolama alanı tüketir.


Aynı bağlamdaki birden fazla günlük girişi meta verileri yeniden kullanabilir ve bu sayede depolama maliyetlerinden tasarruf edilir.


Biçim tutarlılığı


Biçim, konteyner dosyası toplama biçimiyle tutarsızdır.


Alan adlandırması ve depolama yapısı, konteyner dosyası toplama ile tamamen hizalanmıştır ve bu sayede birleştirilmiş bir deneyim sunar.


Sorgu erişim yöntemi


Meta verileri, _container_name_ gibi alan adını kullanarak doğrudan sorgulayabilirsiniz.

__tag__ aracılığıyla ilgili anahtar-değer çiftine erişmeniz gerekir; örneğin __tag__: _container_name_.

Konteyner meta veri alanı eşlemesi


Eski alan adı


Yeni alan adı


_container_ip_


__tag__:_container_ip_


_container_name_


__tag__:_container_name_


_image_name_


__tag__:_image_name_


_namespace_


__tag__:_namespace_


_pod_name_


__tag__:_pod_name_


_pod_uid_


__tag__:_pod_uid_

Yeni sürümde, tüm meta veri alanları günlük içeriğine gömülmek yerine günlüğün etiket bölümünde __tag__:<key> biçiminde depolanır.

Yeni sürümün kullanıcılar üzerindeki etkisi

  • Tüketici tarafı uyarlaması: Depolama konumu içerikten etikete değiştiği için günlük tüketim mantığınızı buna göre ayarlamanız gerekir. Örneğin, bir sorgu çalıştırdığınızda alanlara __tag__ üzerinden erişmeniz gerekir.

  • SQL uyumluluğu: Sorgu SQL'i her iki sürümle de otomatik olarak uyumludur; bu nedenle, herhangi bir sürümden gelen günlükleri işlemek için sorgu ifadelerinizi değiştirmeniz gerekmez.

Ek: Ağ iletim türleri

Genel parametreler


Parametre


Açıklama


Yapılandırma adı


Logtail yapılandırmasının adı. Proje içinde benzersiz olmalıdır. Logtail yapılandırması oluşturulduktan sonra ad değiştirilemez.


Günlük konu türü


Günlük konusunun nasıl oluşturulacağını belirtir. Seçenekler arasında Makine Grubu Konusu, Dosya Yolu Çıkarma ve Özel bulunur.


Gelişmiş parametreler


Genel yapılandırma için isteğe bağlı gelişmiş parametreler. Logtail işlem hattı yapılandırması oluşturun.

Genel parametreler


Parametre


Açıklama


Yapılandırma adı


Logtail yapılandırmasının adı. Proje içinde benzersiz olmalıdır. Logtail yapılandırması oluşturulduktan sonra ad değiştirilemez.


Günlük konu türü


Günlük konusunun nasıl oluşturulacağını belirtir. Seçenekler arasında Makine Grubu Konusu, Dosya Yolu Çıkarma ve Özel bulunur.


Gelişmiş parametreler


Genel yapılandırma için isteğe bağlı gelişmiş parametreler. Logtail işlem hattı yapılandırması oluşturun.

Giriş parametreleri

Parametre

Açıklama

Logtail dağıtım modu

DaemonSet: Kümenin her düğümüne bir LoongCollector dağıtarak o düğümdeki tüm konteynerlerden günlük toplar.

Sidecar: Her Pod, kendi içindeki tüm konteynerlerden günlük toplamak için bir LoongCollector konteyneri çalıştırır. Farklı Pod'lar için günlük toplama işlemleri izole edilir.

Dosya yolu türü

Path in Container veya Host Path yapılandırmayı destekler.

  • Path in Container: Bir konteyner içinden metin günlük dosyalarını toplamak için bu seçeneği belirleyin.

  • Host Path: Küme düğümlerinden hizmet günlüklerini toplamak için bu seçeneği belirleyin.

Dosya yolu

Günlüğün ana bilgisayardaki (örneğin bir ECS örneği) konumuna göre günlük dizinini ve dosya adını belirtir.

  • Hedef ana bilgisayar bir Linux sistemi ise günlük yolu eğik çizgi (/) ile başlamalıdır. Örneğin, /apsara/nuwa/**/app.Log.

  • Hedef ana bilgisayar bir Windows sistemi ise günlük yolu sürücü harfi ile başlamalıdır. Örneğin, C:\Program Files\Intel\**\*.Log.

Hem dizin hem de dosya adları tam eşleşmeyi ve joker karakterleri destekler. Bakınız Joker karakter eşleşmesi. Günlük yolları için desteklenen tek joker karakterler yıldız işareti (*) ve soru işaretidir (?).

Günlük toplama çok düzeyli dizin eşleşmesini kullanır. Bu, Logtail'in belirtilen dizinde ve tüm alt dizinlerinde kriterlere uyan tüm dosyaları bulduğu anlamına gelir. Örneğin:

  • /apsara/nuwa/**/*.log, /apsara/nuwa dizinindeki ve yinelemeli alt dizinlerindeki .log uzantılı dosyaları ifade eder.

  • /var/logs/app_*/**/.log, /var/logs dizini altındaki app_ biçimine uyan tüm dizinlerdeki ve bunların yinelemeli alt dizinlerindeki .log uzantılı dosyaları ifade eder.

  • /var/log/nginx/**/access*, /var/log/nginx dizinindeki ve yinelemeli alt dizinlerindeki adı access ile başlayan dosyaları ifade eder.

Maksimum dizin izleme derinliği

İzlenecek maksimum dizin derinliğini belirtir. Bu, File Path içindeki ** joker karakteri tarafından eşlenen maksimum dizin derinliğidir. 0 değeri yalnızca geçerli dizinin izlendiğini gösterir.

Standart çıkış

Stdout and Stderr özelliğini etkinleştirirseniz Logtail konteynerin standart çıkışını toplar.

Standart hata

Standard Error özelliğini etkinleştirirseniz Logtail konteynerin standart hatasını toplar.

Standart çıkışın birden çok kez toplanmasına izin ver

Varsayılan olarak bir konteynerin standart çıkışı yalnızca bir Logtail yapılandırması tarafından toplanabilir. Standart çıkışı birden çok yapılandırma ile toplamak için Allow File to Be Collected for Multiple Times anahtarını açın.

Konteyner meta verisi ön izlemesini etkinleştir

Enable Container Metadata Preview özelliğini etkinleştirmek, bir Logtail yapılandırması oluşturduktan sonra konteyner meta verilerini görüntülemenize olanak tanır. Buna eşleşen konteyner bilgileri ve tam konteyner bilgileri dahildir.

Konteyner filtreleme

  • Filtre koşulları

Önemli
  • Bir konteyner etiketi, docker inspect komutunun çıktısındaki etikettir ve bir Kubernetes etiketinden farklıdır. Konteyner etiketlerini edinin.

  • Bir ortam değişkeni, bir konteyner başlatılırken yapılandırılır. Konteyner ortam değişkenlerini edinin.

  • Kubernetes senaryolarında konteyner filtreleme için K8s Pod Name Regular Matching, K8s Namespace Regular Matching, K8s Container Name Regular Matching ve Kubernetes Pod Label Whitelist gibi Kubernetes düzeyindeki bilgileri kullanın.

  1. Kubernetes'te ad alanları ve konteyner adları sırasıyla io.kubernetes.pod.namespace ve io.kubernetes.container.name konteyner etiketlerine eşlenir. Konteyner filtreleme için bu etiketleri kullanmanızı öneririz. Örneğin, bir Pod backend-prod ad alanına aitse ve worker-server adlı bir konteyneri varsa konteyner etiketi izin listesini io.kubernetes.pod.namespace : backend-prod veya io.kubernetes.container.name : worker-server olarak ayarlayarak konteynerden günlük toplayabilirsiniz.

  2. Bu iki konteyner etiketi filtreleme ihtiyaçlarınızı karşılamıyorsa konteyner filtreleme için ortam değişkeni izin listesini veya engelleme listesini kullanın.

K8s Pod Name Regular Matching

Pod adlarını eşleştirmek için bir düzenli ifade belirtir. Günlükler eşleşen Pod'ların içindeki konteynerlerden toplanır. Örneğin, bu parametreyi ^(nginx-log-demo.*)$ olarak ayarlarsanız adı nginx-log-demo ile başlayan tüm Pod'lardaki konteynerler eşleşir.

K8s Namespace Regular Matching

Ad alanlarını eşleştirmek için bir düzenli ifade belirtir. Günlükler eşleşen ad alanlarında bulunan konteynerlerden toplanır. Örneğin, bu parametreyi ^(default|nginx)$ olarak ayarlarsanız nginx ve default ad alanlarında bulunan tüm konteynerler eşleşir.

K8s Container Name Regular Matching

Konteyner adlarını eşleştirmek için bir düzenli ifade belirtir. Kubernetes konteyner adı spec.containers içinde tanımlanır. Günlükler ada uyan konteynerlerden toplanır. Örneğin, bu parametreyi ^(container-test)$ olarak ayarlarsanız adı container-test olan tüm konteynerler eşleşir.

Container Label Whitelist (We recommend that you configure this parameter in a Docker environment and do not configure this parameter in a Kubernetes environment.)

Günlüklerin hangi konteynerlerden toplanacağını belirtir. Varsayılan olarak boştur, bu da tüm konteynerlerin standart çıkışının toplandığı anlamına gelir. Bir konteyner etiketi izin listesi ayarlamak için LabelKey gereklidir ve LabelValue isteğe bağlıdır.

  • LabelValue boşsa LabelKey etiketine sahip tüm konteynerler eşleşir.

  • LabelValue boş değilse yalnızca etiketi LabelKey=LabelValue ile aynı olan konteynerler eşleşir.

    Varsayılan olarak LabelValue dize eşleşmesi için kullanılır. Eşleşme yalnızca LabelValue konteyner etiketinin değeriyle tamamen aynı olduğunda başarılı olur. Değer ^ ile başlar ve $ ile biterse düzenli ifade eşleşmesi kullanılır. Örneğin, LabelKey değerini io.kubernetes.container.name ve LabelValue değerini ^(nginx|cube)$ olarak ayarlarsanız adı nginx veya cube olan konteynerler eşleşir.

Birden fazla izin listesi girişi mantıksal VEYA ilişkisine sahiptir. Bir konteynerin etiketi izin listesi girişlerinden herhangi biriyle eşleşirse konteyner eşleşir.

Container Label Blacklist (We recommend that you configure this parameter in a Docker environment and do not configure this parameter in a Kubernetes environment.)

Günlük toplamadan konteynerleri hariç tutar. Varsayılan olarak boştur, bu da hiçbir konteynerin hariç tutulmadığı anlamına gelir. Bir konteyner etiketi engelleme listesi ayarlamak için LabelKey gereklidir ve LabelValue isteğe bağlıdır.

  • LabelValue boşsa LabelKey etiketine sahip tüm konteynerler hariç tutulur.

  • LabelValue boş değilse yalnızca etiketi LabelKey=LabelValue ile aynı olan konteynerler hariç tutulur.

    LabelValue varsayılan olarak dize eşleşmesi yapar. Eşleşme yalnızca LabelValue değeri konteyner etiketinin değeriyle tamamen aynı olduğunda gerçekleşir. Değer ^ ile başlar ve $ ile biterse düzenli ifade eşleşmesi yapılır. Örneğin, LabelKey değerini io.kubernetes.container.name ve LabelValue değerini ^(nginx|cube)$ olarak ayarlarsanız bu, adı nginx veya cube olan konteynerlerle eşleşir.

Birden fazla engelleme listesi girişi mantıksal VEYA ilişkisine sahiptir. Bir konteynerin etiketi engelleme listesi girişlerinden herhangi biriyle eşleşirse konteyner hariç tutulur.

Environment Variable Whitelist

Günlüklerin hangi konteynerlerden toplanacağını belirtir. Varsayılan olarak boştur, bu da tüm konteynerlerin standart çıkışının toplandığı anlamına gelir. Bir ortam değişkeni izin listesi ayarlamak için EnvKey gereklidir ve EnvValue isteğe bağlıdır.

  • EnvValue boşsa EnvKey ortam değişkenine sahip tüm konteynerler eşleşir.

  • EnvValue boş değilse yalnızca ortam değişkeni EnvKey=EnvValue ile aynı olan konteynerler eşleşir.

    Varsayılan olarak EnvValue dize eşleşmesi için kullanılır. Eşleşme yalnızca EnvValue değeri ortam değişkeninin değeriyle tamamen aynı olduğunda bulunur. Değer ^ ile başlar ve $ ile biterse bu bir düzenli ifade eşleşmesidir. Örneğin, EnvKey değerini NGINX_SERVICE_PORT ve EnvValue değerini ^(80|6379)$ olarak ayarlarsanız bu yapılandırma hizmet bağlantı noktası 80 veya 6379 olan konteynerlerle eşleşir.

Birden fazla izin listesi girişi mantıksal VEYA ilişkisine sahiptir. Bir konteynerin ortam değişkenleri belirtilen anahtar-değer çiftlerinden herhangi biriyle eşleşirse konteyner eşleşir.

Environment Variable Blacklist

Günlük toplamadan konteynerleri hariç tutar. Varsayılan olarak boştur, bu da hiçbir konteynerin hariç tutulmadığı anlamına gelir. Bir ortam değişkeni engelleme listesi ayarlamak için EnvKey gereklidir ve EnvValue isteğe bağlıdır.

  • EnvValue boşsa EnvKey ortam değişkenine sahip tüm konteynerlerden gelen günlükler hariç tutulur.

  • EnvValue boş değilse yalnızca ortam değişkeni EnvKey=EnvValue ile aynı olan konteynerler hariç tutulur.

    Varsayılan olarak EnvValue dize eşleşmesi için kullanılır, bu da eşleşmenin yalnızca EnvValue değeri ortam değişkeninin değeriyle tamamen aynı olduğunda başarılı olduğu anlamına gelir. Değer ^ ile başlar ve $ ile biterse düzenli ifade olarak kabul edilir. Örneğin, EnvKey değerini NGINX_SERVICE_PORT ve EnvValue değerini ^(80|6379)$ olarak ayarlarsanız bu yapılandırma hizmet bağlantı noktası 80 veya 6379 olan konteynerlerle eşleşir.

Birden fazla engelleme listesi girişi mantıksal VEYA ilişkisine sahiptir. Bir konteynerin ortam değişkenleri belirtilen anahtar-değer çiftlerinden herhangi biriyle eşleşirse konteyner hariç tutulur.

Kubernetes Pod Label Whitelist

Bir Kubernetes etiketi izin listesi kullanarak günlüklerin hangi konteynerlerden toplanacağını belirtir. Bir Kubernetes etiketi izin listesi ayarlamak için LabelKey gereklidir ve LabelValue isteğe bağlıdır.

  • LabelValue boşsa LabelKey Kubernetes etiketine sahip tüm konteynerler eşleşir.

  • LabelValue boş değilse yalnızca Kubernetes etiketi LabelKey=LabelValue ile aynı olan konteynerler eşleşir.

    Varsayılan olarak LabelValue dize eşleşmesi kullanır, bu da eşleşmenin yalnızca LabelValue Kubernetes etiketinin değeriyle tamamen aynı olduğunda gerçekleştiği anlamına gelir. Değer ^ ile başlar ve $ ile biterse düzenli ifade olarak kabul edilir. Örneğin, LabelKey değerini app ve LabelValue değerini ^(test1|test2)$ olarak ayarlamak app:test1 veya app:test2 Kubernetes etiketine sahip konteynerlerle eşleşir.

Birden fazla izin listesi girişi mantıksal VEYA ilişkisine sahiptir. Bir konteynerin Kubernetes etiketi izin listesi girişlerinden herhangi biriyle eşleşirse konteyner eşleşir.

Not
  • Deployment gibi bir Kubernetes kaynak denetleyicisindeki bir etiketi çalışma zamanında değiştirirseniz çalışan Pod yeniden başlatılmaz. Bu nedenle Pod değişikliği algılayamaz ve bu durum eşleşme kurallarının başarısız olmasına neden olabilir. Kubernetes etiketi izin listesini ve engelleme listesini yapılandırırken Pod'lardaki Kubernetes etiketlerini kullanın. Kubernetes etiketleri hakkında daha fazla bilgi için bakınız Etiketler ve Seçiciler.

Kubernetes Pod Label Blacklist

Bir Kubernetes etiketi engelleme listesi kullanarak günlük toplamadan konteynerleri hariç tutar. Bir Kubernetes etiketi engelleme listesi ayarlamak için LabelKey gereklidir ve LabelValue isteğe bağlıdır.

  • LabelValue boşsa LabelKey Kubernetes etiketine sahip tüm konteynerler hariç tutulur.

  • LabelValue boş değilse yalnızca Kubernetes etiketi LabelKey=LabelValue ile aynı olan konteynerler hariç tutulur.

    Varsayılan olarak LabelValue tam dize eşleşmesi yapar. Eşleşme yalnızca LabelValue Kubernetes etiketinin değeriyle tamamen aynı olduğunda bulunur. Değer ^ ile başlar ve $ ile biterse düzenli ifade olarak kabul edilir. Örneğin, LabelKey değerini app ve LabelValue değerini ^(test1|test2)$ olarak ayarlarsanız bu app:test1 veya app:test2 Kubernetes etiketlerine sahip konteynerlerle eşleşir.

Birden fazla engelleme listesi girişi mantıksal VEYA ilişkisine sahiptir. Bir konteynerin Kubernetes etiketi engelleme listesi girişlerinden herhangi biriyle eşleşirse konteyner hariç tutulur.

Not
  • Deployment gibi bir Kubernetes kaynak denetleyicisindeki bir etiketi çalışma zamanında değiştirirseniz çalışan Pod yeniden başlatılmaz. Bu nedenle Pod değişikliği algılayamaz ve bu durum eşleşme kurallarının başarısız olmasına neden olabilir. Kubernetes etiketi izin listesini ve engelleme listesini yapılandırırken Pod'lardaki Kubernetes etiketlerini kullanın. Kubernetes etiketleri hakkında daha fazla bilgi için bakınız Etiketler ve Seçiciler.

Günlük etiketi zenginleştirme

Ortam değişkenlerini ve Kubernetes etiketlerini günlük etiketi olarak günlüklere ekler.

Environment Variables

Ortam değişkeni genişletme alanlarını yapılandırdıktan sonra Log Service günlüklerinize ortam değişkenleriyle ilgili alanlar ekler. Örneğin, Environment Variable Namenı VERSION ve Tag Namenı env_version olarak ayarlarsanız ve bir konteynerde VERSION=v1.0.0 ortam değişkeni varsa günlüklerinize __tag__:__env_version__: v1.0.0 alanı eklenir.

Pod Labels

Kubernetes Pod genişletme alanlarını yapılandırdıktan sonra Log Service günlüklerinize Kubernetes Pod ile ilgili alanlar ekler. Örneğin, Pod Label Namenı app ve Tag Namenı k8s_pod_app olarak ayarlarsanız app=serviceA etiketine sahip bir Pod için günlüklere __tag__:__k8s_pod_app__: serviceA alanı eklenir.

Dosya kodlaması

Günlük dosyalarının kodlama biçimini belirtir.

İlk toplama boyutu

Yapılandırma ilk kez etkili olduğunda bu parametre dosyanın sonundan ölçülen başlangıç toplama konumunu belirtir. Varsayılan değer 1024 KB'tır.

  • İlk toplama için bir dosya 1024 KB'tan küçükse toplama dosyanın başından başlar.

  • İlk toplama için bir dosya 1024 KB'tan büyükse toplama dosyanın sonundan 1024 KB uzaklıktan başlar.

First Collection Sizenu değiştirebilirsiniz. KB cinsinden belirtilen değer 0 ile 10.485.760 arasında olabilir.

Toplama engelleme listesi

Collection Blacklist anahtarını açmak toplama sırasında belirtilen dizinleri veya dosyaları yok saymak için bir engelleme listesi yapılandırmanıza olanak tanır. Dizinleri ve dosya adlarını tam eşleşmeler veya joker karakterler kullanarak belirtebilirsiniz. Desteklenen tek joker karakterler yıldız işareti (*) ve soru işaretidir (?).

Önemli
  • File Pathnda bir joker karakter kullanırsanız ancak ortaya çıkan yollardan bazılarını filtrelemek istiyorsanız engelleme listesi yapılandırmasının etkili olması için karşılık gelen tam yolları Collection Blacklistne girmeniz gerekir.

    Örneğin, File Pathnu /home/admin/app/log/.log olarak ayarlarsanız ancak /home/admin/app1 dizinindeki tüm alt dizinleri hariç tutmak istiyorsanız Directory Blacklistni seçin ve dizini /home/admin/app1/** olarak ayarlayın. Dizini /home/admin/app1* olarak ayarlarsanız engelleme listesi etkili olmaz.

  • Engelleme listesi eşleşmesi hesaplama yükü getirir. En iyi performans için 10 veya daha az engelleme listesi girişi kullanın.

  • Bir dizin yolu eğik çizgi (/) ile bitemez. Örneğin, yolu /home/admin/dir1/ olarak ayarlarsanız dizin engelleme listesi etkili olmaz.

Bir engelleme listesini dosya yoluna, dosya adına veya dizine göre yapılandırabilirsiniz.

File Path Blacklist

  • File Path Blacklistni seçin ve yolu /home/admin/private*.log olarak ayarlayarak toplama sırasında /home/admin/ dizinindeki private ile başlayan ve .log ile biten tüm dosyaları yok sayın.

  • File Path Blacklistni seçin ve yolu /home/admin/private/_inner.log olarak ayarlayarak /home/admin/ dizini altındaki private ile başlayan dizinlerdeki _inner.log ile biten dosyaları yok sayın. Örneğin, /home/admin/private/app_inner.log dosyası yok sayılır ancak /home/admin/private/app.log dosyası toplanır.

Dosya engelleme listesi

File Blacklistni seçer ve dosya adını app_inner.log olarak ayarlarsanız toplama sırasında adı app_inner.log olan tüm dosyalar yok sayılır.

Dizin engelleme listesi

  • Directory Blacklistni seçin ve dizini /home/admin/dir1 olarak ayarlayın. Bu, toplama sırasında /home/admin/dir1 dizinindeki tüm dosyaları yok sayar.

  • Directory Blacklistni seçin ve dizini /home/admin/dir* olarak ayarlayarak /home/admin/ dizini altındaki dir ile başlayan alt dizinlerdeki tüm dosyaları toplama sırasında yok sayın.

  • Directory Blacklistni seçin ve dizini /home/admin/*/dir olarak ayarlayın. Bu, /home/admin/ dizini altındaki ikinci düzey alt dizinlerden adı dir olan herhangi bir dizindeki tüm dosyaları toplama sırasında yok sayar. Örneğin, /home/admin/a/dir dizinindeki dosyalar yok sayılır ancak /home/admin/a/b/dir dizinindeki dosyalar toplanır.

Dosyanın birden çok kez toplanmasına izin ver

Varsayılan olarak bir günlük dosyası yalnızca bir Logtail yapılandırması tarafından eşlenebilir. Bir dosyadaki günlüklerin birden çok kez toplanması gerekiyorsa Allow File to Be Collected for Multiple Times anahtarını açın.

Gelişmiş parametreler

Dosya giriş eklentisi için isteğe bağlı gelişmiş parametreler. Logtail işlem hattı yapılandırması oluşturun.

İşlemci parametreleri

Parametre

Açıklama

Günlük örneği

Toplamak istediğiniz günlüğün bir örneği. Gerçek kullanım durumunuzdan bir günlük örneği kullanın. Örnek, işlem parametrelerini daha kolay yapılandırmanıza yardımcı olur. Birden fazla örnek ekleyebilirsiniz. Toplam uzunluk 1.500 karakteri aşamaz.

[2023-10-01T10:30:01,000] [INFO] java.lang.Exception: exception happened
    at TestPrintStackTrace.f(TestPrintStackTrace.java:3)
    at TestPrintStackTrace.g(TestPrintStackTrace.java:7)
    at TestPrintStackTrace.main(TestPrintStackTrace.java:16)

Çok satırlı mod

  • Çok satırlı günlük türü: Çok satırlı bir günlük, birden çok satıra yayılan bir giriştir. Her günlük girişinin başlangıcını tanımlamak için bir kural tanımlamanız gerekir.

    • Custom: Her günlük girişini tanımlamak için Regex to Match First Line kullanır.

    • Multi-line JSON: Her JSON nesnesi birden çok satıra genişletilir. Örnek:

      {
        "name": "John Doe",
        "age": 30,
        "address": {
          "city": "New York",
          "country": "USA"
        }
      }
  • Bölme hatasındaki eylem:

    Exception in thread "main" java.lang.NullPointerException
        at com.example.MyClass.methodA(MyClass.java:12)
        at com.example.MyClass.methodB(MyClass.java:34)
        at com.example.MyClass.main(MyClass.java:½0)

    Log Service önceki günlük içeriğini bölemesse:

    • Discard: Bu günlük segmentini atar.

    • Retain Single Line: Her metin satırını ayrı bir günlük girişi olarak korur ve sonuçta toplam dört günlük girişi oluşur.

İşleme modu

Processors, buna Native Processor ve Extended Processor dahildir. İşlemciler hakkında daha fazla bilgi için bakınız Yerel ve genişletilmiş işlemcileri kullanın.

Önemli

İşlemci kullanım sınırlamaları için konsol istemlerine bakın.

  • Logtail 2.0 ve sonraki sürümler:

    • Yerel işlemcileri herhangi bir şekilde birleştirebilirsiniz.

    • Yerel ve genişletilmiş işlemcileri birleştirebilirsiniz ancak tüm genişletilmiş işlemciler tüm yerel işlemcileri takip etmelidir.

  • 2.0'dan önceki Logtail sürümleri:

    • Yerel ve genişletilmiş işlemcileri birlikte kullanamazsınız.

    • Yerel işlemciler yalnızca metin günlüklerini toplamak için kullanılabilir. Yerel işlemcileri kullanırken aşağıdaki gereksinimleri karşılamanız gerekir:

      • İlk işlemci bir düzenli ifade ayrıştırma, ayırıcı tabanlı ayrıştırma, JSON ayrıştırma, Nginx desen ayrıştırma, Apache desen ayrıştırma veya IIS desen ayrıştırma işlemcisi olmalıdır.

      • İlk ayrıştırma işlemcisinden sonra en fazla bir zaman ayrıştırma işlemcisi, bir filtreleme işlemcisi ve birden fazla veri maskeleme işlemcisi ekleyebilirsiniz.

    • Retain Original Field if Parsing Fails ve Retain Original Field if Parsing Succeeds parametreleri için yalnızca aşağıdaki kombinasyonlar geçerlidir.

      • Yalnızca başarıyla ayrıştırılan günlükleri yükle:

        image

      • Başarı durumunda ayrıştırılan günlükleri, başarısızlık durumunda ham günlükleri yükle:

        image

      • Başarı durumunda ayrıştırılan günlükleri yükle ve ham günlük alanını ekle. Başarısızlık durumunda ham günlükleri yükle.

        Örneğin, orijinal günlük "content": "{"request_method":"GET", "request_time":"200"}" başarıyla ayrıştırılırsa orijinal alanı eklemek ayrıştırılan günlüğe yeni bir alan ekler. Alan adı yeniden adlandırılmış orijinal alandır (boş bırakılırsa ad varsayılan olarak orijinal alan adı olur) ve alan değeri orijinal günlük {"request_method":"GET", "request_time":"200"} olur.

        image

Bölgeler

  1. Simple Log Service konsoluna giriş yapın. Proje listesinde hedef projeyi tıklayın.

  2. Proje adına gitmek için proje adının yanındaki image simgesini tıklayın.

  3. Temel Bilgiler bölümünde mevcut projenin bölge adını görüntüleyin. Aşağıdaki tablo bölge adlarını karşılık gelen Bölge Kimlikleriyle eşler.

    Bölge, bir cloud hizmeti için fiziksel veri merkezinin coğrafi konumudur . Bölge Kimliği benzersiz tanımlayıcısıdır.


    Bölge adı


    Bölge Kimliği


    Çin (Qingdao)


    cn-qingdao


    Çin (Pekin)


    cn-beijing


    Çin (Zhangjiakou)


    cn-zhangjiakou


    Çin (Hohhot)


    cn-huhehaote


    Çin (Ulanqab)


    cn-wulanchabu


    Çin (Hangzhou)


    cn-hangzhou


    Çin (Şanghay)


    cn-shanghai


    Çin (Nanjing - Yerel Bölge - Kullanımdan Kaldırılıyor)


    cn-nanjing


    Çin (Fuzhou - Yerel Bölge - Kullanımdan Kaldırılıyor)


    cn-fuzhou


    Çin (Shenzhen)


    cn-shenzhen


    Çin (Heyuan)


    cn-heyuan


    Çin (Guangzhou)


    cn-guangzhou


    Filipinler (Manila)


    ap-southeast-6


    Güney Kore (Seul)


    ap-northeast-2


    Malezya (Kuala Lumpur)


    ap-southeast-3


    Japonya (Tokyo)


    ap-northeast-1


    Tayland (Bangkok)


    ap-southeast-7


    Çin (Chengdu)


    cn-chengdu


    Singapur


    ap-southeast-1


    Endonezya (Cakarta)


    ap-southeast-5


    Çin (Hong Kong)


    cn-hongkong


    Almanya (Frankfurt)


    eu-central-1


    ABD (Virginia)


    us-east-1


    ABD (Silikon Vadisi)


    us-west-1


    Birleşik Krallık (Londra)


    eu-west-1


    Birleşik Arap Emirlikleri (Dubai)


    me-east-1


    Suudi Arabistan (Riyad)


    me-central-1


Ağ türü


Alan adı türü


Açıklama


Scenario


Alibaba Cloud iç ağı


Özel alan adı


Alibaba Cloud iç ağı gigabit paylaşımlı bir ağdır. Günlük verilerini Alibaba Cloud iç ağı üzerinden aktarmak İnternet üzerinden aktarmaktan daha hızlı ve kararlıdır. İç ağ VPC'leri ve klasik ağı içerir.


ECS örneği ve Simple Log Service projesi aynı bölgededir veya sunucu Express Connect aracılığıyla bir VPC'ye bağlanır. Simple Log Service projesini ECS örneğini barındıran bölgede oluşturmanızı ve günlükleri İnternet bant genişliği tüketmeyen Alibaba Cloud iç ağı üzerinden ECS örneğinden toplamanızı öneririz.


İnternet


Genel alan adı


Günlük verilerini İnternet üzerinden aktarmak ağ bant genişliği ile sınırlıdır. Ağ titreşimi, gecikme süresi ve paket kaybı da veri toplamanın hızını ve kararlılığını etkileyebilir.


Aşağıdaki iki durumda verileri İnternet üzerinden aktarabilirsiniz: ECS örneği ve Simple Log Service projesi farklı bölgelerdedir veya sunucu başka bir cloud sağlayıcıya ya da kendi yönetiminizdeki bir veri merkezine aittir.


Hızlandırma aktarımı


Hızlandırma aktarımı alan adı


Bu yöntem Alibaba Cloud CDN kenar düğümleriyle günlük toplamayı hızlandırır. Ağ gecikme süresi ve kararlılığı açısından İnternet tabanlı toplamaya göre önemli avantajlar sunar ancak trafik ayrı olarak faturalandırılır.


Uygulama sunucunuz ve Simple Log Service projeniz sırasıyla Çin anakarasındaki bir bölge ile Çin anakarası dışındaki bir bölgedeyse İnternet üzerinden veri aktarmak yüksek ağ gecikmesine ve kararsız iletime neden olabilir. Bu durumda hızlandırma aktarımını kullanabilirsiniz. Daha fazla bilgi için bakınız Hızlandırma aktarımı.

Sonraki adımlar