Azure Otomasyonu tanılama günlüklerini Azure İzleyici'ye iletme

Azure Otomasyonu Log Analytics çalışma alanınıza runbook iş durumu ve iş akışları gönderebilir. Bu işlem çalışma alanı bağlamayı içermez ve tamamen bağımsızdır ve basit araştırmalar yapmanıza olanak tanır. İş günlükleri ve iş akışları Azure portalında veya tek tek işler için PowerShell ile görünür. Otomasyon hesabınızın Azure İzleyici günlükleriyle şunları yapabilirsiniz:

  • Otomasyon işlerinizin durumu hakkında içgörüler edinin.
  • Runbook iş durumunuz temelinde bir e-posta veya uyarı tetikleyin (örneğin, başarısız veya askıya alındı).
  • İş akışlarınızda gelişmiş sorgular yazın.
  • Farklı Otomasyon hesaplarındaki işleri bağıntılandırın.
  • Azure panosu aracılığıyla runbook sonuçlarınızı, runbook iş durumunuzu ve diğer ilgili ana göstergeleri veya ölçümleri görselleştirmek için özelleştirilmiş görünümleri ve arama sorgularını kullanın.
  • Otomasyon hesapları, runbook'lar ve diğer varlık oluşturma, değiştirme ve silme işlemleriyle ilgili denetim günlüklerini alın.

Azure İzleyici günlüklerini kullanarak, toplanan verileri hızla almak, birleştirmek ve analiz etmek için sorgularla analiz edilebileceği aynı çalışma alanında farklı kaynaklardan günlükleri birleştirebilirsiniz. Azure portalında Log Analytics'i kullanarak sorgu oluşturup test edebilir ve ardından bu araçları kullanarak verileri doğrudan analiz edebilir veya görselleştirme veya uyarı kurallarıyla kullanmak üzere sorguları kaydedebilirsiniz.

Azure İzleyici, Azure Veri Gezgini tarafından kullanılan kusto sorgu dilinin (KQL) basit günlük sorguları için uygun bir sürümünü kullanır. Ayrıca toplamalar, birleştirmeler ve akıllı analiz gibi gelişmiş işlevleri de içerir. Birden çok ders kullanarak sorgu dilini hızla öğrenebilirsiniz.

tanılama ayarlarını Azure Otomasyonu

Otomasyon tanılama ayarları desteğini kullanarak aşağıdaki platform günlüklerini ve ölçüm verilerini iletebilirsiniz:

Veri türleri Açıklama
İş Günlükleri Otomasyon hesabındaki runbook işinin durumu.
İş Akışlar Otomasyon hesabında tanımlanan runbook'taki iş akışlarının durumu.
DSCNodeStatus DSC düğümünün durumu.
AuditEvent Verilerle veya Azure Otomasyonu hizmetinin ayarlarıyla müşteri etkileşimlerini kaydeden tüm kaynak günlükleri.
Ölçümler Toplam iş sayısı, toplam güncelleştirme, dağıtım makinesi çalıştırmaları, toplam güncelleştirme dağıtım çalıştırmaları.

Azure portalında tanılama ayarlarını yapılandırma

Tanılama ayarlarını Azure portalında Otomasyon hesabı kaynağının menüsünden yapılandırabilirsiniz.

  1. Otomasyon hesabı menüsünde, İzleme'nin altında Tanılama ayarları'nı seçin.

    Screenshot showing selection of diagnostic setting option.

  2. Tanılama ayarı ekle'ye tıklayın.

    Screenshot showing selection of add diagnostic setting.

  3. Zaten yoksa Tanılama ayarı adına bir ayar adı girin.

    Günlüklerin ve ölçümlerin tüm kategorilerini de görüntüleyebilirsiniz.

    Screenshot showing all categories of logs and metrics.

    • Yönlendirilecek günlükler ve ölçümler: Günlükler için bir kategori grubu seçin veya belirtilen hedeflere göndermek istediğiniz her veri kategorisi için tek tek onay kutularını seçin. Ölçümleri Azure İzleyici günlüklerinde depolamak istiyorsanız AllMetrics'i seçin.

    • Hedef ayrıntıları : Her hedef için onay kutusunu seçin. Her kutunun seçimine göre, ek bilgi eklemenize olanak sağlayan seçenekler görüntülenir.

      Screenshot showing selections in destination details section.

      • Log Analytics : Abonelik Kimliğini ve çalışma alanı adını girin. Çalışma alanınız yoksa devam etmeden önce bir çalışma alanı oluşturmanız gerekir.

      • Event Hubs: Aşağıdaki ölçütleri belirtin:

      • Depolama: Abonelik, depolama hesabı ve bekletme ilkesini seçin. Screenshot showing the storage account.

      • İş ortağı tümleştirmesi: Önce aboneliğinize bir iş ortağı tümleştirmesi yüklemeniz gerekir. Yapılandırma seçenekleri iş ortağına göre değişir. Daha fazla bilgi için bkz . Azure İzleyici tümleştirmesi.

  4. Kaydet'e tıklayın.

Birkaç dakika sonra bu kaynak için ayarlar listenizde yeni ayar görünür ve yeni olay verileri oluşturulduktan sonra günlükler belirtilen hedeflere akışla aktarılır. Ortaya çıkan olayla Log Analytics çalışma alanındaki görünümü arasında 15 dakika zaman farkı olabilir.

Günlükleri sorgulama

Oluşturulan günlükleri sorgulamak için:

  1. Otomasyon hesabınızdaki İzleme'nin altında Günlükler'i seçin.

  2. Tüm Sorgular'ın altında Otomasyon İşleri'ne tıklayın.

    Screenshot showing how to navigate to select Automation jobs.

  3. Yürütmek istediğiniz sorgulardan birini seçin ve Çalıştır'a tıklayın.

  4. Özel sorgu yürütmek için Sorgular penceresini kapatın ve özel sorgunuzu yeni sorgu penceresine yapıştırın ve Çalıştır'a tıklayın.

    Sorgunun çıktısı Sonuçlar bölmesinde görüntülenir.

  5. Bu sorgu için bir Azure İzleyici uyarısı yapılandırmak için Yeni uyarı kuralı'na tıklayın.

    Screenshot showing how to query logs.

Azure İzleyici günlük kayıtları

Azure Otomasyonu tanılama, Azure İzleyici günlüklerinde olarak AzureDiagnosticsetiketlenmiş aşağıdaki kayıt türlerini oluşturur. Aşağıdaki bölümlerde yer alan tablolar, Azure Otomasyonu oluşturulan kayıtların ve günlük arama sonuçlarında görünen veri türlerinin örnekleridir.

İş günlükleri

Özellik Açıklama
TimeGenerated Runbook işinin yürütüldüğü tarih ve saat.
RunbookName_s Runbook'un adı/adları.
Caller_s İşlemi başlatan çağıran. Olası değerler, bir e-posta adresi veya zamanlanan işlere yönelik bir sistemdir.
Tenant_g Çağıranın kiracısını tanımlayan GUID (genel olarak benzersiz tanımlayıcı).
JobId_g Runbook işini tanımlayan GUID.
ResultType Runbook işinin durumu. Olası değerler şunlardır:
- Yeni
-Oluşturulan
- Başlatıldı
- Durduruldu
- Askıya alındı
- Başarısız oldu
-Tamamlandı
Kategori Veri türü sınıflandırması. Otomasyon için değer JobLogs olacaktır.
OperationName Azure'da gerçekleştirilen işlemin türü. Otomasyon için değer İş'tir.
Kaynak Otomasyon hesabının adı
SourceSystem Azure İzleyici günlüklerinin verileri toplamak için kullandığı sistem. Değer her zaman Azure tanılaması için Azure'dır.
ResultDescription Runbook işi sonuç durumu. Olası değerler şunlardır:
- İş başlatıldı
- İş Başarısız Oldu
- İş Tamamlandı
CorrelationId Runbook işinin bağıntı GUID'i.
ResourceId Runbook'un hesap kaynak kimliğini Azure Otomasyonu.
SubscriptionId Otomasyon hesabı için Azure aboneliği GUID'i.
ResourceGroup Otomasyon hesabının kaynak grubunun adı.
ResourceProvider Kaynak sağlayıcısının adı. Değer MICROSOFT'tır. OTOMASYON.
ResourceType Kaynak türü. Değer AUTOMATIONACCOUNTS'tır.

İş akışları

Özellik Açıklama
TimeGenerated Runbook işinin yürütülürken tarih ve saat.
RunbookName_s Runbook'un adı.
Caller_s İşlemi başlatan çağıran. Olası değerler, bir e-posta adresi veya zamanlanan işlere yönelik bir sistemdir.
StreamType_s İş akışının türü. Olası değerler şunlardır:
- İlerleme durumu
- Çıktı
- Uyarı
- Hata
- Hata ayıklama
- Ayrıntılı
Tenant_g Çağıranın kiracısını tanımlayan GUID.
JobId_g Runbook işini tanımlayan GUID.
ResultType Runbook işinin durumudur. Olası değerler şunlardır:
- Devam Ediyor
Kategori Veri türü sınıflandırması. Otomasyon için değer JobStreams olacaktır.
OperationName Azure'da gerçekleştirilen işlemin türü. Otomasyon için değer İş'tir.
Kaynak Otomasyon hesabının adı.
SourceSystem Azure İzleyici günlüklerinin verileri toplamak için kullandığı sistem. Değer her zaman Azure tanılaması için Azure'dır.
ResultDescription Runbook'tan çıkış akışını içeren açıklama.
CorrelationId Runbook işinin bağıntı GUID'i.
ResourceId Runbook'un hesap kaynak kimliğini Azure Otomasyonu.
SubscriptionId Otomasyon hesabı için Azure aboneliği GUID'i.
ResourceGroup Otomasyon hesabının kaynak grubunun adı.
ResourceProvider Kaynak sağlayıcısı. Değer MICROSOFT'tır. OTOMASYON.
ResourceType Kaynak türü. Değer AUTOMATIONACCOUNTS'tır.

Denetim olayları

Özellik Açıklama
TenantID Çağıranın kiracısını tanımlayan GUID.
TimeGenerated (UTC) Runbook işinin yürütülürken tarih ve saat.
Kategori AuditEvent
ResourceGroup Otomasyon hesabının kaynak grubu adı.
Abonelik Kimliği Otomasyon hesabı için Azure aboneliği GUID'i.
ResourceProvider MİCROSOFT. OTOMASYON
Kaynak Otomasyon Hesabı adı
ResourceType OTOMASYONHESAPLAR
OperationName Olası değerler Güncelleştir, Oluştur, Sil'tir.
ResultType Runbook işinin durumu. Olası değer: Tamamlandı.
CorrelationId Runbook işinin bağıntı GUID'i.
ResultDescription Runbook işi sonuç durumu. Olası değerler Güncelleştir, Oluştur, Sil'tir.
Tenant_g Çağıranın kiracısını tanımlayan GUID.
SourceSystem Azure İzleyici günlüklerinin verileri toplamak için kullandığı sistem. Değer her zaman Azure tanılaması için Azure'dır.
clientInfo_IpAddress_s {scrubbed}
clientInfo_PrincipalName_s {scrubbed}
clientInfo_TenantId_g İstemcinin Kiracı Kimliği.
clientInfo_Issuer_s
clientInfo_ObjectId_g İstemcinin Nesne Kimliği.
clientInfo_AppId_g İstemcinin AppID değeri.
clientInfo_ClientRequestId_g İstemcinin RequestID değeri
targetResources_Resource_s Account, Job, Credential, Bağlan ions, Variables, Runbook.
Tür AzureDiagnostics
_ResourceId Runbook'un hesap kaynak kimliğini Azure Otomasyonu.

