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:
Enerji için Microsoft Azure Data Manager'a Genel Bakış sayfasını açın
Sol panelden Tanılama Ayarları'nı seçin
Tanılama ayarı ekle'yi seçin
Günlükler'in altında Hava Akışı Görev Günlükleri'ne tıklayın
Depolama hesabında Arşivle'yi seçin
Günlükleri arşivlemesini istediğiniz aboneliği ve depolama hesabını doğrulayın.
Airflow günlüklerini indirmek için depolama hesabında gezinme
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.
Sol panelde bulunan Kapsayıcılar'da gezinin.
Sağ taraftaki bilgi bölmesini açın. Günlük dosyasını yerel olarak kaydetmek için bir "indir" düğmesi içerir.
İ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.
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.
Ö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.
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.