Dizinler, bir Simple Log Service Logstore üzerinde günlük sorgulama ve analiz yapmanızı sağlar. Sorgu ihtiyaçlarınıza göre tam metin veya alan dizinleri arasından seçim yapabilirsiniz.
Neden dizin gerekir?
Anahtar kelimeler ham günlüklerdeki bireysel terimlerle eşleşir. Örneğin, curl/7.74.0 girişini içeren bir günlük kaydında curl anahtar kelimesi bulunur ancak ayrıştırma yapılmadığında bu giriş tek bir birim olarak değerlendirilir ve curl ile tam olarak eşleşmez. Bu nedenle Simple Log Service bu kaydı getiremez.
Günlükleri aranabilir hale getirmek için ayırıcılar kullanarak terimlere bölmeniz gerekir. Örneğin, \n\t\r,;[]{}()&^*#@~=<>/\?:'" ayırıcılarını uygulamak curl ve 7.74.0 terimlerini üretir. Simple Log Service bu terimlerden bir dizin oluşturur. Günlükler yalnızca bir dizin oluşturulduktan sonra sorgulanabilir ve analiz edilebilir.
Simple Log Service hem tam metin dizinini hem de alan dizinini destekler. Aynı Logstore için her ikisini de yapılandırırsanız alan dizini yapılandırması öncelikli olur.
Dizin türleri
Tam metin dizini
Tam metin dizini, tüm bir günlük girdisini metin türündeki terimlere Delimiter kullanarak böler. Daha sonra anahtar kelimeye göre günlükleri sorgulayabilirsiniz. Örneğin, Chrome or Safari sorgusu Chrome veya Safari içeren günlükleri döndürür.
Delimiter Çin karakterlerini desteklemez. Çince metinleri işlemek için Include Chinese seçeneğini etkinleştirin. SLS daha sonra Çince içeriği dilbilgisine göre otomatik olarak belirteçlere ayırır.
Yalnızca tam metin dizini yapılandırırsanız tam metin arama sözdizimini kullanabilirsiniz. Sorgu sözdizimi ve işlevleri
Alan dizini
Alan dizini, günlükleri alan adına (KEY) göre böler ve her alanın içeriğini belirteçlere ayırır. Dört veri türü desteklenir: text, long, double ve JSON. Alan adı ve değere göre (Key:Value) sorgulama yapabilir veya bir SELECT ifadesi kullanabilirsiniz. Sorgu sözdizimi ve özellikleri
Belirli bir alanı SELECT ifadesiyle sorgulamak veya analiz etmek için o alana ait bir alan dizini oluşturmanız gerekir. Aynı alan için her ikisi de yapılandırıldığında alan dizini tam metin dizinine göre önceliklidir.
-
text alanları tam metin sorgularını, alana özel sorguları ve analitik ifadeleri (SELECT) destekler.
Tam metin dizini olmadan tam metin sorgusu yalnızca tüm metin türü alanlar arasında arama yapar.
Tam metin dizini etkinleştirildiğinde tam metin sorguları tüm günlüklerde arama yapar.
long ve double alanları alana özel sorguları ve analitik ifadeleri (SELECT) destekler.
Dizin oluşturma
Dizin yapılandırmaları sorgu ve analiz sonuçlarını doğrudan etkiler. Yeni dizinlerin etkili olması yaklaşık bir dakika sürer.
Dizinler yalnızca yeni alınan veriler için geçerlidir. Geçmiş verileri sorgulamak için yeniden dizinleme yapın.
-
SLS bazı rezerve alanlar için otomatik olarak dizinler oluşturur.
__topic__ve__source__için ayırıcılar boştur, bu nedenle bu alanlardaki sorgular tam eşleşme kullanmalıdır. __tag__ön eki taşıyan alanlar tam metin dizinlemeyi desteklemez. Bunları sorgulamak ve analiz etmek için metin türünde bir alan dizini oluşturun, örneğin:*| select "__tag__:__receive_time__".Bir günlük yinelenen alan adları içeriyorsa (örneğin
request_time), konsol bunlardan birinirequest_time_0olarak görüntüler. Altta yatan ad iserequest_timeolarak kalır. Dizin oluştururken, sorgularken, analiz ederken, verileri aktarırken veya dönüştürürken her zaman orijinal adı kullanın.
Konsol
API
SDK
CLI
Dizin güncelleme
Yordam
Dizini devre dışı bırakma
Bir dizini Disable ettikten sonra SLS, Logstore'un saklama süresi dolduğunda geçmiş dizin verileri için depolama alanını otomatik olarak serbest bırakır.
Yordam
Dizin yapılandırma örnekleri
Örnek 1
Günlük içeriği request_time alanını içerir. request_time>100 sorgusunu çalıştırırsınız.
Yalnızca tam metin dizini varsa arama
request_time,>(ayırıcı değildir) ve100olmak üzere üç terimi içeren günlükleri döndürür.double ve long türlerinde alan dizinleri varsa sorgu
request_timedeğeri 100'den büyük olan günlükleri döndürür.Tam metin dizini ile double ve long türlerinde alan dizinleri oluşturursanız
request_timeiçin tam metin dizini yoksayılır ve sorgurequest_timedeğeri 100'den büyük olan günlükleri döndürür.
Örnek 2
Günlük içeriği request_time alanını içerir. request_time tam metin sorgusunu çalıştırırsınız.
Yalnızca
doubleveyalongveri türünde bir alan dizini oluşturursanız ilgili günlük döndürülmez.Tüm günlük metninden
request_timeiçeren günlükleri sorgulamak için yalnızca tam metin dizini oluşturun.texttüründe alan dizini olan alanlardanrequest_timeiçeren günlükleri sorgulayın.
Örnek 3
Günlük içeriği status alanını içerir. * | SELECT status, count(*) AS PV GROUP BY status analiz ifadesini çalıştırın.
Yalnızca tam metin dizini oluşturursanız ilgili günlük döndürülmez.
statusüzerinde bir alan dizini durum kodlarını ve PV sayılarını döndürür.
Dizin trafiği
Tam metin dizini
Tüm alan adları ve değerleri index traffic hesabına dahil edilir.
Alan dizini
Index traffic hesaplaması alan data type değerine göre değişir:
text türü: Hem alan adı hem de değeri
index traffichesabına dahil edilir.-
long ve double türleri: Alan adı
index traffichesabına dahil edilmez. Her alan değeri sabit 8 bayt katkıda bulunur.Örneğin, değeri
200olanstatusalanında (long türü) bir dizin oluşturulursastatusdizesi sayılmaz.200için dizin trafiği sabit 8 bayttır. -
JSON türü: Açıkça dizine eklenmemiş alt anahtarlar dahil olmak üzere hem alan adları hem de değerleri
index traffichesabına dahil edilir. JSON alanlarının dizin trafiği nasıl hesaplanır?Dizine eklenmemiş alt anahtarlar:
index traffictext türü olarak hesaplanır.Dizine eklenmiş alt anahtarlar:
index trafficbelirtilen veri türüne (text, long veya double) göre hesaplanır.
Faturalandırma
Alınan verilere göre ödeme modundaki Logstore'lar
Dizinler depolama alanı kaplar. Akıllı katmanlı depolamayı yönetme
Yeniden dizinleme ücret oluşturmaz.
Index trafficücretleri: Alınan verilere göre ödeme modu için faturalandırılan öğeler
Özelliğe göre ödeme modundaki Logstore'lar
Dizinler depolama alanı kaplar. Akıllı katmanlı depolamayı yönetme
Dizin oluşturmak faturalandırılabilir
index trafficoluşturur. Özelliğe göre ödeme modu için faturalandırılan öğeler Dizin trafiği ücretlerini nasıl azaltabilirim?Yeniden dizinleme ücretlendirilir. Faturalandırılan öğeler ve fiyatlar dizin oluşturma ile aynıdır.