Grafik temelli runbook’larda hataları ele alma
Azure Otomasyonu grafik runbook'unuz için dikkate almanız gereken temel tasarım ilkesi, runbook'un yürütme sırasında karşılaşabileceği sorunların belirlenmesidir. Bu sorunlar arasında başarı, beklenen hata durumları ve beklenmeyen hata koşulları sayılabilir.
Genellikle, bir runbook etkinliğinde oluşan sonlandırıcı olmayan bir hata varsa, Windows PowerShell hatadan bağımsız olarak aşağıdaki tüm etkinlikleri işleyerek etkinliği işler. Hata büyük olasılıkla bir özel durum oluşturur, ancak sonraki etkinliğin çalışmasına yine de izin verilir.
Grafik runbook'unuz, yürütme sorunlarıyla başa çıkmak için hata işleme kodunu içermelidir. Etkinliğin çıkışını doğrulamak veya bir hatayı işlemek için PowerShell kod etkinliği kullanabilir, etkinliğin çıkış bağlantısında koşullu mantık tanımlayabilir veya başka bir yöntem uygulayabilirsiniz.
Azure Otomasyonu grafiksel runbook’ları, hata işleme özelliğiyle geliştirilmiştir. Bundan böyle özel durumları sonlandırıcı olmayan hatalara dönüştürebilir ve etkinlikler arasında hata bağlantıları oluşturabilirsiniz. Geliştirilmiş işlem, runbook'unuzun hataları yakalamasına ve gerçekleşen veya beklenmeyen koşulları yönetmesine olanak tanır.
Runbook yürütme sırasında oluşabilecek PowerShell hatalarının türleri, hataları ve sonlandırılmayan hataları sonlandırıcıdır.
Sonlandırma hatası, yürütme sırasında bir komutun veya betiğin yürütülmesini tamamen durduran ciddi bir hatadır. Örnek olarak var olmayan cmdlet'ler, cmdlet'in çalışmasını engelleyen söz dizimi hataları ve diğer önemli hatalar verilebilir.
Sonlandırılmayan bir hata, hata koşuluna rağmen yürütmenin devam etmesine olanak tanıyan ciddi olmayan bir hatadır. Örnek olarak dosya bulunamadı hataları ve izin sorunları gibi işletimsel hatalar verilebilir.
Kritik bir etkinlik hata veya özel durum oluştururken runbook'unuzda hata işlemeyi kullanın. Runbook'taki bir sonraki etkinliğin işlenmesini önlemek ve hatayı uygun şekilde işlemek önemlidir. Runbook'larınız bir iş veya hizmet işlemleri sürecini destekliyorsa hatanın işlenmesi özellikle kritik önem taşır.
Hata oluşturabilen her etkinlik için, başka herhangi bir etkinliğe işaret eden bir hata bağlantısı ekleyebilirsiniz. Hedef etkinlik, kod etkinliği, cmdlet çağırma, başka bir runbook çağırma vb. dahil olmak üzere herhangi bir türde olabilir. Hedef etkinliğin normal veya hata bağlantılarına sahip giden bağlantıları da olabilir. Bağlantılar, runbook'un bir kod etkinliğine başvurmadan karmaşık hata işleme mantığı uygulamasına olanak tanır.
Önerilen uygulama, ortak işlevlere sahip ayrılmış bir hata işleme runbook'u oluşturmaktır, ancak bu uygulama zorunlu değildir. Örneğin, bir sanal makine başlatmaya ve üzerine bir uygulama yüklemeye çalışan bir runbook düşünün. VM doğru şekilde başlatılmıyorsa, şu şekilde olur:
- Bu sorun hakkında bir bildirim gönderir.
- Bunun yerine otomatik olarak yeni bir VM sağlayan başka bir runbook başlatır.
Bir çözüm, runbook'ta birinci adımı işleyen bir etkinliğe işaret eden bir hata bağlantısına sahip olmaktır. Örneğin, runbook cmdlet'ini Start-AzAutomationRunbook cmdlet'i gibi ikinci adım için bir etkinliğe bağlayabilirWrite-Warning
.
Ayrıca bu iki etkinliği ayrı bir hata işleme runbook'una yerleştirerek birçok runbook'ta kullanmak üzere bu davranışı genelleştirebilirsiniz. Özgün runbook'unuz bu hata işleme runbook'unu çağırmadan önce, verilerinden özel bir ileti oluşturabilir ve ardından bunu hata işleme runbook'una parametre olarak geçirebilir.
Runbook'unuzda her etkinliğin özel durumları sonlandırıcı olmayan hatalara dönüştüren bir yapılandırma ayarı vardır. Varsayılan olarak bu ayar devre dışıdır. Runbook'unuzun hataları işlediği herhangi bir etkinlikte bu ayarı etkinleştirmenizi öneririz. Bu ayar, runbook'un bir hata bağlantısı kullanarak etkinlikteki sonlandırıcı ve sonlandırılmayan hataları sonlandırıcı olmayan hatalar olarak işlemesini sağlar.
Yapılandırma ayarını etkinleştirdikten sonra runbook'unuzun hatayı işleyen bir etkinlik oluşturmasını sağlayın. Etkinlik herhangi bir hata üretirse giden hata bağlantıları takip edilir. Etkinlik normal çıkış da üretse bile normal bağlantılar izlenmez.
Aşağıdaki örnekte, runbook bir VM'nin bilgisayar adını içeren bir değişken alır. Ardından vm'yi sonraki etkinlikle başlatmayı dener.
Etkinlik Get-AutomationVariable
ve Start-AzVM cmdlet'i özel durumları hatalara dönüştürecek şekilde yapılandırılır. Değişkeni alma veya VM'yi başlatma sorunları varsa kod hata oluşturur.
.
Hata bağlantıları bu etkinliklerden tek error management
bir kod etkinliğine akar. Bu etkinlik, işlemeyi throw
durdurmak ve geçerli özel durumu açıklayan iletiyi almak için anahtar sözcüğünü kullanan basit bir PowerShell ifadesiyle $Error.Exception.Message
yapılandırılır.
- Grafik runbook hatalarını çözme hakkında bilgi için bkz . Runbook sorunlarını giderme.