Azure İzleyici günlüklerinde Otomasyon günlüklerini görüntüleme

Otomasyon iş akışlarınızı ve günlüklerinizi Azure İzleyici günlüklerine göndermeye başladığınıza göre şimdi Azure İzleyici günlükleri içinde bu günlüklerle neler yapabileceğinizi görelim.

Günlükleri görmek için aşağıdaki sorguyu çalıştırın: kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"

İş günlükleri ve iş akışları için örnek sorgular

Hatayla tamamlanan tüm işleri bulma

Hatalarla ilgili uyarı verme gibi senaryolara ek olarak, bir runbook işinde sonlandırılmayan bir hata olduğunda da bulabilirsiniz. Böyle durumlarda PowerShell bir hata akışı oluşturur, ancak sonlandırılmayan hatalar işinizin askıya alınmasına veya başarısız olmasına neden olmaz.

  1. Log Analytics çalışma alanınızda Günlükler'e tıklayın.
  2. Sorgu alanına şunu yazın:
    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g. 
    
  3. Ara'ya tıklayın.

bir işin iş akışlarını görüntüleme

Bir işte hata ayıklarken, iş akışlarını da incelemek isteyebilirsiniz. Aşağıdaki sorgu, GUID 2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0ile tek bir işin tüm akışlarını gösterir:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and JobId_g == "2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0"
| sort by TimeGenerated asc
| project ResultDescription

Geçmiş iş durumunu görüntüleme

Son olarak, zaman içinde iş geçmişinizi görselleştirmek isteyebilirsiniz. Zaman içinde işlerinizin durumunu aramak için bu sorguyu kullanabilirsiniz.

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType != "started"
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)

Log Analytics Historical Job Status Chart

Otomasyon işlerinde hataları bildiren günlükleri bulun.

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" 
| where StreamType_s == "Error" 
| project TimeGenerated, Category, JobId_g, OperationName, RunbookName_s, ResultDescription, _ResourceId 

Tamamlanan Azure Otomasyonu işleri bulma

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType == "Completed" 
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g

Başarısız olan, askıya alınan veya durdurulan Azure Otomasyonu işleri bulma

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Stopped" or ResultType == "Suspended") 
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g 

Hatalarla başarıyla tamamlanan tüm runbook'ları ve işleri listeleme

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" 
| project TimeGenerated, RunbookName_s, StreamType_s, _ResourceId, ResultDescription, JobId_g 

Runbook işi başarısız olduğunda veya askıya alındığında e-posta gönderme

Aşağıdaki adımlarda, runbook işinde bir sorun oluştuğunda bildirim almak için Azure İzleyici'de e-posta uyarılarının nasıl ayarlanacağı açıklanmaktadır.

Uyarı kuralı oluşturmak için, günlükleri sorgulama bölümünde açıklandığı gibi uyarıyı çağırması gereken runbook iş kayıtları için bir günlük araması oluşturun. Uyarı kuralını yapılandırmak için +Yeni uyarı kuralına tıklayın.

  1. Otomasyon hesabınızdaki İzleme'nin altında Günlükler'i seçin.

  2. Sorgu alanına bir arama ölçütü girerek uyarınız için bir günlük arama sorgusu oluşturun.

    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended")   
    

    Aşağıdakini kullanarak runbook adına göre de gruplandırabilirsiniz:

    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and     Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s 
    
  3. Uyarı kuralı oluştur ekranını açmak için sayfanın üst kısmındaki +Yeni uyarı kuralı'na tıklayın. Uyarıları yapılandırma seçenekleri hakkında daha fazla bilgi için bkz . Azure'da uyarıları günlüğe kaydetme

Tanılama denetim günlüklerini Azure Otomasyonu

