Öğ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 kaynaklarında veya dış kaynaklarda gerçekleşen belirli olayları izlemek ve yanıtlamak için Azure Event Grid ve Azure Logic Apps'i kullanabilirsiniz. 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.

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 öğreticide, çok kiracılı Azure Logic Apps'te çalışan bir Tüketim mantıksal uygulaması kaynağı oluşturacaksınız. Uygulama Tüketim fiyatlandırma modelini temel alır. 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.

Azure Event Grid kullanarak bir sanal makineyi izleyen bir iş akışına sahip iş akışı tasarımcısını gösteren ekran görüntüsü.

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 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 bağlayıcılar listesine bakın.

    Bu öğreticide bir Office 365 Outlook hesabı kullanılır. Farklı bir e-posta hesabı kullanıyorsanız 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. Sanal makineye ihtiyacınız varsa bkz. Azure portalında Windows sanal makinesi oluşturma. Sanal makinenin olayları yayımlamasını sağlamak için başka bir şey 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 ayarlayın. 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

    Mantıksal uygulama kaynağı oluşturma seçeneklerini içeren Azure portalını gösteren ekran görüntüsü.

  3. Çok> seçin.

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

    Ad, abonelik, kaynak grubu ve konum gibi ayrıntıları gösteren mantıksal uygulamalar oluşturma menüsünü gösteren ekran görüntüsü.

    Parametre Zorunlu Değer Açıklama
    Abonelik Yes < Azure aboneliği-adı> Bu öğreticideki tüm hizmetler için aynı Azure aboneliğini seçin.
    Kaynak Grubu Yes < 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ı Yes < mantık-uygulama-adı> Mantıksal uygulamanız için benzersiz bir ad sağlayın.
    Bölge Yes < Azure bölgesi> Bu öğreticideki tüm hizmetler için aynı bölgeyi seçin.

    Not

    Bu öğretici yalnızca farklı bir kullanıcı deneyimi izleyen Tüketim mantığı uygulamaları için geçerlidir. Daha fazla bilgi için bkz . Standart tek kiracılı mantıksal uygulamalar ile Tüketim çok kiracılı mantıksal uygulamalar arasındaki farklar.

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

Azure Event Grid tetikleyicisi ekleme

Sanal makinenizin kaynak grubunu izleyebilmek üzere Azure Event Grid tetikleyicisini eklemek için şu adımları izleyin:

  1. Azure portalında Tüketim mantıksal uygulama kaynağınızı açın.

  2. Kaynak kenar çubuğundaki Geliştirme Araçları'nın altında iş akışınızı açmak için tasarımcıyı seçin.

  3. Tasarımcıda, iş akışınıza Kaynak olayı gerçekleştiğindeadlı Azure Event Grid tetikleyicisini eklemek için bu genel adımları izleyin.

  4. Bağlantı oluştur bölmesinde aşağıdaki bilgileri sağlayın:

    Parametre Zorunlu Açıklama
    Kimlik Doğrulaması Yes Bağlantı için gerekli kimlik doğrulama türünü seçin. Seçiminiz bu bağlantının gerektirdiği diğer parametre değerlerini belirler.

    Örneğin, OAuth kimlik doğrulaması ile Kiracı Kimliği listesi görüntülenir ve Azure aboneliğiniz için Microsoft Entra kiracısını gösterir. Doğru kiracının göründüğünü onaylayın:

    Azure Event Grid için oturum açma istemini içeren iş akışı tasarımcısını gösteren ekran görüntüsü.

    Not

    veya @outlook.comgibi @hotmail.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 Sorumlusuna Bağlan'ı seçin veya Azure aboneliğiniz için Microsoft Entra üyesi olarak kimlik doğrulaması yapın. Örneğin, kullanıcı-adı@emailoutlook.onmicrosoft.com.

  5. İşiniz bittiğinde oturum açın.

  6. Şimdi, yayımcıdan gelen olaylara abonelikle iş akışınızı ayarlayın.

    Tetikleyici bölmesinde olay aboneliğiniz hakkında aşağıdaki bilgileri sağlayın:

    Tetikleyici ayrıntıları düzenleyicisinin açık olduğu iş akışı tasarımcısını gösteren ekran görüntüsü.

    Parametre Zorunlu Değer Açıklama
    Kaynak Türü Yes < event-publisher-Azure-resource-type> Olay yayımcısı için Azure kaynak türünü seçin. Daha fazla bilgi için bkz . Azure kaynak sağlayıcıları ve türleri. Bu öğreticide, Azure kaynak gruplarını izlemek için Microsoft.Resources.ResourceGroups'u seçin.
    Abonelik Yes < event-publisher-Azure-subscription-name> Olay yayımcısı için Azure aboneliğinin adını seçin. Bu öğretici için sanal makinenizin Azure aboneliği adını seçin.
    Kaynak Adı Yes < 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 Hayır < 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 bkz:

    - Event Grid kaynağı olarak Azure kaynak grubu
    - Olay filtrelemeyi anlama
    - Event Grid için olayları filtreleme
    İsteğe bağlı parametreler eklemek için Gelişmiş parametreler listesini açın ve istediğiniz parametreleri seçin. Hayır {açıklamalara bakın} - Ön Ek Filtresi: Bu öğretici için bu değeri 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 değeri 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.
  7. İş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin.

    azure event grid tetikleyicisi ile iş akışınızı kaydettiğinizde Azure, iş akışınız için seçtiğiniz kaynağa yönelik bir olay aboneliği oluşturur. Kaynak Azure Event Grid hizmetinde bir olay yayımladığında, hizmet olayı iş akışınıza gönderir. Bu olay, sonraki bölümde tanımladığınız iş akışını tetikler ve çalıştırır.

İş akışınızı kaydettiğinizde mantıksal uygulama kaynağınız Azure portalında canlı hale gelir ve Azure Event Grid'den olayları dinlemeye başlar. Ancak, siz görevleri gerçekleştirmek için eylemler ekleyene kadar iş akışınız başka bir şey yapmaz.

Koşul ekle

İş akışınızdaki eylemleri yalnızca belirli bir olay veya işlem gerçekleştiğinde çalıştırmak için, bu olayı veya işlemi denetleyan bir koşul ekleyin. Bu öğretici , Microsoft.Compute/virtualMachines/write işlemini denetler. Bu koşul doğru olduğunda, iş akışınızdaki başka bir eylem güncelleştirilmiş sanal makine hakkında bilgi içeren bir e-posta gönderir.

  1. Tasarımcıda, iş akışınıza Koşul adlı yerleşik eylemi eklemek için bu genel adımları izleyin.

    Tasarımcı, 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.

    İş akışına boş bir koşul eklenmiş iş akışı tasarımcısını gösteren ekran görüntüsü.

  2. Koşulu yeniden adlandırmak için eylem bölmesindeki eylem başlığında Koşul'u seçin. Başlığı Kaynak grubunuzdaki bir sanal makine değiştiyse olarak yeniden adlandırın.

    İş akışı tasarımcısını ve yeni ada sahip eylem başlığı kutusunu gösteren ekran görüntüsü.

  3. Parametresinin body işlemine eşit olduğu data bir nesne için olayı operationName denetleen bir koşul oluşturun. Daha fazla bilgi için bkz. Azure Event Grid olay şeması.

    1. Ve altındaki ilk satırda, dinamik içerik listesi (şimşek simgesi) ve ifade düzenleyicisi (işlev simgesi) olan giriş seçeneklerini göstermek için sol kutunun içini seçin. İfade düzenleyicisini seçin.

      Yeniden adlandırılmış Koşul eylemi ve ifade düzenleyicisinin açık olduğu iş akışı tasarımcısını gösteren ekran görüntüsü.

    2. Düzenleyicide İşlev'in seçili olduğundan emin olun. Düzenleyici kutusuna, tetikleyiciden işlem adını döndüren aşağıdaki ifadeyi girin ve Ekle'yi seçin:

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

      Örneğin:

      İşlem adını ayıklamak için ifade içeren iş akışı tasarımcısını ve koşul düzenleyicisini gösteren ekran görüntüsü.

    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:

    İşlemi karşılaştıran bir koşula sahip iş akışı tasarımcısını gösteren ekran görüntüsü.

    Değişikliklerinizi kaydeder ve tasarımcı görünümünden kod görünümüne geçer ve sonra tasarımcı görünümüne dönerseniz, koşuldaki ifade data.operationName belirtecine çözümür:

    Belirteçleri çözümleyen bir koşula sahip iş akışı tasarımcısını gösteren ekran görüntüsü.

  4. İş akışını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 True kutusunda + seçin>.

    Koşulun True bölmesinin açık olduğu ve Eylem ekle seçeneğinin belirlenildiği iş akışı tasarımcısını gösteren ekran görüntüsü.

  2. Eylem bölmesi ekle arama kutusuna e-posta gönder yazın. E-posta sağlayıcınıza bağlı olarak ilgili bağlayıcı türünü bulun. Bağlayıcınız için "e-posta gönder" eylemini seçin. Örneğin:

    • Azure iş veya okul hesabı için E-posta gönder (V2) adlı Office 365 Outlook bağlayıcısı eylemini seçin.
    • Kişisel Microsoft hesapları için E-posta gönder (V2) adlı Outlook.com bağlayıcı eylemini seçin.
    • Gmail hesapları için E-posta gönder (V2) adlı Gmail bağlayıcısı eylemini seçin.

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

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

  4. E-posta gönder eylemini şu başlıkla yeniden adlandırın: Sanal makine güncelleştirildiğinde e-posta gönder.

  5. Eylem bölmesinde, gönderilecek e-posta hakkında aşağıdaki bilgileri sağlayın:

    İpucu

    İş akışınızdaki önceki işlemlerden (tetikleyici ve eylemler) çıktı seçmek için şu adımları izleyin:

    1. Dinamik içerik listesi (şimşek simgesi) ve ifade düzenleyicisi (işlev simgesi) olan giriş seçeneklerini göstermek için düzenleme kutusunun içini seçin. Dinamik içerik listesini seçin.
    2. Eklemek istediğiniz çıkışları bulun ve seçin. Daha fazla sonuç için listedeki her bölüm için daha fazla bilgi'yi seçin.
    Parametre Zorunlu Değer Açıklama
    İşlem Yes < recipient@domain> Alıcının e-posta adresi girin. Test için kendi e-posta adresinizi kullanabilirsiniz.
    Konu Yes Kaynak güncelleştirildi:[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 Yes Kaynak:[Konu]

    Olay türü:[Olay Türü]

    Olay Kimliği:[Kimlik]

    Saat:[Olay Saati]
    E-posta gövdesinin içeriğini girin. Bu öğreticide, belirtilen metni girin ve olayın Konu, Olay Türü, Kimlik ve Olay Zamanı çıkışlarını seçin; böylece e-postanız güncelleştirmeyi tetikleyen kaynağı, olay türünü, olay zaman damgasını ve olay kimliğini içerir. Bu öğreticide kaynak, tetikleyicide seçilen Azure kaynak grubudur.

    İçeriğinize boş satırlar eklemek için Shift + basın.

    Not

    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, iş akışınız bu eylemi her dizi öğesinde gerçekleştirir.

    E-posta eyleminiz şu örneğe benzer olabilir:

    Sanal makine güncelleştirildiğinde e-postayla gönderilecek seçili çıkışları içeren iş akışı tasarımcısını gösteren ekran görüntüsü.

    Tamamlanmış iş akışınız artık aşağıdaki örneğe benzer:

    Tam iş akışı ve tetikleyici ve eylemlere ilişkin ayrıntıları içeren tasarımcıyı gösteren ekran görüntüsü.

  6. İş akışınızı kaydedin.

    İş akışı güncelleştirmeleriniz artık canlı. İş akışı tetikleyicisi, herhangi bir işlem yapmadan önce sanal makinenizde yapılan değişiklikleri bekler. İş akışınızı şimdi test etmek için sonraki bölüme geçin.

İş 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:

  2. İş akışınızın çalıştırma geçmişini veya tetikleyici geçmişini gözden geçirmek için kaynak kenar çubuğunda Genel Bakış'ı seçin.

  3. Genel Bakış sayfasında Çalıştırma geçmişi'ni seçin. İş akışı çalıştırması hakkında daha fazla ayrıntı görüntülemek için bu çalıştırmayı seçin.

    Başarılı bir çalıştırmanın seçili olduğu mantıksal uygulamaya genel bakış sayfasını gösteren ekran görüntüsü.

  4. Her işlemin girişlerini ve çıkışlarını görüntülemek için bu işlemi seçin.

    Bu bilgiler, iş akışınızdaki sorunları tanılamanıza ve hatalarını ayıklamanıza yardımcı olabilir.

    Her çalıştırmayla ilgili ayrıntıları içeren iş akışı çalıştırma geçmişini gösteren ekran görüntüsü.

Tebrikler! Azure Event Grid'de kaynak olaylarını izleyen ve bu olaylar gerçekleştiğinde size e-posta ile e-posta ile gönderme yapan bir iş akışı oluşturup çalıştırmışsı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 iş akışlarıyla diğer yapılandırma değişikliklerini izleyebilirsiniz, örneğin:

  • Sanal makine, Azure rol tabanlı erişim denetimi (Azure RBAC) izinlerini 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. Öğretici ve test işlemini tamamladığınızda ücretlendirmek istemediğiniz kaynakları devre dışı bırakın veya silin.

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

    Devre Dışı Bırak düğmesinin seçili olduğu mantıksal uygulamaya Genel Bakış sayfasını gösteren ekran görüntüsü.

    İpucu

    Mantıksal uygulama kenar çubuğunu görmüyorsanız Azure portalı girişine dönüp mantıksal uygulama kaynağınızı yeniden açmayı deneyin.

  • Mantıksal uygulamanızı kalıcı olarak silmek için kenar çubuğu 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.

Olayları yayımlama ve farklı programlama dillerini kullanarak Azure Event Grid ile olayları kullanma hakkında örnekler için aşağıdaki örneklere bakın: