Öğretici: Azure Event Grid ve Azure Logic Apps kullanarak sanal makine değişikliklerini izleme

Şunlar için geçerlidir: Azure Logic Apps (Tüketim)

Azure Event Grid ve Azure Logic Apps kullanarak Azure kaynaklarında veya dış kaynaklarda gerçekleşen belirli olayları izleyebilir ve yanıtlayabilirsiniz. Azure Logic Apps'i kullanarak minimum kodla otomatik tüketim mantıksal uygulaması iş akışı oluşturabilirsiniz. Bu kaynakların olayları Azure Event Grid'de yayımlamasını sağlayabilirsiniz. Azure Event Grid de bu olayları kuyrukları, web kancaları veya olay hub'larını uç nokta olarak kullanan abonelere gönderir. Abone olarak, iş akışınız olayları işleme adımlarını çalıştırmadan önce bu olayların Azure Event Grid'e ulaşmasını bekler.

Örneğin, yayımcıların Azure Event Grid aracılığıyla abonelere gönderebileceği bazı olaylar şunlardır:

  • Kaynağı oluşturun, okuyun, güncelleştirin veya silin. Örneğin, Azure aboneliğinizde ücretlendirmeye neden olabilecek ve faturanızı etkileyebilecek değişiklikleri izleyebilirsiniz.

  • Bir Azure aboneliğine kişi ekleyin veya kaldırın.

  • Uygulamanız belirli bir eylemi gerçekleştirir.

  • Bir kuyrukta yeni bir ileti görüntülenir.

Bu öğretici, çok kiracılı Azure Logic Apps'te çalışan ve Tüketim fiyatlandırma modelini temel alan bir Tüketim mantıksal uygulaması kaynağı oluşturur. Bu mantıksal uygulama kaynağını kullanarak, bir sanal makinedeki değişiklikleri izleyen ve bu değişiklikler hakkında e-posta gönderen bir iş akışı oluşturursunuz. Bir Azure kaynağına olay aboneliği olan bir iş akışı oluşturduğunuzda, olaylar bu kaynaktan Azure Event Grid aracılığıyla iş akışına akar.

Screenshot showing the workflow designer with a workflow that monitors a virtual machine using Azure Event Grid.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Azure Event Grid'den olayları izleyen bir mantıksal uygulama kaynağı ve iş akışı oluşturun.
  • Özellikle sanal makine değişikliklerini izleyen bir koşul ekleyin.
  • Sanal makineniz değiştiğinde e-posta gönderin.

Önkoşullar

  • Bir Azure hesabı ve aboneliği Azure aboneliğiniz yoksa ücretsiz bir Azure hesabı için kaydolun.

  • Office 365 Outlook, Outlook.com veya Gmail gibi bildirimleri göndermek için Azure Logic Apps ile çalışan bir e-posta hizmetinden gelen e-posta hesabı. Diğer sağlayıcılar için buradaki bağlayıcı listesini inceleyin.

    Bu öğreticide bir Office 365 Outlook hesabı kullanılır. Farklı bir e-posta hesabı kullanırsanız genel adımlar aynı kalır, ancak kullanıcı arabiriminiz biraz farklı görünebilir.

    Önemli

    Gmail bağlayıcısını kullanmak istiyorsanız bu bağlayıcıyı mantıksal uygulamalarda kısıtlama olmadan yalnızca G-Suite iş hesapları kullanabilir. Gmail tüketici hesabınız varsa bu bağlayıcıyı yalnızca belirli Google onaylı hizmetlerle kullanabilir veya Gmail bağlayıcınızla kimlik doğrulaması için kullanılacak bir Google istemci uygulaması oluşturabilirsiniz. Daha fazla bilgi için bkz . Azure Logic Apps'te Google bağlayıcıları için veri güvenliği ve gizlilik ilkeleri.

  • Kendi Azure kaynak grubunda tek başına olan bir sanal makine. Henüz yapmadıysanız VM oluşturma öğreticisi aracılığıyla bir sanal makine oluşturun. Sanal makinenin olayları yayımlaması için, başka bir işlem yapmanız gerekmez.

  • Trafiği belirli IP adresleriyle sınırlayan bir güvenlik duvarınız varsa güvenlik duvarınızı Azure Logic Apps'in güvenlik duvarı üzerinden iletişim kurmasına izin verecek şekilde ayarlamanız gerekir. Mantıksal uygulamanızı oluşturduğunuz Azure bölgesinde Azure Logic Apps tarafından kullanılan hem gelenhem de giden IP adreslerine erişime izin vermeniz gerekir.

    Bu örnekte, mantıksal uygulama kaynağınız için Azure bölgesindeki tüm yönetilen bağlayıcı giden IP adreslerine erişim izni vermek için güvenlik duvarınızı gerektiren yönetilen bağlayıcılar kullanılır.