Artık denetim günlüklerini Azure İzleyici çalışma alanına da gönderebilirsiniz. Bu, kuruluşların güvenlik ve uyumluluk için önemli otomasyon hesabı etkinliklerini izlemesine olanak tanır. Azure Tanılama ayarları aracılığıyla etkinleştirildiğinde Otomasyon runbook'ları, işler ve bağlantı, kimlik bilgileri, değişken ve sertifika gibi otomasyon varlıkları için oluşturma, güncelleştirme ve silme işlemleri hakkında telemetri toplayabilirsiniz. Güvenlik izleme gereksinimlerinizin bir parçası olarak denetim günlüğü koşullarına yönelik uyarıları da yapılandırabilirsiniz.

Etkinlik günlükleri ile denetim günlükleri arasındaki fark

Etkinlik günlüğü, Azure'da abonelik düzeyi olaylar hakkında içgörü sağlayan bir platform günlüğüdür. Otomasyon hesabının etkinlik günlüğü, otomasyon kaynağının ne zaman değiştirildiği, oluşturulduğu veya silindiği hakkındaki bilgileri içerir. Ancak, kaynağın adını veya kimliğini yakalamaz.

Otomasyon hesapları için denetim günlükleri, kaynak için gerçekleştirilen işlemin türüyle birlikte otomasyon değişkeni, kimlik bilgileri, bağlantı vb. kaynağın adını ve kimliğini yakalar ve Azure Otomasyonu GDPR uyumluluğuna uygun istemci IP verileri gibi bazı ayrıntıları temizler.

Etkinlik günlüğü, Azure kaynakları için ayrıntılı tanılama ve denetim bilgileri sağlayan bir platform günlüğü olduğundan, etkinlik günlükleri istemci IP'si gibi ayrıntıları gösterir. BUNLAR ARM'de gerçekleşen etkinlikler için otomatik olarak oluşturulur ve etkinlik günlüğü kaynak sağlayıcısına gönderilir. Etkinlik günlükleri Azure izlemesinin bir parçası olduğundan, istemci etkinliğiyle ilgili içgörüler sağlamak için bazı istemci verilerini gösterir.  

Denetim günlükleri için örnek sorgular

Otomasyon kaynağı denetim günlüklerini görüntülemek için sorgulama

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" 

Herhangi bir değişken güncelleştirmesini izlemek, oluşturma veya silme işlemini sorgulama

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s == "Variable" 

Oluşturma, taslak oluşturma veya güncelleştirme gibi herhangi bir runbook işlemini izlemek için sorgulama

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Runbook" 

Herhangi bir sertifika oluşturma, güncelleştirme veya silme işlemini izlemek için sorgulama

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Certificate" 

Kimlik bilgileri oluşturma, güncelleştirme veya silmeyi izlemek için sorgulama

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Credential" 

İş durumu çıkışını JSON nesnesine dönüştüren filtre uygulama

Son zamanlarda, Otomasyon günlük verilerinin Log Analytics hizmetindeki tabloya AzureDiagnostics nasıl yazıldığına ilişkin davranışı değiştirdik ve JSON özelliklerini artık ayrı alanlara bölmedi. Runbook'unuzu çıkış akışındaki nesneleri JSON biçiminde ayrı sütunlar olarak biçimlendirecek şekilde yapılandırdıysanız, bu özelliklere erişmek için sorgularınızı bu alanı bir JSON nesnesine ayrıştıracak şekilde yeniden yapılandırmanız gerekir. Bu, bilinen bir yolda belirli bir JSON öğesine erişmek için json ayrıştırma kullanılarak gerçekleştirilir.

Örneğin, bir runbook çıktı akışındaki ResultDescription özelliğini birden çok alanla JSON biçiminde biçimlendirmektedir. Durum adlı bir alanda belirtildiği gibi başarısız durumda olan işlerinizin durumunu aramak için bu örnek sorguyu kullanarak ResultDescription'da Başarısız durumuyla arama yapın:

AzureDiagnostics
| where Category == 'JobStreams'
| extend jsonResourceDescription = parse_json(ResultDescription)
| where jsonResourceDescription.Status == 'Failed'

Log Analytics Historical Job Stream JSON format

Sonraki adımlar