Azure Automation – Part 3:Runbook Kullanımı

Azure Automation – Part 3:Runbook Kullanımı

by Hasan GÜRAL, 26 Mayıs 2017

System Center Orchestrator içerisinde kullanılan bir kavram olan Runbook, Service Management Automation ve Azure Automation içerisinde aynı isimle anılmaktadır. Bir Runbook aktivitesi kurumunuz içerisin de tanımlı olan iş süreçlerini, sistem ve yazılım bileşenlerini içeren çeşitli şirket operasyonlarını bir araya getirilerek oluşturulduğu rutin süreçler olarak söylenebilir. İlgili Runbook senaryoları oluşturulurken en uygun çözümleri içeren akış şemaları çizilir. Bu süreçlere örnek verecek olursak, Maintance ve Life Cycle Management, Log Management.

Azure Automation üzerinde Runbook oluştururken karşımıza birçok yöntem çıkmaktadır. Şimdi bu kısımları sırasıyla inceleyelim.

  • Import Runbook : Kendi ortamınızda hazırlamış olduğunuz Powershell Workflow syntaxına uygun bir şekilde “.ps1” uzantılı dosyalarınızı upload yöntemiyle oluşturduğumuz yöntemdir.
  • Import From Gallery : Powershell ile ilgilenenler Technet Script Center üzerinden ihtiyacımız olan bir çok Powershell Script’lerini bulabilmekteyiz. Azure Automation için paylaşılan tüm hazır Runbook şablonlarına “Import runbooks from the Gallery” tıklayarak ulaşabilirsiniz. Gallery içerisine isterseniz, Automation Dashboard ekranından ulaşabilirsiniz.
  • Quick Create Runbook : Bu yöntem ile Automation hesabınız içerisin de yeni bir Runbook oluşturabilirsiniz. Oluşturduktan sonra, ihtiyacınıza göre Powershell Workflow’unuzu geliştirebilirsiniz.

Yukardakilerin dışında eklenebilecek ufak bir konu daha var. On-Premises yapıda kullanılan Orchestrator üzerinde bulunan mevcut flow chart yapısını Automation içerisine aktarmak istenildiği zaman akıllara Migration senaryoları gelmektedir. Bunun için Microsoft’un geliştirdiği System Center Orchestrator Migration Toolkit sayesinde SMA ve Azure Automation üzerine taşıma senaryolarını desteklemektedir.

Runbook oluşturma yöntemlerinden bahsettikten sonra, Quick Create yöntemiyle bir adet oluşturalım. Bunun için Azure Portal içerisinden “New” Butonua basılır,

Karşımıza gelen ekranda, Runbook > Quick Create tıklanarak, Runbook Name, Description, Automation Account gibi bilgiler belirtilir. Hemen alt kısımda dikkatimizi çekmesini istediğim nokta, “From Gallery” tıklanarak yukarıda bahsetmiş olduğumuz Runbook oluşturma adımlarının “Import From Gallery” buradan da gerçekleştirebilirisiniz.

Create butonuna tıkladıktan sonra, “PeakUp – StartVM” adındaki Runbook oluşturma işlemini tamamlayalım.

Azure Portal da Runbook oluşturma işlemi tamamlandıktan sonra, Automation Account içerisinden Runbook sekmesi içerisine gittiğimiz zaman artık Runbook içerisine Powershell Workflow yazabiliriz. İsteğe bağlı olarak yukarıda görüldüğü gibi “Edit Runbook” diyerek Runbook içerisine girebilir ve Powershell Workflow geliştirme sürecine başlayabilirsiniz. Şimdi Runbook aktivitesi içerisindeki sekmeleri sırasıyla ne iş yaptıklarını anlayalım.

Dashboard : Runbook içerisinden ulaştığımız bu sayfada görmek istediğiniz Runbook aktivitesi için özet görünüm sunar. Tarafımıza sunulan grafik isteğe bağlı olarak ekranın sağ üst köşesinden zaman aralığını belirtebilirsiniz. Bu gösterilen rapor içerisin de Runbook aktivitesinin “Queued, Failed, Stopped” gibi kavramlar göreceksiniz. Bu sayfayı lütfen Automation Account içerisinde anlattığımız Dashboard sayfası ile karıştırmayalım. Bu ekranda sadece seçtiğiniz Runbook aktivitesinin durumunu görmektesiniz.

