Yapılandırılmış Günlükleme ve Dağıtık İzleme
CI/CD pipeline'ınızda hizmetler arasındaki hataları ayıklayabilmek için yapılandırılmış günlükler, ilişkilendirme ID'leri ve dağıtık izleme ile dağıtımlarınızı gözlemlenebilir hâle getirin.
Yapılandırılmış Günlükleme ve Dağıtık İzleme, CoddyKit'te ücretsiz bir CI/CD with GitHub Actions & DevOps Pipelines dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, CI/CD with GitHub Actions & DevOps Pipelines öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. CI/CD with GitHub Actions & DevOps Pipelines kursu toplamda 4 dersten oluşur.
Gözlemlenebilirliğin Üç Sütunu
Gözlemlenebilirlik üç sütuna dayanır: ölçümler, günlükler ve izler.
- Ölçümler, bir şeylerin yanlış olduğunu bildirir
- Günlükler, ne olduğunu bildirir
- İzler, bunun bir istek akışında nerede gerçekleştiğini bildirir
İşlem hattı izleme genellikle ölçümlerle başlar; bu derste günlükler ve izler daha ayrıntılı ele alınır.
Yapılandırılmış Günlük Kaydı Neden Önemlidir
Düz metin günlük satırında sorgulama yapmak zordur. Yapılandırılmış günlük kaydı, genellikle JSON biçiminde, adlandırılmış alanlara sahip ve makineler tarafından okunabilen bir kayıttır.
Yapılandırılmış günlükler Loki, Elasticsearch veya Datadog gibi araçlarla filtrelenebilir, birleştirilebilir ve bunlar için uyarı üretilebilir.
Düz ve Yapılandırılmış Günlük Kaydı
Yapılandırılmamış bir satırı yapılandırılmış bir satırla karşılaştırın. Yapılandırılmış sürüm, status=500 değerini doğrudan sorgulamanızı sağlar.
// Unstructured
Deploy failed for service api at 12:01
// Structured (JSON)
{"level":"error","event":"deploy_failed","service":"api","status":500}JSON Günlükleri Üretme
Çoğu programlama dilinde yapılandırılmış bir günlük kaydedici bulunur. Temel fikir, birleştirilmiş bir dizeyi değil, bir nesneyi günlüğe kaydetmektir.
const log = (level, event, fields) =>
console.log(JSON.stringify({ level, event, ...fields }));
log('info', 'deploy_started', { service: 'api', version: '1.4.2' });İlişkilendirme ID'leri
Tek bir dağıtım birçok adıma ve hizmete dokunur. İlişkilendirme ID'si (veya iz kimliği), tek bir mantıksal işlem için her günlük satırına eklenen benzersiz bir değerdir.
Bu ID'ye göre arama yapmak, bileşenler arasındaki tüm süreci yeniden oluşturur.
- name: Set correlation id
run: echo "TRACE_ID=$(uuidgen)" >> $GITHUB_ENVGünlük Düzeyleri
Ayrıntı düzeyini ve uyarıları ayarlayabilmek için tutarlı günlük düzeyleri kullanın:
debug— ayrıntılı tanılama bilgileriinfo— normal olaylarwarn— kurtarılabilir sorunlarerror— ilgilenilmesi gereken hatalar
error düzeyinde uyarı üretin, info düzeyindeki kayıtları örnekleyin ve üretimde debug düzeyini kapalı tutun.
Dağıtık İzleme Nedir
Dağıtık izleme, bir isteği birden çok hizmetten geçerken takip eder. Her adım bir span'dir; span'ler birleşerek bir iz oluşturur.
Bir iz, zaman çizelgesini ve hangi span'in yavaşladığını veya hata verdiğini gösterir; bu, mikro hizmet dağıtımlarında son derece değerlidir.
OpenTelemetry
OpenTelemetry (OTel), izler, ölçümler ve günlükler oluşturmak için sağlayıcıdan bağımsız bir standarttır.
Uygulamanızı OTel SDK'sı ile araçlandırın ve Jaeger, Tempo veya bir bulut APM'si gibi bir arka uca aktarın.
import { trace } from '@opentelemetry/api';
const tracer = trace.getTracer('deploy-service');
const span = tracer.startSpan('deploy');
// ... do work
span.end();İşlem Hattının Kendisini İzleme
Yalnızca uygulamanızı değil, işlem hattını da izleyebilirsiniz. Araçlar, her iş ve adım için bir span üretir; böylece CI/CD'nin hangi aşamasının darboğaz olduğunu görebilirsiniz.
Bu, uzun bir iş akışını zamanın nerede harcandığını gösteren görsel bir akışa dönüştürür.
Merkezi Toplama
Her iş ve hizmetteki günlükleri ve izleri bir merkezi platforma gönderin. CI çalıştırıcıları geçicidir; bu nedenle çalıştırıcıda bırakılan günlükler çalıştırma sonlandıktan sonra kaybolur.
Çalıştırıcı ortadan kalktıktan sonra da olay sonrası inceleme yapılabilmesi için günlükleri çalıştırma sırasında bir günlük toplama hedefine aktarın.
Sinyalden Eyleme
Gözlemlenebilirlik, eyleme yön vermiyorsa yalnızca işe yarar. Hata oranlarını ve yavaş izleri görünür kılan panolar oluşturun ve kritik örüntüleri daha önce yapılandırdığınız uyarılara bağlayın.
Amaç, tek bir uyarıdan doğrudan bu uyarıyı açıklayan ize ve yapılandırılmış günlük satırına geçebilmektir.
Hızlı Kontrol
Günlükler ve izler konusundaki anlayışınızı sınayın.
Özet
Günlükler ve izlerle gözlemlenebilirlik anlayışınızı derinleştirdiniz.
- Tutarlı düzeylere sahip yapılandırılmış (JSON) günlükler üretin
- Tek bir işlemi takip etmek için ilişkilendirme ID'leri ekleyin
- Yavaş veya başarısız span'leri bulmak için dağıtık izleme ve OpenTelemetry kullanın
- Geçici çalıştırıcılar ortadan kaybolmadan önce her şeyi merkezi olarak toplayın
Bu yaklaşım, tam işlem hattı gözlemlenebilirliği için ölçümleri ve uyarıları tamamlar.
Sıkça Sorulan Sorular
“Yapılandırılmış Günlükleme ve Dağıtık İzleme” dersi ücretsiz mi?
Evet — “Yapılandırılmış Günlükleme ve Dağıtık İzleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve CI/CD with GitHub Actions & DevOps Pipelines kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. CI/CD with GitHub Actions & DevOps Pipelines kursu toplamda 4 dersten oluşur.
“Yapılandırılmış Günlükleme ve Dağıtık İzleme” dersinde ne öğreneceğim?
CI/CD pipeline'ınızda hizmetler arasındaki hataları ayıklayabilmek için yapılandırılmış günlükler, ilişkilendirme ID'leri ve dağıtık izleme ile dağıtımlarınızı gözlemlenebilir hâle getirin. CI/CD with GitHub Actions & DevOps Pipelines ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
CI/CD with GitHub Actions & DevOps Pipelines öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te CI/CD with GitHub Actions & DevOps Pipelines, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Yapılandırılmış Günlükleme ve Dağıtık İzleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu CI/CD with GitHub Actions & DevOps Pipelines dersinde kod yazıp çalıştırabilir miyim?
Evet. Her CI/CD with GitHub Actions & DevOps Pipelines dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İşlem Hattı İzleme Stratejileri
- Harici Hizmetlerle Entegrasyon
- Bildirim ve Uyarı Kurulumu
- Yapılandırılmış Günlükleme ve Dağıtık İzleme