- Çalışma zamanınız için SDK paketini kurun.
- Projeye özel alım anahtarını (ingest key) kaynak kontrolünün dışında tutun.
- Kararlı hizmet, ortam ve sürüm değerleri ayarlayın.
- Uygulamadan güvenli bir test olayı gönderin.
- Gönderim sonucunu okuyun. Ardından olayı LogBrew’de bulun.
Sinyaller ve ortak bağlam
İlk beş kart sinyaldir. Sürüm ve ortam bu sinyallerin bağlamıdır. Ayrı bir olay türü değildir.log
Önem düzeyi, kaynak, zaman ve güvenli bağlam içeren yapılandırılmış bir
mesaj.
trace_span
İz ve span kimlikleriyle izine bağlanan, süresi ölçülmüş tek bir işlem.
issue
Yakalanan bir hata, önem düzeyi ve uygulamanın gönderdiği hata ayrıntıları.
action
Uygulamanızdaki bir aksiyon; isteğe bağlı özne, oturum ve güvenli
özelliklerle.
metric
Adı, türü, değeri, birimi ve zamansallığı olan tek bir sayısal ölçüm.
release ve environment
Aynı SDK kapsamındaki sonraki olaylara eklenen kod sürümü ve ortam.
Önem düzeyi değerleri
Loglar ve sorunlar içininfo, warning, error veya critical kullanın.
SDK’lar ve çalışma zamanları trace, debug, warn veya fatal gibi takma
adlar gönderebilir. LogBrew kabul edilen takma adları standart değerlere
dönüştürür.
Paket yöneticisiyle kurulum
Telemetri gönderen çalışma zamanı için SDK paketini kurun. LogBrew’ün verdiği projeye özel SDK veya veri alımı yapılandırmasını kullanın. Hesap giriş bilgilerini SDK yapılandırması olarak kullanmayın.Node.js istek izleme
İstek kökü iz ilişkisi için@logbrew/sdk 0.1.16 veya üstünü ve
@logbrew/node 0.1.11 veya üstünü kullanın.
Express için @logbrew/express 0.1.5 veya üstü gerekir. Fastify ve NestJS
için kendi LogBrew paketlerinin 0.1.6 veya üstü gerekir.
Bu entegrasyonlar bir istek span’i oluşturur veya mevcut olanı sürdürür. Span
adı, eşleşen rota şablonunu kullanır. İstek içindeki loglar, sorunlar,
aksiyonlar ve metrikler isteğin iz ve span bağlamını devralır. Daha yeni bir
paket, yükseltmeden önce gönderilen olaylara bağlam eklemez.
Varsayılan istek entegrasyonu istek veya yanıt gövdelerini, sorgu dizelerini,
rastgele başlıkları veya ham traceparent değerlerini yakalamaz.
ASP.NET Core
CLI v0.1.55 veya üstü,Microsoft.NET.Sdk.Web kullanan .NET 10 projelerini
algılar. Kurulum planını proje kökünden önizleyin. Bu komut dosyalarınızı
değiştirmez:
LOGBREW_SERVER_API_KEY, LOGBREW_SERVICE_NAME, LOGBREW_ENVIRONMENT ve
LOGBREW_RELEASE değerlerini kaynak kontrolünün dışında ayarlayın. LogBrew’ü
host’a kaydedin ve ara yazılımını yönlendirmeden sonra yerleştirin:
LOGBREW_SERVER_API_KEY yoksa iki kayıt çağrısı da güvenli şekilde hiçbir şey
yapmaz. ASP.NET Core NuGet paketi,
yayımlanan host entegrasyonunu tanımlar. Herkese açık paket rehberi; host
yaşam döngüsünü, istek yakalamayı, sorun yakalamayı, gizlilik sınırlarını ve
kurtarmayı anlatır.
Maven veya Gradle ile Java
CLI v0.1.54 veya üstüpom.xml, build.gradle ve build.gradle.kts
dosyalarını algılar. Kurulum planını proje kökünden önizleyin. Bu komut
dosyalarınızı değiştirmez:
LogBrewClient bean’i sunabilir. Bu bean isteğe bağlı istek, istisna, HTTP
istemcisi, JDBC ve önbellek entegrasyonlarını etkinleştirir.
Spring Kafka yakalama yalnızca logbrew.kafka.enabled=true ile açıkça
etkinleştirildiğinde çalışır. Uygulamanın mevcut Spring Kafka bağımlılığını ve
istemci bean’ini kullanır.
Maven Central’daki Java SDK paketi
yayımlanan paketi tanımlar. Herkese açık rehberi; sınırlı HTTP gönderimini,
kapatmayı, loglamayı, Spring yapılandırmasını, Kafka ilişkisini ve gizlilik
sınırlarını anlatır.
CMake ile C++
C++ SDK’sı için C++17 ve CMake 3.16 veya üstü gerekir. CLI v0.1.39 veya üstü, köktekiCMakeLists.txt dosyasını algılar. Dosyalarınızı değiştirmeden bu
kurulum planını önizlemek için logbrew setup --json komutunu çalıştırın:
FetchContent_MakeAvailable
çağrısını ve hedef bağlantısını şununla değiştirin:
logbrew-cpp-0.2.3.tar.gz dosyasını kullanın. Açılan paket cmake --install
ve find_package(LogBrew 0.2.3 CONFIG REQUIRED) destekler. Paket rehberi;
tipli bağlamı, sorun kanıtını, span olaylarını, metrikleri, aksiyonları ve HTTP
gönderimini anlatır.
JavaScript source map’leri
Vite derlemeleri için JavaScript source map’leri sayfasını izleyin. Sayfa eklentiyi, derleme dosyası anahtarını, yükleme kontrollerini ve orijinal kaynak konumlarını gösteren yeni bir sorunu anlatır.Apple, Flask ve React Native
Telemetri içinLogBrew Swift ürününü kullanın. LogBrewCrash ürününü
yalnızca Apple çökme veya donma yakalama için ekleyin. dSYM yükleme ve
barındırılan sembolleştirme için
Apple çökmelerini ve donmalarını yakalayın
sayfasını izleyin.
Flask için Flask’ı kurun sayfasını izleyin.
React Native ve Expo için React Native sayfasını
izleyin. Sayfa proje anahtarını, güvenli bir test logunu, gönderim hatalarını
ve production source map’leri için Expo Metro yapılandırmasını anlatır.
JavaScript kuyruk izleme
Node kuyruk entegrasyonları ayrı npm paketleridir. Temel LogBrew JavaScript paketlerini, entegrasyon paketini ve uygulamanızın zaten kullandığı kuyruk veya broker istemcisini kurun.
Bu paketleri, seçtiğiniz kuyruk çağrıları etrafında uygulamanın açıkça
yönettiği iz ilişkisi için kullanın. LogBrew broker bağlantınızı yönetmez,
kuyruk oluşturmaz ve varsayılan olarak tüm istemcileri genel olarak
değiştirmez.
Doğrudan yerel zarf
POST /api/telemetry/ingest uç noktasını yalnızca hiçbir herkese açık LogBrew
SDK’sının desteklemediği özel bir istemci için kullanın. Herkese açık SDK’lar
kendi toplu gönderim biçimlerini kullanır. Bu uç nokta o biçimi kabul etmez.
Tek bir yerel zarfta 1 ile 512 arasında öğe gönderin. Bir zarftaki tüm öğeler
projeyi, hizmeti, sürümü, ortamı ve isteğe bağlı iz bağlamını paylaşır.
Öğe alanları
Her öğenin birtype alanı ve bir data nesnesi vardır. Log öğesi level
kullanır. Sorun öğesi severity kullanır. İkisi de
Önem düzeyi değerleri bölümündeki
değerleri kabul eder.
İstemciniz yeniden deneyebiliyorsa her öğeyle bir
id gönderin. Yeniden deneme,
kabul edilmiş bir öğeyi aynı id ve içerikle tekrar gönderirse LogBrew onu
yeniden saklamaz. Yanıt bu öğeyi already_accepted içinde sayar.
Örnek istek
Aşağıdaki JSON’utelemetry-envelope.json olarak kaydedin. Örnek proje
kimliğini alım anahtarınızın tam proje kimliğiyle değiştirin. Zaman
damgalarını test olayının şu anki UTC zamanına ayarlayın. Kendi hizmet ve
sürüm değerlerinizi kullanın.
telemetry-envelope.json
LOGBREW_INGEST_BEARER değişkenine aktarın. Bu değeri yazdırmayın ve hesap
kimlik bilgisi kullanmayın. Aşağıdaki komut dosyayı bir kez gönderir. curl
7.76.0 veya üstü gerekir:
--fail-with-body, hata gövdesini korur ve
HTTP hatalarında sıfır olmayan bir çıkış durumu döndürür. Ağ hatası veya zaman
aşımı, LogBrew’ün isteği kabul edip etmediğini söylemez. Aynı dosyayı yalnızca
öğelerinde id değerleri varsa yeniden gönderin. id değerleri olmadan ikinci
gönderim öğeleri iki kez saklayabilir.
Yanıt
Başarılı bir istek, yeni öğelerin akışa göre sayılarıyla birlikte200
döndürür. already_accepted, önceki bir isteğin zaten gönderdiği öğeleri
sayar.
Hatalar
Geçersiz veya iptal edilmiş bir alım anahtarı401 döndürür. Başka bir
projenin anahtarı da 401 döndürür:
validation_failed koduyla 422 döndürür.
error alanı kuralı adlandırır. next alanı isteği nasıl düzelteceğinizi
söyler. Örneğin "items": [] şunu döndürür:
native telemetry envelope exceeds the item limit hatasıyla 422 döndürür.
Zarfı en fazla 512 öğelik toplu gönderimlere bölün. Her toplu gönderimde projeyi ve ortak bağlamı
koruyun.
Kullanım sınırları, hız sınırları ve hizmet hataları için
API hataları sayfasında döndürülen code değerini
izleyin.
