Azure İzleyici Aracısı ile bir metin dosyasından günlükleri toplama
Özel Metin Günlükleri , veri toplama kuralında (DCR) kullanılan veri kaynaklarından biridir. DCR'nin oluşturulmasıyla ilgili ayrıntılar Azure İzleyici Aracısı ile veri toplama bölümünde verilmiştir. Bu makalede, metin günlükleri türü için ek ayrıntılar sağlanır.
Birçok uygulama ve hizmet, Windows Olay günlüğü veya Syslog gibi standart günlük hizmetleri yerine metin dosyalarına bilgi kaydeder. Bu veriler Azure İzleyici Aracısı ile toplanabilir ve diğer kaynaklardan toplanan verilerle bir Log Analytics çalışma alanında depolanabilir.
Önkoşullar
- En az katkıda bulunan haklarına sahip olduğunuz Log Analytics çalışma alanı.
- Log Analytics çalışma alanıyla aynı bölgede bulunan bir veri toplama uç noktası (DCE). Ayrıntılar için bkz . Dağıtımınıza göre veri toplama uç noktalarını ayarlama.
- Azure İzleyici Aracısı ile veri toplama bölümünde açıklanan yeni veya mevcut bir DCR.
Temel işlem
Aşağıdaki diyagramda, bir metin dosyasından günlük verilerini toplama işleminin temel işlemi gösterilmektedir.
- Aracı, yerel diskte belirtilen ad deseni ile eşleşen tüm günlük dosyalarını izler.
- Günlükteki her girdi toplanır ve Azure İzleyici'ye gönderilir. Gelen akış, günlük girdisinin tamamını tek bir sütunda içerir.
- Varsayılan dönüştürme kullanılırsa, günlük girdisinin tamamı hedef tablodaki tek bir sütuna gönderilir.
- Özel dönüştürme kullanılırsa, günlük girişi hedef tabloda birden çok sütuna ayrıştırılabilir.
Metin dosyası gereksinimleri ve en iyi yöntemler
Azure İzleyici Aracısı'nın izlediği dosya aşağıdaki gereksinimleri karşılamalıdır:
- Dosyanın, izlenmekte olan dizinde Azure İzleyici Aracısı ile makinenin yerel sürücüsünde depolanması gerekir.
- Her kaydın bir satır sonu ile çizgili olması gerekir.
- Dosya ASCII veya UTF-8 kodlaması kullanmalıdır. UTF-16 gibi diğer biçimler desteklenmez.
- Yeni kayıtlar dosyanın sonuna eklenmelidir ve eski kayıtların üzerine yazılmamalıdır. Üzerine yazma veri kaybına neden olur.
Veri kaybı veya performans sorunları yaşamadığınızdan emin olmak için aşağıdaki önerilere uyun:
- Eski dosyaları kolayca temizleyebilmeniz için her gün yeni bir günlük dosyası oluşturun.
- İzlenen dizindeki günlük dosyalarını sürekli olarak temizleyin. Birçok günlük dosyasını izlemek aracı CPU ve Bellek kullanımını hızlandırabilir. Tüm günlüklerin işlenmesi için en az 2 gün bekleyin.
- Dosya tarama düzeniyle eşleşen bir dosyayı, aynı zamanda dosya tarama düzeniyle eşleşen başka bir adla yeniden adlandırmayın. Bu, yinelenen verilerin alınmasına neden olur.
- Dosya tarama düzeniyle eşleşen büyük günlük dosyalarını izlenen dizine yeniden adlandırmayın veya kopyalamayın. Gerekirse dakikada 50 MB'ı geçmeyin.
Gelen akış
Not
Sınırlandırılmış olaylar için zaman damgası kullanan çok satırlı destek artık kullanılabilir. Portal kullanıcı arabirimine destek eklenene kadar bir kaynak yönetimi şablonu dağıtımı kullanmanız gerekir.
Gelen veri akışı aşağıdaki tabloda yer alan sütunları içerir.
Sütun | Türü | Açıklama |
---|---|---|
TimeGenerated |
datetime | Kaydın oluşturulduğu saat. Bu değer, kaydın Log Analytics çalışma alanına eklenme zamanıyla otomatik olarak doldurulur. Başka bir değere ayarlamak TimeGenerated için bir dönüştürme kullanarak bu değeri geçersiz kılabilirsiniz. |
RawData |
Dize | Tek bir sütundaki günlük girdisinin tamamı. Tabloya göndermeden önce bu verileri birden çok sütuna bölmek istiyorsanız bir dönüştürme kullanabilirsiniz. |
FilePath |
Dize | Bu sütunu DCR'deki gelen akışa eklerseniz, günlük dosyasının yolu ile doldurulur. Bu sütun otomatik olarak oluşturulmaz ve portal kullanılarak eklenemez. Portal tarafından oluşturulan DCR'yi el ile değiştirmeniz veya gelen akışı açıkça tanımlayabileceğiniz başka bir yöntem kullanarak DCR'yi oluşturmanız gerekir. |
Computer |
Dize | Bu sütunu DCR'deki gelen akışa eklerseniz, günlük dosyasıyla bilgisayarın adıyla doldurulur. Bu sütun otomatik olarak oluşturulmaz ve portal kullanılarak eklenemez. Portal tarafından oluşturulan DCR'yi el ile değiştirmeniz veya gelen akışı açıkça tanımlayabileceğiniz başka bir yöntem kullanarak DCR'yi oluşturmanız gerekir. |
Özel tablo
Bir metin dosyasından günlük verilerini toplamadan önce, verileri almak için Log Analytics çalışma alanınızda özel bir tablo oluşturmanız gerekir. Tablo şeması, topladığınız veriyle eşleşmeli veya çıkış şemasının tabloyla eşleştiğinden emin olmak için bir dönüştürme eklemeniz gerekir.
Uyarı
Veri kaybını önlemek için, MMA aracılarının şu anda kullandığı mevcut bir özel günlük tablosunu kullanmamak önemlidir. Herhangi bir AMA aracısı var olan bir özel günlük tablosuna yazdıktan sonra, MMA aracıları artık bu tabloya yazamaz. Bunun yerine, bir aracıdan diğerine sorunsuz geçiş sağlamak için özel olarak AMA aracıları için yeni bir tablo oluşturmanız gerekir.
Örneğin, , ve Computer
ile RawData
FilePath
özel bir tablo oluşturmak için aşağıdaki PowerShell betiğini kullanabilirsiniz. Şema, gelen akışın varsayılan şemasıyla eşleştiğinden bu tablo için dönüştürmeye ihtiyacınız olmaz.
$tableParams = @'
{
"properties": {
"schema": {
"name": "{TableName}_CL",
"columns": [
{
"name": "TimeGenerated",
"type": "DateTime"
},
{
"name": "RawData",
"type": "String"
},
{
"name": "FilePath",
"type": "String"
},
{
"name": "Computer",
"type": "String"
}
]
}
}
}
'@
Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{WorkspaceName}/tables/{TableName}_CL?api-version=2021-12-01-preview" -Method PUT -payload $tableParams
Metin dosyası için veri toplama kuralı oluşturma
Azure İzleyici Aracısı ile veri toplama bölümünde açıklandığı gibi bir veri toplama kuralı oluşturun. Topla ve teslim edin adımında Veri kaynağı türü açılan listesinden Özel Metin Günlükleri'ni seçin.
Ayar | Açıklama |
---|---|
Dosya düzeni | Yerel diskte günlük dosyalarının konumunu ve adını tanımlar. Farklı dosya adları için, örneğin her gün yeni bir adla yeni bir dosya oluşturulduğunda joker karakter kullanın. Virgülle ayrılmış birden çok dosya deseni girebilirsiniz. Örnekler: - C:\Logs\MyLog.txt - C:\Logs\MyLog*.txt - C:\App01\AppLog.txt, C:\App02\AppLog.txt - /var/mylog.log - /var/mylog*.log |
Tablo adı | Log Analytics Çalışma Alanınızdaki hedef tablonun adı. |
Kayıt sınırlayıcısı | Şu anda kullanılmaz, ancak şu anda desteklenen satır sonu (/r/n ) dışındaki sınırlayıcılara izin veren gelecekteki olası kullanım için ayrılmıştır. |
Dönüşüm | Kayıtları filtrelemek veya hedef tablonun gelen verilerini biçimlendirmek için alma zamanı dönüşümü . Gelen verileri değiştirmeden bırakmak için kullanın source . |
Sınırlandırılmış günlük dosyaları
Birçok metin günlüğü dosyasında virgül gibi bir karakterle ayrılmış girdiler vardır. Bu verileri ayrı sütunlar halinde ayrıştırmak için split işleviyle bir dönüştürme kullanın.
Örneğin, aşağıdaki virgülle ayrılmış verileri içeren bir metin dosyası düşünün. Bu alanlar şu şekilde açıklanabilir: Time
, Code
, Severity
,Module
ve Message
.
2024-06-21 19:17:34,1423,Error,Sales,Unable to connect to pricing service.
2024-06-21 19:18:23,1420,Information,Sales,Pricing service connection established.
2024-06-21 21:45:13,2011,Warning,Procurement,Module failed and was restarted.
2024-06-21 23:53:31,4100,Information,Data,Nightly backup complete.
Aşağıdaki dönüştürme verileri ayrı sütunlar halinde ayrıştırmaktadır. split
Dinamik veri döndürdüğünden, verileri doğru skaler türe dönüştürmek için ve toint
gibi tostring
işlevleri kullanmanız gerekir. Ayrıca, hedef tablodaki sütun adıyla eşleşen her girdi için bir ad sağlamanız gerekir. Bu örnekte bir TimeGenerated
değer sağlandığını unutmayın. Bu sağlanmazsa, alım süresi kullanılır.
source | project d = split(RawData,",") | project TimeGenerated=todatetime(d[0]), Code=toint(d[1]), Severity=tostring(d[2]), Module=tostring(d[3]), Message=tostring(d[4])
Bu verilerin günlük sorgusuyla alınması aşağıdaki sonuçları döndürür.
Sorun giderme
Beklediğiniz metin günlüğünden veri toplamazsanız aşağıdaki adımları izleyin.
- Verilerin toplanan günlük dosyasına yazıldığını doğrulayın.
- Günlük dosyasının adının ve konumunun belirttiğiniz dosya düzeniyle eşleşip eşleşmediğini doğrulayın.
- Hedef tablonun şemasının gelen akışla eşleşeceğini veya gelen akışı doğru şemaya dönüştürecek bir dönüşüme sahip olduğunuzu doğrulayın.
- Aracının çalışır durumda olup olmadığını ve verilerin alınıp alınmadığını doğrulamak için bkz . İşlemi doğrulama.
Sonraki adımlar
Aşağıdakiler hakkında daha fazla bilgi edinin: