Olay yapılandırma özelliğini kullanarak Simple Log Service'te uygulama günlüklerini izleme kimlikleriyle (trace ID) ilişkilendirebilirsiniz. Bir hata oluştuğunda, uygulama günlüklerinizde yazılan izleme kimliğini kullanarak ilgili izlemeyi hızla bulabilir ve sorunu giderebilirsiniz.
Önkoşullar
Uygulama Managed Service for OpenTelemetry hizmetine bağlıdır. Daha fazla bilgi için bkz. Hizmetleri veya bileşenleri entegre etme.
Uygulama günlükleri Simple Log Service'e aktarılmış ve günlüklere izleme kimlikleri (trace ID) veya span kimlikleri (span ID) yazılmıştır. Daha fazla bilgi için bkz. LoongCollector kullanarak ECS metin günlüklerini toplama ve analiz etme ve Logger MDC otomatik enstrümantasyonu.
trans-idgibi özel iş alanları, uygulama katmanı tarafından bir SDK veya günlük kaydı çerçevesi aracılığıyla günlüklere yazılmalıdır. Simple Log Service bu tür alanları otomatik olarak oluşturmaz. Özel bir alanı bağımsız bir alan olarak kullanmak için Logtail işlemcisini regex modunda kullanarak bu alanı günlük içeriğinden ayıklayın. Özel alanlar yalnızcamessagealanına yerleştirilebilir.threadgibi sistem alanları değiştirilemez.
Adım 1: İzleme kimliğini ayıklama
İzleme kimliği günlüklerde ayrı bir alanda depolanıyorsa bu adımı atlayın.
İzleme kimliği içerik alanı gibi bir alan içinde yer alıyorsa, bunu ayıklayıp ayrı bir alanda görüntüleyin.
Simple Log Service konsoluna giriş yapın.
Uygulama günlüklerinin depolandığı proje ve Logstore'u seçin.
-
Logtail işlemcisini kullanarak izleme kimliğini regex modunda günlüklerden ayıklayın ve ayrı bir alanda görüntüleyin.
Sol taraftaki Logstore bölmesinde seçeneğini belirleyin. Logtail Yapılandırması sayfasında yönetmek istediğiniz Logtail yapılandırmasını bulun ve İşlemler sütunundaki Manage Logtail Configuration öğesine tıklayın.
-
Düzenlemeye başlamak için Edit seçeneğine tıklayın. Yapılandırma Ayrıntıları sekmesindeki Processor Configurations bölümünde İşlemci Ekle'ye tıklayın ve İşlemci Türü açılır listesinden Extract Field (Regex Mode) seçeneğini belirleyin.
Bu örnekte, izleme kimliği veya span kimliği içerik alanında yer almaktadır. Bir günlük girdisinin içerik alanına ilişkin aşağıdaki örnek verilmiştir:
2024-05-06 12:12:49.685 [http-nio-9190-exec-3] DEBUG io.lettuce.core.protocol.DefaultEndpoint - traceId:ea1a00002d17150191696858089d0007 - [channel=0x5d069239, /10.0.0.45:49614 -> redis/192.168.216.80:6379, epid=0x1] write() doneBasic Configuration bölümünde Original Field parametresini content olarak ayarlayın, Regular Expression parametresini
traceId:([a-zA-Z0-9]+)olarak belirtin ve izleme kimliğini veya span kimliğini New Field Name alanına ekleyin. Daha fazla bilgi için bkz. Veri ayrıştırma eklentileri.Yapılandırma tamamlandıktan sonra, ayıklanan günlük girdisi aşağıdaki gibi görünür.
__tag__:_cluster_id_: xxx __tag__:_node_ip_: xxx.xxx.xxx.7 __tag__:_node_name_: cn-hangzhou.xxx.xxx.7 _container_ip_: xxx.xxx.xxx 40 _container_name_: adservice _image_name_: ghcr.io/open-telemetry/demo:1.4.0-adservice _namespace_: otel-demo _pod_name_: opentelemetry-demo-adservice-xxx _pod_uid_: xxx _source_: stdout _time_: 2024-05-07T10:36:48.078285414+08:00 content: 2024-05-07 02:36:48 - oteldemo.AdService - Targeted ad request received for [accessories] trace_id=xxx span_id=xxx trace_flags=01 span_id: xxx traceId: xxx
Adım 2: Olay yapılandırma
Bir günlükte izleme kimliğine veya span kimliğine tıklayın ve ardından Go to configuration seçeneğine tıklayın.
-
Advanced Event Settings iletişim kutusunda traceId veya spanId alanı için bir olay ekleyin ve OK seçeneğine tıklayın. Aşağıdaki parametreler kullanılabilir.
Configuration Name:
Start Trace Analysisgibi özel bir ad girin.Event Action: Create Custom HTTP URL seçeneğini belirleyin.
Protocol: Custom seçeneğini belirleyin ve giriş kutusuna
httpsyazın.-
Enter a URL:
-
İzlemeleri izleme kimliğine göre filtrelemek için URL'yi
trace.console.alibabacloud.com/#/${regionId}/tracing-explorer?source=XTRACE&filters=traceId="${traceId}"biçiminde belirtin.${regionId}ifadesini, uygulamanızın Managed Service for OpenTelemetry hizmetine bağlandığı bölgenin kimliğiyle değiştirin.Örneğin, uygulamanız Çin (Hangzhou) bölgesinde Managed Service for OpenTelemetry hizmetine bağlıysa
${regionId}ifadesinicn-hangzhouile değiştirin. Tam URL şu şekildedir:trace.console.alibabacloud.com/#/cn-hangzhou/tracing-explorer?source=XTRACE&filters=traceId="${traceId}". İzlemeleri span kimliğine göre filtrelemek için span kimliğini ayrı bir alana ayıklayın ve URL'deki
${traceId}ifadesini${spanId}ile değiştirin. İzlemeleri hem izleme kimliğine hem de span kimliğine göre filtrelemek için aşağıdaki URL'yi kullanın:trace.console.alibabacloud.com/#/cn-hangzhou/tracing-explorer?source=XTRACE&filters=traceId="${traceId}" AND spanId="${spanId}".-
İzlemeleri Attributes ve Resources gibi özel niteliklere göre filtrelemek için URL'yi aşağıdaki biçimde belirtin:
trace.console.alibabacloud.com/#/cn-hangzhou/tracing-explorer?source=XTRACE&filters=${Name of the custom attribute in traces}="${Name of the field in logs}".Örneğin, izlemeleri ad alanına (namespace) göre filtrelemek istiyorsanız, günlüklerde
namespacealanı bulunur ve izlemelere k8s.namespace.name niteliği eklenirse tam URL şu şekilde olur:trace.console.alibabacloud.com/#/cn-hangzhou/tracing-explorer?source=XTRACE&filters=resources.k8s.namespace.name="${namespace}".
-
-
Günlükte izleme kimliğine veya span kimliğine tekrar tıklayın ve Managed Service for OpenTelemetry hizmetinin Trace Explorer sayfasına gitmek için Start Trace Analysis seçeneğine tıklayın.
Trace Explorer sayfasında izlemeyi izleme kimliğine göre sorgulayın. Daha fazla bilgi için bkz. Trace Explorer.
Trace Explorer sayfasında, soldaki filtre panelini kullanarak izlemeleri duruma, gecikme süresine, uygulama adına, API adına ve ana bilgisayar adresine göre filtreleyebilirsiniz. Sağ üstteki alanda çağrı sayıları, HTTP hataları ve gecikme yüzdelikleri gibi istatistik grafikleri görüntülenir. Aşağıdaki tabloda TraceId, API adı, uygulama adı, gecikme süresi, durum, başlangıç zamanı ve ana bilgisayar adresi gibi ayrıntılarla birlikte her bir izleme kaydı listelenir.