Mantıksal uygulama kaynağı oluşturma

  1. Azure hesabınızla Azure portalında oturum açın.

  2. Azure giriş sayfasında Kaynak>oluştur Tümleştirme>Mantıksal Uygulaması'nı seçin.

    Screenshot of Azure portal, showing button to create a logic app resource.

  3. Mantıksal Uygulama Oluştur'un altında mantıksal uygulama kaynağınız hakkında bilgi sağlayın:

    Screenshot of logic apps creation menu, showing details like name, subscription, resource group, and location.

    Özellik Zorunlu Değer Açıklama
    Abonelik Evet <Azure-subscription-name> Bu öğreticideki tüm hizmetler için aynı Azure aboneliğini seçin.
    Kaynak Grubu Evet <Azure-resource-group> Bu öğreticideki tüm hizmetler için seçebileceğiniz mantıksal uygulamanızın Azure kaynak grubu adı.
    Mantıksal Uygulama adı Evet <logic-app-name> Mantıksal uygulamanız için benzersiz bir ad sağlayın.
    Yayınla Evet İş akışı Mantıksal uygulamanız için dağıtım hedefini seçin. Bu öğretici için Azure'a dağıtılan İş Akışı'nın seçildiğinden emin olun.
    Bölge Evet <Azure bölgesi> Bu öğreticideki tüm hizmetler için aynı bölgeyi seçin.
    Plan türü Evet Tüketim Mantıksal uygulamanızın kaynak türü. Bu öğretici için Tüketim'i seçtiğinizden emin olun.

    Dekont

    Daha sonra Bunun yerine Standart mantıksal uygulama kaynağıyla Azure Event Grid işlemlerini kullanmak istiyorsanız, durum bilgisi olmayan bir iş akışı değil durum bilgisi olan bir iş akışı oluşturduğunuzdan emin olun. Bu öğretici yalnızca farklı bir kullanıcı deneyimi izleyen Tüketim mantığı uygulamaları için geçerlidir. Tasarımcıda iş akışınıza Azure Event Grid işlemleri eklemek için, işlemler seçici bölmesinde Azure sekmesini seçtiğinizden emin olun. Çok kiracılı ve tek kiracılı Azure Logic Apps hakkında daha fazla bilgi için Tek kiracılı ve çok kiracılı ve tümleştirme hizmeti ortamını gözden geçirin.

  4. İşiniz bittiğinde Gözden geçir ve oluştur'u seçin. Sonraki bölmede sağlanan bilgileri onaylayın ve Oluştur'u seçin.

  5. Azure mantıksal uygulamanızı dağıtdıktan sonra Kaynağa git'i seçin.

    İş akışı tasarımcısı giriş videosunu ve yaygın olarak kullanılan tetikleyicileri içeren bir sayfa gösterir.

  6. Video penceresini ve yaygın olarak kullanılan tetikleyiciler bölümünü kaydırın.

  7. Şablonlar altında Boş Mantıksal Uygulama'yı seçin.

    Dekont

    İş akışı şablonları galerisi yalnızca Tüketim mantıksal uygulamaları için kullanılabilir, Standart mantıksal uygulamalar için kullanılamaz.

    Screenshot showing Azure Logic Apps templates with selected

    İş akışı tasarımcısı artık mantıksal uygulamanızı başlatmak için kullanabileceğiniz tetikleyicileri gösterir. Her iş akışı, belirli bir olay gerçekleştiğinde veya belirli bir koşul karşılandığında tetiklenen bir tetikleyiciyle başlamalıdır. Tetikleyici her tetiklendiğinde, Azure Logic Apps mantıksal uygulamanızı çalıştıran bir iş akışı örneği oluşturur.

Azure Event Grid tetikleyicisi ekleme

Şimdi sanal makinenizin kaynak grubunu izlemek için kullandığınız Azure Event Grid tetikleyicisini ekleyin.

  1. Tasarımcıda, arama kutusuna yazın event grid. Tetikleyiciler listesinden Kaynak olayı gerçekleştiğinde tetikleyicisini seçin.

    Screenshot that shows the workflow designer with the selected Azure Event Grid trigger.

  2. İstendiğinde Azure hesabı kimlik bilgilerinizle Azure Event Grid'de oturum açın. Azure aboneliğinizle ilişkili Microsoft Entra kiracısını gösteren Kiracı listesinde, doğru kiracının görüntülendiğini denetleyin, örneğin:

    Screenshot that shows the workflow designer with the Azure sign-in prompt to connect to Azure Event Grid.

    Dekont

    veya @hotmail.comgibi @outlook.com kişisel bir Microsoft hesabıyla oturum açtıysanız Azure Event Grid tetikleyicisi doğru görünmeyebilir. Geçici bir çözüm olarak Hizmet Sorumlusu ile Bağlan seçin veya Azure aboneliğinizle ilişkili Microsoft Entra'nın bir üyesi olarak kimlik doğrulaması yapın( örneğin, user-name@emailoutlook.onmicrosoft.com).

  3. Şimdi mantıksal uygulamanızı yayımcıdan gelen olaylara abone olun. Olay aboneliğinizle ilgili ayrıntıları aşağıdaki tabloda açıklandığı gibi sağlayın, örneğin:

    Screenshot that shows the workflow designer with the trigger details editor open.

    Özellik Zorunlu Değer Açıklama
    Abonelik Evet <event-publisher-Azure-subscription-name> Olay yayımcısıyla ilişkili Azure aboneliğinin adını seçin. Bu öğretici için sanal makinenizin Azure aboneliği adını seçin.
    Kaynak Türü Evet <event-publisher-Azure-resource-type> Olay yayımcısı için Azure kaynak türünü seçin. Azure kaynak türleri hakkında daha fazla bilgi için bkz . Azure kaynak sağlayıcıları ve türleri. Bu öğretici için Microsoft.Resources.ResourceGroups Azure kaynak gruplarını izlemek için değeri seçin.
    Kaynak Adı Evet <event-publisher-Azure-resource-name> Olay yayımcısı için Azure kaynak adını seçin. Bu liste, seçtiğiniz kaynak türüne göre değişir. Bu öğretici için sanal makinenizi içeren Azure kaynak grubunun adını seçin.
    Olay Türü Öğesi No <olay türleri> Filtre uygulamak ve Azure Event Grid'e göndermek için belirli bir veya daha fazla olay türünü seçin. Örneğin, kaynakların ne zaman değiştirildiğini veya silindiğini algılamak için isteğe bağlı olarak bu olay türlerini ekleyebilirsiniz:

    - Microsoft.Resources.ResourceActionSuccess
    - Microsoft.Resources.ResourceDeleteSuccess
    - Microsoft.Resources.ResourceWriteSuccess

    Daha fazla bilgi için şu konulara bakın:

    - Kaynak grupları için Azure Event Grid olay şeması
    - Olay filtrelemeyi anlama
    - Azure Event Grid için olayları filtreleme

    İsteğe bağlı özellikler eklemek için Yeni parametre ekle'yi ve ardından istediğiniz özellikleri seçin. No {açıklamalara bakın} * Ön Ek Filtresi: Bu öğretici için bu özelliği boş bırakın. Varsayılan davranış tüm değerlerle eşleşir. Ancak filtre olarak bir ön ek dizesi (örneğin belirli bir kaynak için bir yol ve bir parametre) belirtebilirsiniz.

    * Sonek Filtresi: Bu öğretici için bu özelliği boş bırakın. Varsayılan davranış tüm değerlerle eşleşir. Ancak yalnızca belirli dosya türlerini istediğinizde filtre olarak bir sonek dizesi (örneğin dosya adı uzantısı) belirtebilirsiniz.

    * Abonelik Adı: Bu öğretici için olay aboneliğiniz için benzersiz bir ad sağlayabilirsiniz.

  4. Mantıksal uygulama iş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin. bir eylemin ayrıntılarını iş akışınızda daraltmak ve gizlemek için eylemin başlık çubuğunu seçin.

    Screenshot that shows the workflow designer and the

    Mantıksal uygulama iş akışınızı bir Azure Event Grid tetikleyicisiyle kaydettiğinizde, Azure mantıksal uygulamanız için otomatik olarak seçtiğiniz kaynağa bir olay aboneliği oluşturur. Bu nedenle, kaynak Azure Event Grid hizmetinde bir olay yayımladığında, hizmet olayı otomatik olarak mantıksal uygulamanıza gönderir. Bu olay, bu sonraki adımlarda tanımladığınız mantıksal uygulama iş akışını tetikler ve çalıştırır.

Mantıksal uygulamanız artık canlıdır ve Azure Event Grid'den olayları dinler, ancak iş akışına eylem eklemeden hiçbir şey yapmaz.

Koşul ekle

Mantıksal uygulama iş akışınızın yalnızca belirli bir olay veya işlem gerçekleştiğinde çalışmasını istiyorsanız, Microsoft.Compute/virtualMachines/write işlemini denetleyan bir koşul ekleyin. Bu koşul doğru olduğunda mantıksal uygulama iş akışınız size güncelleştirilmiş sanal makineyle ilgili ayrıntıları içeren bir e-posta gönderir.

  1. İş akışı tasarımcısında, Azure Event Grid tetikleyicisinin altında Yeni adım'ı seçin.

    Screenshot that shows the workflow designer with

  2. Eylem seçin altında, arama kutusuna filtre olarak yazıncondition. Eylemler listesinde Koşul eylemini seçin.

    Screenshot that shows the workflow designer with

    İş akışı tasarımcısı, koşulun doğru mu yoksa yanlış mı olduğuna bağlı olarak izleyebileceğiniz eylem yolları da dahil olmak üzere iş akışınıza boş bir koşul ekler.

    Screenshot that shows the workflow designer with an empty condition added to the workflow.

  3. Koşul başlığını olarak If a virtual machine in your resource group has changedyeniden adlandırın. Koşulun başlık çubuğunda üç nokta (...) düğmesini ve ardından Yeniden Adlandır'ı seçin.

    Screenshot that shows the workflow designer with the condition editor's context menu and

  4. Özelliğin işleme eşit Microsoft.Compute/virtualMachines/write olduğu operationName bir nesne için olayı body denetleen bir data koşul oluşturun. Azure Event Grid olay şeması hakkında daha fazla bilgi edinin.

    1. Ve altındaki ilk satırda, sol kutunun içine tıklayın. Görüntülenen dinamik içerik listesinde İfade'yi seçin.

      Screenshot that shows the workflow designer with the condition action and dynamic content list open with

    2. İfade düzenleyicisinde, tetikleyiciden işlem adını döndüren bu ifadeyi girin ve Tamam'ı seçin:

      triggerBody()?['data']['operationName']

      Örneğin:

      Screenshot showing workflow designer and condition editor with expression to extract the operation name.

    3. Ortadaki kutuda eşittir işlecini tutun.

    4. Sağ kutuya, izlemek istediğiniz işlemi girin. Bu örnekte aşağıdaki değerdir:

      Microsoft.Compute/virtualMachines/write

    Tamamlanmış koşulunuz şu örneğe benzer:

    Screenshot that shows the workflow designer with a condition that compares the operation.

    Tasarım görünümünden kod görünümüne ve tasarım görünümüne geri dönerseniz, koşulda belirttiğiniz ifade data.operationName belirtecine çözümlendi:

    Screenshot that shows the workflow designer with a condition that has resolved tokens.

  5. Mantıksal uygulamanızı kaydedin.

E-posta bildirimleri gönderme

Şimdi, belirtilen koşul doğru olduğunda e-posta alabilmeniz için bir eylem ekleyin.

  1. Koşulun Doğru ise kutusunda, Eylem ekle'yi seçin.

    Screenshot that shows the workflow designer with the condition's

  2. Eylem seçin altında, arama kutusuna filtre olarak yazınsend an email. E-posta sağlayıcınıza uygun bağlayıcıyı bulun ve seçin. Ardından bağlayıcı için "e-posta gönder" eylemini seçin. Örneğin:

    • Azure iş veya okul hesabı için Office 365 Outlook bağlayıcısını seçin.

    • Kişisel Microsoft hesapları için Outlook.com bağlayıcısını seçin.

    • Gmail hesapları için Gmail bağlayıcısını seçin.

    Bu öğretici Office 365 Outlook bağlayıcısıyla devam eder. Farklı bir sağlayıcı kullanıyorsanız adımlar aynı kalır, ancak kullanıcı arabiriminiz biraz farklı görünebilir.

    Screenshot that shows the workflow designer with the search box open to find the

  3. E-posta sağlayıcınız için henüz bir bağlantınız yoksa, kimlik doğrulaması istendiğinde e-posta hesabınızda oturum açın.

  4. E-posta gönder eylemini şu başlığa yeniden adlandırın: Send email when virtual machine updated

  5. Aşağıdaki tabloda belirtilen e-posta hakkında bilgi sağlayın:

    Screenshot that shows the workflow designer with dynamic content being addded to email subject line for a true condition.

    Bahşiş

    İş akışınızda önceki adımlardan çıktıyı seçmek için, dinamik içerik listesinin görünmesi için bir düzenleme kutusunun içine tıklayın veya Dinamik içerik ekle'yi seçin. Daha fazla sonuç için listedeki her bölüm için daha fazla bilgi'yi seçin. Dinamik içerik listesini kapatmak için Dinamik içerik ekle'yi yeniden seçin.

    Özellik Zorunlu Değer Açıklama
    İşlem Evet <recipient@domain> Alıcının e-posta adresi girin. Test için kendi e-posta adresinizi kullanabilirsiniz.
    Konu Evet Resource updated:Konu E-posta konusunun içeriğini girin. Bu öğretici için, belirtilen metni girin ve olayın Konu alanını seçin. Burada, e-postanızın konusu güncelleştirilen kaynağın (sanal makine) adını içerir.
    Gövde Evet Resource:Konu

    Event type:Olay Türü

    Event ID:Kimlik

    Time:Olay Zamanı

    E-posta gövdesinin içeriğini girin. Bu öğreticide, belirtilen metni girin ve olayın Konu, Olay Türü, Kimlik ve Olay Zamanı alanlarını seçerek e-postanızın olayı tetikleyen kaynağı, olay türünü, olay zaman damgasını ve güncelleştirmenin olay kimliğini içermesini sağlayın. Bu öğreticide kaynak, tetikleyicide seçilen Azure kaynak grubudur.

    İçeriğinize boş satır eklemek için Shift + Enter tuşlarını kullanın.

    Dekont

    Bir diziyi temsil eden bir alan seçerseniz, tasarımcı eyleme otomatik olarak diziye başvuran bir For each döngüsü ekler. Bu şekilde mantıksal uygulama iş akışınız bu eylemi her dizi öğesinde gerçekleştirir.

    Şimdi, e-posta eyleminiz bu örnekteki gibi görünebilir:

    Screenshot that shows the workflow designer with selected outputs to send in email when VM is updated.

    Tamamlanmış mantıksal uygulama iş akışınız aşağıdaki örnekteki gibi görünebilir:

    Screenshot showing designer with complete workflow and details for trigger and actions.

  6. Mantıksal uygulamanızı kaydedin. Mantıksal uygulamanızda her eylemin ayrıntılarını daraltmak ve gizlemek için eylemin başlık çubuğunu seçin.

    Mantıksal uygulamanız artık canlıdır ancak herhangi bir işlem gerçekleştirmeden önce sanal makinenizde yapılan değişiklikleri bekler. İş akışınızı şimdi test etmek için sonraki bölüme geçin.

Mantıksal uygulama iş akışınızı test etme

  1. İş akışınızın belirtilen olayları alıp almadığını denetlemek için sanal makinenizi güncelleştirin.

    Örneğin, sanal makinenizi yeniden boyutlandırabilirsiniz.

    Birkaç dakika sonra bir e-posta almanız gerekir. Örneğin:

    Screenshot of example Outlook email, showing details about VM update.

  2. Mantıksal uygulamanızın çalıştırmalarını ve tetikleyici geçmişini gözden geçirmek için mantıksal uygulama menünüzün Genel Bakış'ı seçin. Çalıştırma hakkında daha fazla ayrıntı görüntülemek için o çalıştırmanın satırını seçin.

    Screenshot of logic app's overview page, showing a successful run selected.

  3. Her bir adımın giriş ve çıkışlarını görüntülemek için gözden geçirmek istediğiniz adımı genişletin. Bu bilgiler mantıksal uygulamanızdaki sorunları tespit etmenize ve gidermenize yardımcı olabilir.

    Screenshot of logic app's runs history, showing details for each run.

Tebrikler, Azure Event Grid aracılığıyla kaynak olaylarını izleyen ve bu olaylar gerçekleştiğinde size e-posta ile e-postalar veren bir mantıksal uygulama iş akışı oluşturdunuz ve çalıştıracaksınız. Ayrıca, süreçleri otomatik hale getiren iş akışlarını ne kadar kolay oluşturabileceğinizi ve sistemler ile bulut hizmetlerini tümleştirmeyi öğrendiniz.

Olay kılavuzları ve mantıksal uygulamalarla diğer yapılandırma değişikliklerini izleyebilirsiniz, örneğin:

  • Sanal makine, Azure rol tabanlı erişim denetimi (Azure RBAC) haklarını alır.
  • Değişiklikler bir ağ arabirimi (NIC) üzerindeki bir ağ güvenlik grubunda (NSG) yapılır.
  • Bir sanal makine için diskler eklenir veya kaldırılır.
  • Bir sanal makine NIC’sine genel bir IP adresi atanır.

Kaynakları temizleme

Bu öğreticide Azure aboneliğinize ücret uygulanmasına neden olan kaynaklar kullanılmakta ve eylemler gerçekleştirilmektedir. Bu nedenle öğreticiyi ve testlerinizi tamamladıktan sonra ücret uygulanmasını istemediğiniz kaynakları devre dışı bırakmayı veya silmeyi unutmayın.

  • çalışmanızı silmeden iş akışınızı çalıştırmayı durdurmak için uygulamanızı devre dışı bırakın. Mantıksal uygulama menünüzün genel bakış'ı seçin. Araç çubuğunda Devre Dışı Bırak'ı seçin.

    Screenshot of logic app's overview, showing Disable button selected to disable the logic app.

    Bahşiş

    Mantıksal uygulama menüsü görünmüyorsa Azure panosuna dönüp mantıksal uygulamanızı yeniden açmayı deneyin.

  • Mantıksal uygulamanızı kalıcı olarak silmek için mantıksal uygulama menüsünde Genel Bakış'ı seçin. Araç çubuğunda Sil'i seçin. Mantıksal uygulamanızı silmek istediğinizi onaylayın ve Sil'i seçin.

Sonraki adımlar

Farklı programlama dillerini kullanarak Azure Event Grid'de olayları yayımlama ve kullanma hakkında bilgi edinmek için aşağıdaki örneklere bakın.