Otomatik görevleri izleme

Tamamlandı

Görevlerinizi otomatikleştirdikten sonra, düzgün çalıştığından emin olmak için bunları izlemek önemlidir. Böylece hizmetlerinizin performansını ve kullanılabilirliğini en üst düzeye çıkarabilir ve sorunları proaktif olarak belirleyebilirsiniz.

Runbook’ları izleme

Runbook'larınız kolayca yeniden kullanılabilir ve yeniden başlatılabilir mantıkla, doğası gereği modüler olmalıdır. Bir runbook'taki ilerleme durumunun izlenmesi, sorun çıkması durumunda runbook mantığının doğru yürütülmesini sağlar.

Bir veritabanı, depolama hesabı veya paylaşılan dosya, runbook'un ilerleme durumunu izlemek için kullanılabilir. Runbook'unuzun bir sonraki eylemi başlatmadan önce gerçekleştirilen son eylemi denetlediğinden emin olun. Denetim sonuçlarına bağlı olarak, mantık runbook'taki belirli görevleri atlayabilir veya devam edebilir.

Runbook'ların yürütülmesini Azure portalında izleyebilirsiniz. Otomasyon hesabınızın ana dikey penceresinin İşlem Otomasyonu bölümünde İş'i seçin.

Screenshot of the job execution history page on Azure portal.

Yukarıdaki resimde görebileceğiniz gibi, vurgulanan runbook tamamlandı. Ayrıntıları ve durumu araştırmak için işi seçin.

Runbook sorunlarını giderme hakkında daha fazla bilgi edinmek için bkz . Runbook sorunlarını giderme

Uyarılar

Runbook'larınızın yürütülmesini izlemek için ölçüm uyarıları da oluşturabilirsiniz. Uyarılar, izlenmesi gereken koşulları ve bu koşullar karşılandığında yapılması gereken eylemleri tanımlamanıza olanak sağlar.

Screenshot of the Create alert rule option for Azure Automation.

Uyarı kuralı oluştur'u seçtiğinizde ekranınızın sağ tarafında Sinyal seçin slaydı açılır. Ardından senaryonuza en uygun sinyali seçmeniz gerekir. Bu örnek için Toplam İşler'i seçin.

Screenshot of the select a signal page for an alert.

Sinyal mantığını yapılandır slaydında Eşik özelliği için Statik'iseçin. Ardından İşleç özelliğini Büyüktür ve Toplama türünü Toplam olarak ayarlayın. Ardından Eşik değeri alanına 10 değerini girin.

Screenshot of the Configure signal logic slide out for an Azure Automation alert.

Alternatif olarak, bir boyut belirtebilirsiniz. Örneğin, bir uyarı kuralının yalnızca belirli bir runbook ve durum için tetiklendiğini tanımlayabilirsiniz. Boyut belirtmezseniz filtre uygulanmaz.

Screenshot of how to add a custom dimension for an alert logic on Azure Automation.

Ardından, bir eylem grubu yapılandırdığınızdan emin olun. Eylem grubu, birden çok uyarıda kullanabileceğiniz bir eylem koleksiyonudur. Bunlar arasında e-posta bildirimleri, runbook'lar, web kancaları ve diğerleri yer alır.

Dekont

Azure Otomasyonu Azure Uyarıları eylem gruplarıyla birleştirerek bir uyarı gönderildiğinde otomasyon runbook'u başlatabilirsiniz.

Etkinlik günlüğü

Azure Otomasyonu runbook'lar yürütülür ve ayrıntılar bir etkinlik günlüğünde toplanır.

Screenshot of the activity log for an Azure Automation account.

Yukarıdaki görüntüde, runbook'u başlatan kişi veya hesap gibi runbook ayrıntılarını alabilirsiniz.

Alternatif olarak, aşağıdaki PowerShell örneği belirtilen runbook'u çalıştıracak son kullanıcıyı sağlar.

$rgName = 'MyResourceGroup'
$accountName = 'MyAutomationAccount'
$runbookName = 'MyRunbook'
$startTime = (Get-Date).AddDays(-1)

$params = @{
    ResourceGroupName = $rgName
    StartTime         = $startTime
}
$JobActivityLogs = (Get-AzLog @params).Where( { $_.Authorization.Action -eq 'Microsoft.Automation/automationAccounts/jobs/write' })

$JobInfo = @{}
foreach ($log in $JobActivityLogs) {
    # Get job resource
    $JobResource = Get-AzResource -ResourceId $log.ResourceId

    if ($null -eq $JobInfo[$log.SubmissionTimestamp] -and $JobResource.Properties.Runbook.Name -eq $runbookName) {
        # Get runbook
        $jobParams = @{
            ResourceGroupName     = $rgName
            AutomationAccountName = $accountName
            Id                    = $JobResource.Properties.JobId
        }
        $Runbook = Get-AzAutomationJob @jobParams | Where-Object RunbookName -EQ $runbookName

        # Add job information to hashtable
        $JobInfo.Add($log.SubmissionTimestamp, @($Runbook.RunbookName, $Log.Caller, $JobResource.Properties.jobId))
    }
}
$JobInfo.GetEnumerator() | Sort-Object Key -Descending | Select-Object -First 1

Log Analytics

Azure Otomasyonu Log Analytics çalışma alanınıza runbook iş durumu ve iş akışları gönderebilir. Bu yöntem çalışma alanı bağlama gerektirmez ve bağımsızdır.

Otomasyon hesabıyla tümleştirilmiş Azure İzleyici günlükleri şunları sağlar:

  • Otomasyon işlerinizin durumunu görüntüleme
  • İş iş akışınızda gelişmiş sorgular yazma
  • Runbook iş durumunuz temelinde e-posta veya uyarı tetikleme
  • Birden çok Otomasyon işinin verilerini ilişkilendirme

Sorguları çalıştırmak için otomasyon hesabınızın ana dikey penceresinin İzleme bölümünden Günlükler'i seçin.

Azure portalı, kullanmaya başlayabilmeniz için birkaç sorgu şablonu sağlar. Aşağıda görebileceğiniz gibi, otomasyon hesabındaki tüm tamamlanmış işleri listelemek için mevcut bir Kusto sorgu şablonunu kullandık.

Screenshot of the Log Analytics workspace runbook query showing a list all completed jobs in the automation account.

Azure Otomasyonu tanılama günlüklerini Log Analytics çalışma alanına iletme özelliği, runbook'larınızın durumunu izlemenize yardımcı olan önemli bir özelliktir.

Dekont

Otomasyon işleri verilerini sorgulamak için Log Analytics'i kullanmaya başlamadan önce Otomasyon Hesabınız için Tanılama ayarlarını yapılandırmanız gerekir.

Elastik işleri izleme (önizleme)

Elastik işlerle iş yürütmeleri günlüğe kaydedilir ve tüm hatalar otomatik olarak yeniden denenebilir. Otomatik yeniden deneme özelliği, hizmetlere geçici hatalara karşı daha dayanıklıdır.

Azure portal, PowerShell ve T-SQL aracılığıyla elastik işlerin yürütülmesini izleyebilirsiniz.

Azure portalı

İşleri yürütme geçmişini görüntülemek için Elastik İş aracısı ana dikey pencereniz için Genel Bakış'ı seçin.

Screenshot of the Overview section for elastic jobs where you can monitor job execution.

PowerShell

Aşağıdaki kod parçacıkları iş yürütme ayrıntılarını alır.

# get the latest 5 executions run
$jobAgent | Get-AzSqlElasticJobExecution -Count 5

# get the job step execution details
$jobExecution | Get-AzSqlElasticJobStepExecution

# get the job target execution details
$jobExecution | Get-AzSqlElasticJobTargetExecution -Count 2

T-SQL

Aşağıdaki örnekte tüm işler için yürütme durumu ayrıntılarının nasıl görüntüleyebileceğiniz gösterilmektedir. Bir iş aracısı oluşturun ve iş veritabanına bağlanın, ardından aşağıdaki komutu çalıştırın:

--View all execution status for all jobs
SELECT * 
FROM jobs.job_executions
ORDER BY start_time DESC;

--View all execution statuses for job named 'MyJob'
SELECT * FROM jobs.job_executions
WHERE job_name = 'MyJob'
ORDER BY start_time DESC;

-- View all active executions
SELECT * 
FROM jobs.job_executions
WHERE is_active = 1
ORDER BY start_time DESC;