Jobs : Seçilen Runbook aktivitesinin Schedule bir şekilde ayarlandıktan sonra çalışan tüm işlerin sonuçları liste halinde görmemizi sağlar. Bu sayfa içerisin Runbook aktivitesi çalıştıktan sonra işin durumunu ve detaylı bilgiyi buradan alabilirsiniz.

Author : Runbook içine girildiği (Author) kısmına “Draft” ve “Published” kavramları bizleri karşılıyor. Bu ekran içerisin de Powershell Workflow syntax yapısına uygun yazılan kod bloklarına “Draft” üzerinde Runbook Editor ile geliştirme yapılabilir veya geliştirilen Powershell Workflow sürecinin istenilirse Runbook Editör üzerinden “Test” işlemleri yapılmaktadır. Geliştirme süreci bittikten sonra, “Publish” tıklanarak ve yayınlanır. “Publish” edilmeden herhangi bir “Schedule” ataması gerçekleşemez. Herhangi bir Runbook “Publish” edildikten sonra, kod blokları içinde düzenlenme gerekir ise tekrar “Draft” bölümüne gelip değiştirilmesi gerekir.

Schedule : Bu kısımda Runbook için herhangi bir Schedule ataması gerçekleştirebiliriz. Assets kısmından Schedule tipinde bir değişken tanımlası yaptıysanız buradan link edebilir veya kendiniz bu sayfa içerisinden ilgili değişkeni oluşturup atamasını yapabilirsiniz.

Configure : Configure sekmesini kullanarak mevcut yapılandırmayı değiştirebilirsiniz. Bu sekme içerisin de Runbook özeline ait tüm ayarları yeniden yapılandırabilme şansımız var. Eğer dilerseniz, Runbook başlama ve bitişine kadar ayrıntılı Log detayları görme şansına sahipsiniz. Bunları görmek için, Configure sekmesi içerisinden “Log Verbose Records” ve “Log Progress Records” özelliklerini aktif hale getirmeniz gerekiyor. Akıllara hemen şu soru geliyor olabilir, Log ayrıntılarına nereden bakılabilir? Jobs içerisinden “History” sekmesi sizlere yardımcı olacaktır. Bununla beraber yine bu sekme içerisinden Runbook aktivitenize “Tag(Etiket)”atanabilir.

Runbook aktivitesi içinden “Author” sekmesine gelelim. Runbook Editör olarak adlandırdığımız sayfa bizleri karşılıyor olacak. Bu bölümde Powershell Workflow sürecinizi geliştirdiğiniz yer, Runbook aktivitesini geliştirme söz konusu iken kısa bir not düşelim. Tüm bu Runbook geliştirme süreçlerini Powershell ISE üzerinden geliştirsek çok da güzel olurdu düşünenleriniz olabilir. Kulağa hoş geliyor evet, böyle bir şansımız var. Github üzerinden indireceğiniz Add-on sayesinde dilerseniz Azure Automation için geliştireceğiniz Runbook aktivitelerini Powershell ISE ile yapmanız mümkün.

Bkz : https://github.com/azureautomation/azure-automation-ise-addon

Dilerseniz geliştirdiğiniz Runbook aktivitesini nasıl Schedule hale getirebiliriz ondan bahsedelim. Runbook aktivitesi içerisinde geliştirme işlemleri bitti ve “Published” olarak ayarladınız ve gereken “Test” işlemleriniz hepsini yaptınız. Artık aktiviteniz hazır durumda, Schedule tabı içerisine gelip, Mevcut bir Schedule olarak tanımlanmış değişkeniniz var ise onu gösterebilir veya yeni oluşturarak Runbook aktivitesini Schedule edebilirsiniz.

“Link to New Schedule” tıklayarak, yeni bir Schedule değişkeni yaratıp atamasını yapabilirsiniz. “Link to an Existing Schedule” ise Assets kısmında daha önceden yarattığınız veya başka bir Runbook için de kullandığınız Schedule değişkenini tekrar bu bölümde kullanabilirsiniz.

Günlük, saatlik veyabelirlediğiniz bir saatte çalışabilir. Dilerseniz Schedule için bir expire tarihi belirtme şansınızda var. “Complete” butonuna basıyorum ve Runbook aktivitemi Schedule edelim.