Arama söz dizimi
Loglar, Trace'ler arama çubuklarında, Metrik filtrelerinde ve alarm kuralı editöründe kullanılan tam sorgu dili. Her yerde aynı söz dizimi.
Orbtrace log, trace ve metrik filtrelerinde tek bir arama dili kullanır. Kibana / Datadog / Loki / HyperDX şeklinden esinlenmiştir — sezgisel, varsayılan tam-kelime, açık boolean'lı.
Temel
- Tam kelime
errormesajındaerrorkelimesini içeren her kaydı eşler. Büyük-küçük duyarsızdır. - Joker
error*→errors,error-handlervs.*timeout→read-timeout.*tek kelime içinde sıfır veya daha fazla karakteri eşler. - Tırnak içi
"connection refused"boşluklar dahil tam ifadeyi eşler. - Negatif
-error→errorkelimesini içermeyen kayıtlar. Alternatif:NOT error. - Boolean
error AND payment,error OR warning,error AND NOT timeout. Operatörler büyük harfle yazılır; öncelik soldan sağa, parantezle gruplama. - Gruplama
(error OR warning) AND service:checkout-api
Alan sorguları
Şekil: alan:değer. Alan adları verinizden gelir — uygulamalarınızın OTel özniteliği olarak ayarladığı her şey.
- String eşitlik
service:checkout-api. Tam kelime, büyük-küçük duyarsız. - String joker
service:checkout*— checkout ile başlayan her şey. - Varlık
user_id:*— kayıt non-nulluser_id'ye sahip. - Sayısal eşitlik
http.status_code:500 - Sayısal aralık
duration:>500,duration:>=500,duration:<1000,duration:>=500 AND duration:<1000. - Çoklu değer
level:(ERROR OR WARN)— değer listedeki bir tanesi. - Alan başına negatif
-level:DEBUGya daNOT level:DEBUG— DEBUG'ı dışla.
Zaman
Sorgunun herhangi bir yerine zaman ifadesi koyabilirsiniz, ama çoğu zaman sayfanın zaman seçicisini kullanırsınız. Sorgu içi zaman doğal dil kullanır:
in "son 24 saat"
in "dün"
in "geçen hafta"
in "2026-05-12 14:00 ile 2026-05-12 15:00 arası"Sayfanın zaman seçicisi ayarlıysa ve sorgu da zaman içeriyorsa o sorgu için sorgu kazanır.
Pillar başına özel alanlar
Bazı alanlar özeldir — Orbtrace bunları sinyaller arasında tanır.
Loglar
- levelÖnem.
level:ERROR,level:(ERROR OR FATAL),level:>=WARN(sıralı önem ölçeğinde karşılaştırma). - service
service.name.service:checkout-api. - trace_idBu log'un bağlı olduğu trace.
trace_id:7a8b9c… - bodySerbest metin mesajı.
body:"yetersiz bellek"="yetersiz bellek".
Trace'ler
- serviceKök span servisi.
service:checkout-api. - service.inTrace içinde herhangi bir span bu servise aitse.
service.in:inventory-serviceinventory'e dokunan trace'leri bulur. - operationKök operasyon.
operation:"POST /checkout". - durationTrace süresi ms.
duration:>1000. - statusTrace düzeyinde durum.
status:erroren az bir ERROR span olan trace;status:okhariç tutar. - span.XHerhangi bir span'in herhangi bir alanı.
span.http.status_code:500bir span'in 500 döndüğü trace'leri eşler.
Metrik filtreleri
Metrik kâşifi filtre çubuğunda aynı söz dizimi. Filtre kutusuna serbest sorgu da girebilirsiniz:
service.name=checkout-api AND http.route =~ "^/api/.*" AND env=prod=~ regex eşitlik.
Operatör referansı
| Operatör | Örnek | Anlam |
|---|---|---|
= (: ile örtük) | service:api | eşittir |
=~ | route =~ ^/api/.* | regex eşler |
!= | level != DEBUG | eşit değil |
> >= < <= | duration:>500 | sayısal karşılaştırma |
AND OR NOT - | error AND -timeout | boolean |
(...) | (a OR b) AND c | gruplama |
"..." | "tam ifade" | tırnak |
* | service:checkout* | kelime içi joker |
Örnekler
# checkout-api'den son 24 saatteki tüm ERROR loglar
level:ERROR AND service:checkout-api in "son 24 saat"
# Bir yerde 5xx olan yavaş checkout trace'leri
service:checkout-api AND duration:>1000 AND span.http.status_code:>=500
# DEBUG hariç "OutOfMemoryError" geçen her şey
"OutOfMemoryError" AND -level:DEBUG
# trace_id'si olan kayıtlar
trace_id:*
# Yalnız 42 ya da 99 kullanıcılar, yakında
user_id:(42 OR 99) in "son 1 saat"
# 100 ms altı + hatasız + demo emitter dışı
duration:<100 AND -status:error AND -service:demo-*Sorgu kaydetme
Arama çubuğunun sağı: Sorguyu kaydet. Kayıtlı sorgular:
- ⌘K paletinde görünür.
- Paylaşılabilir URL'leri vardır.
- "Bu sorgudan alarm oluştur" ile alarma sarılabilirler.
- Ekran başına hızlı erişim açılır listesinde olurlar.
Söz diziminin desteklemediği
- Serbest metin ilişkisel join. "Bu log'un
trace_id'si, içindeservice:db-Xolan trace'lerde de geçenler" — bunun yerine trace detayı çapraz pilon pivotlarını kullanın. - Toplama.
count by servicearama değildir; metrik sorgusudur. Metrik kâşifine gidin. - Yalın
*.*kelime içinde çalışır; tek başına "her şeyi eşle" anlamına gelmez. "Herhangi bir servis" içinservice:*kullanın — yalnızservice:geçersiz.
Sırada: Sorun giderme.