Azure İzleyici'de Log Analytics aracısı ile metin günlüklerini toplama

Azure İzleyici'deki Log Analytics aracısı için Özel Günlükler veri kaynağı, hem Windows hem de Linux bilgisayarlardaki metin dosyalarından olay toplamanıza olanak tanır. Birçok uygulama, Windows Olay günlüğü veya Syslog gibi standart günlük hizmetleri yerine metin dosyalarına bilgi kaydeder. Veriler toplandıktan sonra, bunları sorgularınızdaki tek tek alanlara ayrıştırabilir veya toplama sırasında tek tek alanlara ayıklayabilirsiniz.

Önemli

Bu makalede Log Analytics aracısı ile bir metin günlüğünün nasıl toplandığı açıklanmaktadır. Azure İzleyici aracısını kullanıyorsanız bkz . Azure İzleyici Aracısı ile metin günlüklerini toplama.

Önemli

Eski Log Analytics aracısı 31 Ağustos 2024 itibarıyla kullanımdan kaldırılmıştır. Microsoft artık Log Analytics aracısı için herhangi bir destek sağlamayacaktır. Verileri Azure İzleyici'ye almak için Log Analytics aracısını kullanıyorsanız şimdi Azure İzleyici aracısına geçin.

Özel günlük toplamayı gösteren diyagram.

Toplanacak günlük dosyaları aşağıdaki ölçütlere uygun olmalıdır:

  • Günlükte satır başına tek bir giriş olmalıdır veya her girişin başında aşağıdaki biçimlerden biriyle eşleşen bir zaman damgası kullanılmalıdır:

    YYYY-AA-GG SS:AA:SS
    M/D/YYYY SS:DD:SS/PM
    Mon DD, YYYY HH:MM:SS
    yyMDd HH:mm:ss
    ddMMyy SS:dd:ss
    MMM d hh:mm:ss
    dd/MMM/yyyy:HH:mm:ss zzz
    yyyy-MM-ddTHH:mm:ssK

  • Günlük dosyası döngüsel günlüğe kaydetmeye izin vermemelidir. Bu davranış, dosyanın üzerine yeni girdiler yazıldığı veya dosyanın yeniden adlandırıldığı ve devam eden günlük kaydı için aynı dosya adının yeniden kullanıldığı günlük döndürme işlemidir.

  • Günlük dosyası ASCII veya UTF-8 kodlaması kullanmalıdır. UTF-16 gibi diğer biçimler desteklenmez.

  • Linux için, günlüklerdeki zaman damgaları için saat dilimi dönüştürme desteklenmez.

  • En iyi yöntem olarak, günlük dosyasının günlük döndürmenin üzerine yazılmasını veya yeniden adlandırılmasını önlemek için oluşturulduğu tarih ve saati içermesi gerekir.

Not

Günlük dosyasında yinelenen girdiler varsa, Azure İzleyici bunları toplar. Oluşturulan sorgu sonuçları tutarsız olacaktır. Filtre sonuçları, sonuç sayımından daha fazla olay gösterir. Bunu oluşturan uygulamanın bu davranışa neden olup olmadığını belirlemek için günlüğü doğrulamanız gerekir. Özel günlük koleksiyonu tanımını oluşturmadan önce mümkünse sorunu giderin.

Log Analytics çalışma alanı aşağıdaki sınırları destekler:

  • Yalnızca 500 özel günlük oluşturulabilir.
  • Tablo en fazla 500 sütunu destekler.
  • Sütun adında en fazla 500 karakter kullanılabilir.

Önemli

Özel günlük koleksiyonu, günlük dosyasını yazan uygulamanın günlük içeriğini düzenli aralıklarla diske boşaltmasını gerektirir. Bunun nedeni, özel günlük koleksiyonunun izlenen günlük dosyası için dosya sistemi değişiklik bildirimlerini kullanmasıdır.

Özel günlük tablosu tanımlama

Özel bir günlük tablosu tanımlamak için aşağıdaki yordamı kullanın. Özel günlük ekleme örneğini izlenecek yol için bu makalenin sonuna kaydırın.

Özel Günlük sihirbazını açma

Özel Günlük sihirbazı Azure portalında çalışır ve toplayacak yeni bir özel günlük tanımlamanıza olanak tanır.

  1. Azure portalında Log Analytics çalışma alanları çalışma alanı>> tablolarınızı seçin.

  2. Oluştur'u ve ardından Yeni özel günlük (MMA tabanlı) öğesini seçin.

    Varsayılan olarak, tüm yapılandırma değişiklikleri otomatik olarak tüm aracılara gönderilir. Linux aracıları için Fluentd veri toplayıcısına bir yapılandırma dosyası gönderilir.

Örnek günlüğü karşıya yükleme ve ayrıştırma

Başlamak için özel günlüğün bir örneğini karşıya yükleyin. Sihirbaz, doğrulamanız için bu dosyadaki girdileri ayrıştırıp görüntüler. Azure İzleyici, her kaydı tanımlamak için belirttiğiniz sınırlayıcıyı kullanır.

Yeni Satır varsayılan sınırlayıcıdır ve satır başına tek bir girişi olan günlük dosyaları için kullanılır. Satır, kullanılabilir biçimlerden birinde bir tarih ve saatle başlıyorsa, birden fazla satıra yayılan girişleri destekleyen bir Zaman Damgası sınırlayıcısı belirtebilirsiniz.

Bir zaman damgası sınırlayıcısı kullanılırsa, Azure İzleyici'de depolanan her kaydın TimeGenerated özelliği günlük dosyasında bu girdi için belirtilen tarih ve saatle doldurulur. Yeni bir satır sınırlayıcısı kullanılırsa TimeGenerated, Azure İzleyici'nin girişi topladığı tarih ve saatle doldurulur.

  1. Gözat'ı seçin ve örnek bir dosyaya göz atın. Bu düğme bazı tarayıcılarda Dosya Seç olarak etiketlenebilir.

  2. İleri'yi seçin.

    Özel Günlük sihirbazı dosyayı karşıya yükler ve tanımlamış olduğu kayıtları listeler.

  3. Yeni bir kaydı tanımlamak için kullanılan sınırlayıcıyı değiştirin. Günlük dosyanızdaki kayıtları en iyi tanımlayan sınırlayıcıyı seçin.

  4. İleri'yi seçin.

Günlük toplama yolları ekleme

Aracıda özel günlüğü bulabileceği bir veya daha fazla yol tanımlamanız gerekir. Günlük dosyası için belirli bir yol ve ad sağlayabilir veya ad için joker karakter içeren bir yol belirtebilirsiniz. Bu adım, her gün veya bir dosya belirli bir boyuta ulaştığında yeni dosya oluşturan uygulamaları destekler. Tek bir günlük dosyası için birden çok yol da sağlayabilirsiniz.

Örneğin, bir uygulama her gün log20100316.txt'de olduğu gibi adın içinde yer alan tarihi içeren bir günlük dosyası oluşturabilir. Böyle bir günlük için desen log*.txt olabilir ve bu, uygulamanın adlandırma şemasını izleyen tüm günlük dosyalarına uygulanır.

Aşağıdaki tabloda, farklı günlük dosyalarını belirtmek için geçerli desen örnekleri verilmiştir.

Açıklama Yol
Windows aracısında .txt uzantılı C:\Logs içindeki tüm dosyalar C:\Logs\*.txt
C:\Logs içindeki tüm dosyalar, windows aracısında günlük ve .txt uzantısıyla başlayan bir adla C:\Logs\log*.txt
Linux aracısında .txt uzantılı /var/log/audit içindeki tüm dosyalar /var/log/audit/*.txt
Linux aracısında günlük ve .txt uzantısıyla başlayan bir adla /var/log/audit içindeki tüm dosyalar /var/log/audit/log*.txt
  1. Hangi yol biçimini eklediğinizi belirtmek için Windows veya Linux'ı seçin.
  2. Yolu girin ve düğmeyi + seçin.
  3. Daha fazla yol için işlemi yineleyin.

Günlük için bir ad ve açıklama sağlayın

Belirttiğiniz ad, açıklandığı gibi günlük türü için kullanılır. Özel günlük olarak ayırt etmek için her zaman _CL ile biter.

  1. Günlük için bir ad girin. _CL son eki otomatik olarak sağlanır.
  2. İsteğe bağlı bir Açıklama ekleyin.
  3. Özel günlük tanımını kaydetmek için İleri'yi seçin.

Özel günlüklerin toplandığını doğrulayın

Yeni bir özel günlükteki ilk verilerin Azure İzleyici'de görünmesi bir saat kadar sürebilir. Azure İzleyici, özel günlüğü tanımladığınız noktadan belirttiğiniz yolda bulunan günlüklerden girdileri toplamaya başlar. Özel günlük oluşturma sırasında karşıya yüklediğiniz girdileri korumaz. Zaten var olan girdileri, bulacağı günlük dosyalarında toplar.

Azure İzleyici özel günlükten toplamaya başladıktan sonra kayıtları bir günlük sorgusuyla kullanılabilir. Sorgunuzda Tür olarak özel günlüğe vermiş olduğunuz adı kullanın.

Not

Sorguda RawData özelliği eksikse tarayıcınızı kapatıp yeniden açmanız gerekebilir.

Özel günlük girdilerini ayrıştırma

Günlük girdisinin tamamı RawData adlı tek bir özellikte depolanır. Büyük olasılıkla her girdideki farklı bilgi parçalarını her kaydın tek tek özelliklerine ayırmak istersiniz. RawData'yı birden çok özelliğe ayrıştırma seçenekleri için bkz. Azure İzleyici'de metin verilerini ayrıştırma.

Özel günlük tablosunu silme

Bkz. Tablo silme.

Veri toplama

Azure İzleyici, her özel günlükten yaklaşık 5 dakikada bir yeni girdiler toplar. Aracı, topladığı her günlük dosyasındaki yerini kaydeder. Aracı belirli bir süre çevrimdışı kalırsa Azure İzleyici, aracı çevrimdışıyken bu girdiler oluşturulmuş olsa bile en son kaldığı yerden girdileri toplar.

Günlük girdisinin tüm içeriği RawData adlı tek bir özelliğe yazılır. İçeri aktarılan her günlük girdisini birden çok özelliğe ayrıştırma yöntemleri için bkz . Azure İzleyici'de metin verilerini ayrıştırma.

Özel günlük kaydı özellikleri

Özel günlük kayıtları, sağladığınız günlük adına ve aşağıdaki tabloda yer alan özelliklere sahip bir türe sahiptir.

Özellik Açıklama
TimeGenerated Kaydın Azure İzleyici tarafından toplandığı tarih ve saat. Günlükte zamana bağlı sınırlayıcı kullanılıyorsa, bu girişten toplanan süredir.
SourceSystem Kaydın toplandığı aracı türü.
OpsManager – Windows aracısı, doğrudan bağlantı veya System Center Operations Manager
Linux – Tüm Linux aracıları
RawData Toplanan girdinin tam metni. Büyük olasılıkla bu verileri tek tek özelliklere ayrıştırmak istersiniz.
ManagementGroupName System Center Operations Manager aracıları için yönetim grubunun adı. Diğer aracılar için bu ad AOI çalışma< alanı kimliğidir>.

Özel günlük eklemeye ilişkin örnek kılavuz

Aşağıdaki bölümde özel günlük oluşturma örneği açıklanmıştır. Toplanan örnek günlüğün her satırda tarih ve saatle başlayan tek bir girişi ve ardından kod, durum ve ileti için virgülle ayrılmış alanları vardır. Çeşitli örnek girdiler gösterilir.

2019-08-27 01:34:36 207,Success,Client 05a26a97-272a-4bc9-8f64-269d154b0e39 connected
2019-08-27 01:33:33 208,Warning,Client ec53d95c-1c88-41ae-8174-92104212de5d disconnected
2019-08-27 01:35:44 209,Success,Transaction 10d65890-b003-48f8-9cfc-9c74b51189c8 succeeded
2019-08-27 01:38:22 302,Error,Application could not connect to database
2019-08-27 01:31:34 303,Error,Application lost connection to database

Örnek günlüğü karşıya yükleme ve ayrıştırma

Günlük dosyalarından birini sağlarız ve toplanacak olayları görebiliriz. Bu durumda, Yeni satır yeterli bir sınırlayıcıdır. Günlükteki tek bir giriş birden çok satıra yayılabiliyorsa, zaman damgası sınırlayıcısının kullanılması gerekir.

Örnek günlüğü karşıya yüklemeyi ve ayrıştırma işlemini gösteren ekran görüntüsü.

Günlük toplama yolları ekleme

Günlük dosyaları C:\MyApp\Logs konumunda bulunur. Her gün desen appYYYYMMDD.log tarihi içeren bir adla yeni bir dosya oluşturulur. Bu günlük için yeterli bir desen C:\MyApp\Logs\*.log olabilir.

Günlük toplama yolu eklemeyi gösteren ekran görüntüsü.

Günlük için bir ad ve açıklama sağlayın

MyApp_CL adını kullanır ve bir Açıklama yazarız.

Günlük adı eklemeyi gösteren ekran görüntüsü.

Özel günlüklerin toplandığını doğrulayın

Toplanan günlükten tüm kayıtları döndürmek için basit bir MyApp_CL sorgusu kullanırız.

Özel alanları olmayan günlük sorgusunu gösteren ekran görüntüsü.

Özel günlüklere alternatifler

Verileriniz listelenen ölçütlere uyuyorsa özel günlükler yararlı olsa da başka bir stratejiye ihtiyacınız olduğu durumlar vardır:

  • Veriler, zaman damgasının farklı bir biçimde olması gibi gerekli yapıya uymaz.
  • Günlük dosyası, dosya kodlama veya desteklenmeyen klasör yapısı gibi gereksinimlere uymaz.
  • Veriler, toplamadan önce ön işleme veya filtreleme gerektirir.

Verilerinizin özel günlüklerle toplanmadığı durumlarda aşağıdaki alternatif stratejileri göz önünde bulundurun:

  • Azure İzleyici tarafından toplanan Windows Olaylarına veya Syslog'a veri yazmak için özel bir betik veya başka bir yöntem kullanın.
  • HTTP Veri Toplayıcı API'sini kullanarak verileri doğrudan Azure İzleyici'ye gönderin.

Sonraki adımlar

  • İçeri aktarılan her günlük girdisini birden çok özelliğe ayrıştırma yöntemleri için bkz . Azure İzleyici'de metin verilerini ayrıştırma.
  • Veri kaynaklarından ve çözümlerden toplanan verileri analiz etmek için günlük sorguları hakkında bilgi edinin.