Aracılığıyla paylaş


Azure İzleyici ile Airflow günlüğü tümleştirmesi

Bu makalede, Enerji için Microsoft Azure Data Manager örnekleriniz için Hava Akışı Günlüklerini Azure İzleyici'de toplamaya nasıl başlayacağınızı öğreneceksiniz. Bu tümleştirme özelliği, Airflow DAG (Directed Acyclic Graph) çalıştırma hatalarında hata ayıklamanıza yardımcı olur.

Önkoşullar

  • Mevcut bir Log Analytics Çalışma Alanı. Bu çalışma alanı, Log Analytics Çalışma Alanı'ndaki Kusto Sorgu Dili (KQL) sorgu düzenleyicisini kullanarak Airflow günlüklerini sorgulamak için kullanılır. Yararlı Kaynak: Azure portalında log analytics çalışma alanı oluşturun.

  • Mevcut bir depolama hesabı: Airflow günlüklerinin JSON dökümlerini depolamak için kullanılır. Depolama hesabının Log Analytics çalışma alanınızla aynı abonelikte olması gerekmez.

Depolama hesabında günlükleri toplamak için tanılama ayarlarını etkinleştirme

Her Enerji için Azure Data Manager örneği, bir Azure Data Factory İş Akışı Orchestration Manager (Apache Airflow tarafından desteklenir) örneğiyle birlikte sunulur. İç sorun giderme ve hata ayıklama amacıyla Airflow günlüklerini toplarız. Hava akışı günlükleri Azure İzleyici ile aşağıdaki yollarla tümleştirilebilir:

  • Storage account
  • Log Analytics çalışma alanı

Yukarıdaki iki seçenekle günlüklere erişmek için bir Tanılama Ayarı oluşturmanız gerekir. Her Tanılama Ayarının üç temel bölümü vardır:

Bölüm Açıklama
Ad Bu, tanılama günlüğünün adıdır. Her günlük için benzersiz bir ad ayarlandığından emin olun.
Kategoriler Hedeflerin her birine gönderilecek günlük kategorisi. Kategoriler kümesi her Azure hizmeti için farklılık gösterir. Ziyaret Edin: Desteklenen Kaynak Günlüğü Kategorileri
Hedefler Günlükleri göndermek için bir veya daha fazla hedef. Tüm Azure hizmetleri aynı olası hedef kümesini paylaşır. Her tanılama ayarı bir veya daha fazla hedef tanımlayabilir, ancak belirli bir türde birden fazla hedef tanımlamaz. Depolama hesabı, Event Hubs ad alanı veya olay hub'ı olmalıdır.

Tanılama Ayarlarını ayarlamak için aşağıdaki adımları izleyin:

  1. Enerji için Microsoft Azure Data Manager'a Genel Bakış sayfasını açın

  2. Sol panelden Tanılama Ayarları'nı seçin

    Azure izleyici tanılama ayarına genel bakış sayfasının ekran görüntüsü. Sayfada mevcut tanılama ayarlarının listesi ve yenisini ekleme seçeneği gösterilir.

  3. Tanılama ayarı ekle'yi seçin

  4. Günlükler'in altında Hava Akışı Görev Günlükleri'ne tıklayın

  5. Depolama hesabında Arşivle'yi seçin

    Günlükleri depolama hesabına arşivleye tanılama ayarı oluşturma işleminin ekran görüntüsü. Görüntüde, tanılama ayarı için seçilen abonelik ve depolama hesabı gösterilir.

  6. Günlükleri arşivlemesini istediğiniz aboneliği ve depolama hesabını doğrulayın.

Airflow görev günlüklerini bir depolama hesabında arşivleme için bir tanılama ayarı oluşturulduktan sonra depolama hesabına genel bakış sayfasına gidebilirsiniz. Ardından, araştırmak istediğiniz sağ JSON dosyasını bulmak için sol paneldeki "Depolama Tarayıcısı"nı kullanabilirsiniz. Bir yıldan bir aya bir güne geçerken farklı dizinlere göz atmak sezgiseldir.

  1. Sol panelde bulunan Kapsayıcılar'da gezinin.

    Depolama Hesabı kapsayıcılarındaki arşivlenmiş günlükleri keşfetmeye yönelik ekran görüntüsü. Kapsayıcı, ayarlanan tüm kaynaklardan günlükleri gösterir.

  2. Sağ taraftaki bilgi bölmesini açın. Günlük dosyasını yerel olarak kaydetmek için bir "indir" düğmesi içerir.

  3. İndirilen günlükler herhangi bir düzenleyicide analiz edilebilir.

