Aracılığıyla paylaş


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

Temel işlem

Aşağıdaki diyagramda, bir metin dosyasından günlük verilerini toplama işleminin temel işlemi gösterilmektedir.

  1. Aracı, yerel diskte belirtilen ad deseni ile eşleşen tüm günlük dosyalarını izler.
  2. 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.
  3. Varsayılan dönüştürme kullanılırsa, günlük girdisinin tamamı hedef tablodaki tek bir sütuna gönderilir.
  4. Özel dönüştürme kullanılırsa, günlük girişi hedef tabloda birden çok sütuna ayrıştırılabilir.

Azure İzleyici aracısı tarafından bir metin günlüğünün toplanmasını gösteren ve hem basit koleksiyonu hem de virgülle ayrılmış bir dosya için dönüştürmeyi gösteren diyagram.

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 Computerile RawDataFilePathö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])

Virgülle ayrılmış dosya koleksiyonunun yapılandırmasını gösteren ekran görüntüsü.

Bu verilerin günlük sorgusuyla alınması aşağıdaki sonuçları döndürür.

Virgülle ayrılmış dosya koleksiyonunun sonuçlarını döndüren günlük sorgusunu gösteren ekran görüntüsü.

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: