Öğ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 kullanarak minimum kodla otomatik tüketim mantıksal uygulaması iş akışı oluşturabilirsiniz. Bu kaynakların olayları Azure Event Grid yayımlamasını sağlayabilirsiniz. Buna karşılık, Azure Event Grid bu olayları uç nokta olarak kuyrukları, web kancaları veya olay hub'ları olan 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 gelmesini bekler.
Örneğin, yayımcıların abonelere Azure Event Grid aracılığıyla 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. Azure kaynağına olay aboneliği olan bir iş akışı oluşturduğunuzda, olaylar bu kaynaktan Azure Event Grid iş akışına akar.
Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:
- Azure Event Grid olaylarını 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.
Ön koş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 birlikte çalışan bir e-posta hizmeti 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, mantıksal uygulamalarda kısıtlama olmadan yalnızca G-Suite iş hesapları bu bağlayıcıyı 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 yalnız 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 kurabilmesi için erişime izin verecek şekilde ayarlamanız gerekir. Mantıksal uygulamanızı oluşturduğunuz Azure bölgesinde Azure Logic Apps tarafından kullanılan hem gelen hem de giden IP adreslerine erişim izni vermeniz gerekir.
Bu örnekte, güvenlik duvarınızın mantıksal uygulama kaynağınız için Azure bölgesindeki tümyönetilen bağlayıcı giden IP adreslerine erişim izni vermesini gerektiren yönetilen bağlayıcılar kullanılır.
Mantıksal uygulama kaynağı oluşturma
Azure hesabınızla Azure portalında oturum açın.
Azure giriş sayfasında Kaynak> oluşturTümleştirme>Mantıksal Uygulaması'nı seçin.
Mantıksal Uygulama Oluştur'un altında mantıksal uygulama kaynağınız hakkında bilgi sağlayın:
Özellik Gerekli Değer Açıklama Abonelik Evet <Azure aboneliği-adı> 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ımla 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.
Not
Daha sonra Azure Event Grid işlemlerini standart mantıksal uygulama kaynağıyla 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ı deneyimini izleyen Tüketim mantığı uygulamaları için geçerlidir. tasarımcıda iş akışınıza Azure Event Grid işlemler eklemek için, işlem 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ı karşılaştırmasını gözden geçirin.
İş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.
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.
Video penceresini ve yaygın olarak kullanılan tetikleyiciler bölümünü kaydırın.
Şablonlar altında Boş Mantıksal Uygulama'yı seçin.
Not
İş akışı şablonları galerisi yalnızca Tüketim mantıksal uygulamaları için kullanılabilir, Standart mantıksal uygulamalar için kullanılamaz.
İş 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.
Tasarımcıda, arama kutusuna yazın
event grid. Tetikleyiciler listesinden Kaynak olayı gerçekleştiğinde tetikleyicisini seçin.
İstendiğinde Azure hesabı kimlik bilgilerinizle Azure Event Grid oturum açın. Azure aboneliğinizle ilişkilendirilmiş Azure Active Directory kiracısını gösteren Kiracı listesinde, doğru kiracının görüntülendiğini denetleyin, örneğin:
Not
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 çözüm olarak Hizmet Sorumlusuna Bağlan'ı seçin veya Azure aboneliğinizle ilişkili Azure Active Directory'nin bir üyesi olarak kimlik doğrulaması yapın( örneğin, email@example.com).
Ş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:
Özellik Gerekli 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.ResourceGroupsAzure 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 Hayır <olay türleri> Filtrelemek ve Azure Event Grid göndermek için bir veya daha fazla belirli 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 şu olay türlerini ekleyebilirsiniz:
-
Microsoft.Resources.ResourceActionSuccess
-
Microsoft.Resources.ResourceDeleteSuccess
-
Microsoft.Resources.ResourceWriteSuccess
Daha fazla bilgi için şu konulara bakın:
İsteğe bağlı özellikler eklemek için Yeni parametre ekle'yi seçin ve sonra da istediğiniz özellikleri seçin. Hayır {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.
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.
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 yönelik 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, 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 olayları dinler, ancak iş akışına eylem ekleyene kadar hiçbir şey yapmaz.
Koşul ekleme
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 denetleyan bir koşul ekleyin. İşlem/virtualMachines/yazma işlemi. 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.
İş akışı tasarımcısında, Azure Event Grid tetikleyicisinin altında Yeni adım'ı seçin.
Eylem seçin'in altında, arama kutusuna filtre olarak yazın
condition. Eylemler listesinde Koşul eylemini seçin.
İş 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.
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.
Özelliğin işleme eşit
Microsoft.Compute/virtualMachines/writeolduğu
operationNamebir nesne için olayı
bodydenetleen bir
datakoşul oluşturun. Azure Event Grid olay şeması hakkında daha fazla bilgi edinin.
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.
İfade düzenleyicisinde, tetikleyiciden işlem adını döndüren bu ifadeyi girin ve Tamam'ı seçin:
triggerBody()?['data']['operationName']
Örnek:
Ortadaki kutuda eşittir işlecini tutun.
Sağ kutuya, izlemek istediğiniz işlemi girin( bu örnek için aşağıdaki değerdir):
Microsoft.Compute/virtualMachines/write
Tamamlanmış koşulunuz şimdi şu örneğe benzer:
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:
-
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.
Koşulun Doğru ise kutusunda, Eylem ekle'yi seçin.
Eylem seçin'in altında, arama kutusuna filtre olarak yazın
send 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. Örnek:
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.
-
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.
E-posta gönder eylemini şu başlıkla yeniden adlandırın:
Send email when virtual machine updated
Aşağıdaki tabloda belirtilen e-posta hakkında bilgi sağlayın:
İpucu
İş 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 Gerekli Değer Açıklama Kime 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:KİMLİĞİ
Time:Olay Zamanı
E-posta gövdesinin içeriğini girin. Bu öğretici için, belirtilen metni girin ve olayın Konu, Olay Türü, Kimlik ve Olay Zamanı alanlarını seçin; böylece e-postanız güncelleştirme için olayı 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ır eklemek için Shift + Enter tuşlarını kullanı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 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:
Tamamlanmış mantıksal uygulama iş akışınız aşağıdaki örnekteki gibi görünebilir:
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
İş akışınızın belirtilen olayları alıp almadığını denetlemek için sanal makinenizi güncelleştirin.
Birkaç dakika sonra bir e-posta almanız gerekir. Örnek:
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.
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.
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.
İpucu
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 olayları yayımlama ve kullanma hakkında bilgi edinmek için aşağıdaki örneklere bakın.