Günlükleri Log Analytics Çalışma Alanı ile tümleştirmek için tanılama ayarlarını etkinleştirme

Airflow günlüklerini Log Analytics Çalışma Alanı ile tümleştirmek için Microsoft Azure Data Manager Enerji örneği genel bakış sayfanızın sol panelinin altındaki Tanılama Ayarları'nı kullanabilirsiniz.

Tanılama ayarı oluşturmaya yönelik ekran görüntüsü. Tümleştirebileceğiniz abonelik ve Log Analytics Çalışma Alanı seçeneklerini gösterir.

Log Analytics Çalışma Alanında tümleşik Hava Akışı Günlükleri ile çalışma

Log Analytics Çalışma Alanınızdan toplanan Hava Akışı günlükleriyle ilgili istenen verileri almak için Kusto Sorgu Dili (KQL) kullanın. Önceden oluşturulmuş örnek sorguları Log Analytics Çalışma Alanınıza yükleyebilir veya kendi sorgularınızı oluşturabilirsiniz.

Toplanan günlükleri görüntülemek için Azure İzleyici Log Analytics sayfasının ekran görüntüsü. Günlük yönetimi altında, tüm kaynaklardan tablolar görünür.

  1. Önceden oluşturulmuş sorguları yükleme: Kaynağınızın menüsünden Günlükler'i seçin. Log Analytics, kaynak türünüz için önceden oluşturulmuş sorguları içeren Sorgular penceresiyle açılır. Kullanılabilir sorgulara göz atın. Çalıştırılacak olanı belirleyin ve Çalıştır'ı seçin. Sorgu, sorgu penceresine eklenir ve sonuçlar döndürülür.

  2. Sorgu düzenleyicisinde sorgu yazma: Aşağıdaki sorguları kopyalayabilir, yapıştırabilir ve düzenleyebilir veya Log Analytics Çalışma Alanınızın Sorgu Düzenleyicisi KQL'de kendi sorgularınızı yazabilirsiniz.

Örnek Sorgular

Bu sorgu, ERROR düzeyindeki tüm Airflow günlüklerini döndürür. Sonuçları filtrelemek için Enerji için Azure Data Manager örneği adı ve DAG'nizin bağıntı kimliği için where yan tümcesi ekleyerek (açıklamayı kaldırabilirsiniz).


OEPAirFlowTask
| extend ResourceName = tostring(split(_ResourceId , '/')[-1])
// | where ResourceName == "<the name of ADME instance>"        // to filter on resourceName replace <...> and uncomment line
// | where CorrelationId == "<DAG run's runId>"                 // to filter on correlationID replace <...> with correlationId (same as runId) - we have created a duplicate for to maintain consistency of column name across all services 
| where LogLevel  == "ERROR"
| project TimeGenerated, DagName, LogLevel, DagTaskName, CodePath, Content

Bu sorgu, belirtilen Enerji için Azure Data Manager kaynağındaki tüm DAG çalıştırmalarını ve bunlara karşılık gelen bağıntı kimliklerini listeler.


OEPAirFlowTask
| extend ResourceName = tostring(split(_ResourceId , '/')[-1])
// | where ResourceName == "<the name of ADME instance>"        // to filter on resourceName replace <...> and uncomment line
| distinct DagName, CorrelationId                               // correlationId is same as runId - we have created a duplicate for consistency in search across logs of all services 
| sort by DagName asc

Log Analytics Çalışma Alanınızda toplanan Airflow günlüklerini kullanarak bildirim alımı işleminizle ilgili sorunları gidermenize yardımcı olacak belge ekledik.

Sonraki adımlar

Kaynak günlüklerini topladığınıza göre, günlük verilerinizde ilginç veriler tanımlandığında proaktif olarak bilgilendirilecek bir günlük sorgusu uyarısı oluşturun.