Cloud Operations Suite'e giriş

1. Giriş

Son güncelleme tarihi: 28.07.2023

Google Cloud İşlem Paketi nedir?

Google Cloud Operations Suite, Google Cloud ortamınızdaki uygulama performansını izleyebileceğiniz, geliştirebileceğiniz ve sorunları giderebileceğiniz bir platformdur. Cloud Operations Paketi'nin Temel Ayakları; Cloud Monitoring, Cloud Logging ve Cloud Tracing'dir.

Google Cloud Operations hakkında genel bilgi edinmek için bu videoya göz atın.

Oluşturacaklarınız

Bu codelab'de, Google Cloud üzerinde örnek bir API dağıtacaksınız. Ardından, API aracılığıyla Cloud Monitoring'deki birçok özelliği keşfedecek ve yapılandıracaksınız.

Neler öğreneceksiniz?

  • Örnek bir uygulamayı Cloud Run'a dağıtmak için Google Cloud Cloud Shell'i kullanma.
  • Kontrol Panelleri, Uyarılar, Çalışma Denetimi, SLI/SLO İzleme gibi Google Cloud Monitoring özelliklerinin kullanılması.

Gerekenler

  • Chrome'un yeni bir sürümü (74 veya sonraki sürümler)
  • Bir Google Cloud Hesabı ve Google Cloud Projesi

2. Kurulum ve Gereksinimler

Kendi hızınızda ortam kurulumu

Google Hesabınız (Gmail veya Google Apps) yoksa bir hesap oluşturmanız gerekir. Google Cloud Platform konsolunda ( console.cloud.google.com) oturum açın ve yeni bir proje oluşturun.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

c20a9642aaa18d11.png

  • Proje adı, bu projenin katılımcıları için görünen addır. Google API'leri tarafından kullanılmayan bir karakter dizesidir. İstediğiniz zaman güncelleyebilirsiniz.
  • Proje kimliği, tüm Google Cloud projelerinde benzersiz olmalıdır ve değiştirilemez (belirlendikten sonra değiştirilemez). Cloud Console, otomatik olarak benzersiz bir dize oluşturur. bunun ne olduğunu umursamıyorsunuz. Çoğu codelab'de proje kimliğini (genellikle PROJECT_ID olarak tanımlanır) referans almanız gerekir. Oluşturulan kimliği beğenmezseniz rastgele bir kimlik daha oluşturabilirsiniz. Alternatif olarak, kendi ölçümünüzü deneyip mevcut olup olmadığına bakabilirsiniz. Bu adımdan sonra değiştirilemez ve proje süresince kalır.
  • Bilginiz olması için bazı API'lerin kullandığı üçüncü bir değer, yani Proje Numarası vardır. Bu değerlerin üçü hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.

Dikkat: Proje kimliği genel olarak benzersiz olmalıdır ve seçildikten sonra başkaları tarafından kullanılamaz. Bu kimliğin tek kullanıcısı sizsiniz. Bir proje silinse bile kimlik bir daha kullanılamaz

  1. Sonraki adımda, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i çalıştırmanın maliyeti, yüksek değildir. Bu eğitim dışında faturalandırma yapılmaması için kaynakları kapatmak isterseniz oluşturduğunuz kaynakları silebilir veya projenin tamamını silebilirsiniz. Yeni Google Cloud kullanıcıları, 300 ABD doları değerindeki ücretsiz denemeden yararlanabilir.

Google Cloud Shell Kurulumu

Google Cloud ve Google Cloud Trace, dizüstü bilgisayarınızdan uzaktan çalıştırılabilse de bu codelab'de Cloud'da çalışan bir komut satırı ortamı olan Google Cloud Shell'i kullanacağız.

Cloud Shell'i Cloud Console'dan etkinleştirmek için Cloud Shell'i Etkinleştir'i tıklamanız yeterlidir (sağlanması ve ortama bağlanması birkaç dakika sürer).

30c26f30d17b3d46.png

Cloud Shell'i daha önce hiç başlatmadıysanız ne olduğunu açıklayan bir ara ekran (ekranın alt kısmında) gösterilir. Bu durumda Devam'ı tıklayın (ve bir daha görmezsiniz). Tek seferlik ekran şöyle görünür:

9c92662c6a846a5c.png

Temel hazırlık ve Cloud Shell'e bağlanmak yalnızca birkaç dakika sürer.

9f0e51b578fecce5.png

Bu sanal makinede, ihtiyacınız olan tüm geliştirme araçları yüklüdür. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud'da çalışarak ağ performansını ve kimlik doğrulamasını büyük ölçüde iyileştirir. Bu codelab'deki çalışmalarınızın tamamı olmasa bile büyük bir kısmı yalnızca bir tarayıcı veya Chromebook'unuzla yapılabilir.

Cloud Shell'e bağlandıktan sonra kimliğinizin doğrulandığını ve projenin proje kimliğinize ayarlandığını görürsünüz.

Kimlik doğrulamanızın tamamlandığını onaylamak için Cloud Shell'de aşağıdaki komutu çalıştırın:

Cloud Shell'e bağlandıktan sonra kimliğinizin doğrulandığını ve projenin PROJECT_ID olarak ayarlanmış olduğunu göreceksiniz.

gcloud auth list

Komut çıkışı

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

Komut çıkışı

[core]
project = <PROJECT_ID>

Herhangi bir nedenle proje ayarlanmamışsa şu komutu vermeniz yeterlidir:

gcloud config set project <PROJECT_ID>

Cloud Shell bazı ortam değişkenlerini de varsayılan olarak ayarlar. Bu değişkenler, gelecekte komut çalıştırdığınızda işinize yarayabilir.

echo $GOOGLE_CLOUD_PROJECT

Komut çıkışı

<PROJECT_ID>

Örnek Uygulamalar

Bu proje için ihtiyacınız olan her şeyi bir Git deposuna yerleştirdik. Depoda birkaç örnek uygulama bulunur. Bu alıştırmada bunlardan herhangi birini kullanabilirsiniz.

Git deposu bağlantısı: https://github.com/rominirani/cloud-code-sample-repository

3. API uygulamasını dağıtma

Örnek uygulama veya API ne hakkında?

Uygulamamız, envanter öğelerini listelemek ve belirli öğe envanteri sayısını almak için birkaç işlemle REST API Uç Noktası kullanıma sunan basit bir Inventory API uygulamasıdır.

API'yi dağıttıktan ve https://&lt;somehost&gt; adresinde barındırıldığı varsayıldığında, API uç noktalarına aşağıdaki şekilde erişebiliriz:

  • https://&lt;somehost&gt;/inventory

Bu işlem, mevcut envanter seviyelerine sahip tüm ürün öğelerini listeler.

  • https://&lt;somehost&gt;/inventory/{productid}

Bu işlem, söz konusu ürün için ürün kimliği ve mevcut envanter düzeyini içeren tek bir kayıt sağlar.

Döndürülen yanıt verileri JSON biçimindedir.

Örnek Veriler ve API İsteği/Yanıtı

İşleri basitleştirmek adına uygulama, arka uçtaki bir veritabanı tarafından desteklenmemektedir. 3 örnek ürün kimliği ve bunların hazır envanter düzeylerini içerir.

Ürün Kimliği

Hazır Envanter Düzeyi

I-1

10

I-2

20

I-3

30

Örnek API İsteği ve Yanıtı aşağıda gösterilmiştir:

API İsteği

API Yanıtı

https://&lt;somehost&gt;/inventory

[ { &quot;I-1&quot;: 10, &quot;I-2&quot;: 20, &quot;I-3&quot;: 30 }]

https://&lt;somehost&gt;/inventory/I-1

{ &quot;productid&quot;: &quot;I-1&quot;, &quot;qty&quot;: 10}

https://&lt;somehost&gt;/inventory/I-2

{ &quot;productid&quot;: &quot;I-2&quot;, &quot;qty&quot;: 20}

https://&lt;somehost&gt;/inventory/I-200

{ &quot;productid&quot;: I-200, &quot;qty&quot;: -1}

Depoyu klonlama

Google Cloud dizüstü bilgisayarınızdan uzaktan çalıştırılabilse de bu codelab'de, Cloud'da çalışan bir komut satırı ortamı olan Google Cloud Shell'i kullanacaksınız.

GCP Console'da, sağ üstteki araç çubuğunda yer alan Cloud Shell simgesini tıklayın:

bce75f34b2c53987.png

Ortamı sağlamak ve bağlamak yalnızca birkaç dakika sürer. Tamamlandığında şuna benzer bir sonuç görmeniz gerekir:

f6ef2b5f13479f3a.png

İhtiyacınız olan tüm geliştirme araçlarını bu sanal makinede bulabilirsiniz. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışarak ağ performansını ve kimlik doğrulamasını büyük ölçüde iyileştirir. Bu laboratuvardaki tüm çalışmalarınızı yalnızca bir tarayıcıyla yapabilirsiniz.

gcloud'u kurun

Cloud Shell'de proje kimliğinizi ayarlayın ve PROJECT_ID değişkeni olarak kaydedin.

PROJECT_ID=[YOUR-PROJECT-ID]
gcloud config set project $PROJECT_ID

Şimdi aşağıdaki komutu yürütün:

$ git clone https://github.com/rominirani/cloud-code-sample-repository.git 

Bu işlem sonucunda bu klasörde cloud-code-sample-repository başlıklı bir klasör oluşturulur.

(İsteğe bağlı) Uygulamayı Cloud Shell'de çalıştırma

Aşağıdaki adımları uygulayarak uygulamayı yerel olarak çalıştırabilirsiniz:

  1. Terminalden aşağıdaki komutu kullanarak API'nin Python sürümüne gidin:
$ cd cloud-code-sample-repository
$ cd python-flask-api
  1. Terminalde aşağıdaki komutu sağlayın (Yazma sırasında Cloud Shell'de Python 3.9.x yüklüdür ve varsayılan sürüm kullanılır. Dizüstü bilgisayarınızda yerel olarak çalıştırmayı planlıyorsanız Python 3.8+ kullanabilirsiniz) :
$ python app.py
  1. Python sunucusunu yerel olarak başlatmak için aşağıdaki komutu çalıştırabilirsiniz.

26570f586acaeacf.png

  1. Bu işlem 8080 bağlantı noktasında bir sunucu başlatır. Sunucuyu Cloud Shell'in Web Önizlemesi özelliğiyle yerel olarak test edebilirsiniz. Aşağıda gösterildiği şekilde Web Önizlemesi düğmesini tıklayın:

675d9b3097a6209c.png

8080 bağlantı noktasında Önizleme'yi tıklayın.

  1. Bunu yaptığınızda bir tarayıcı penceresi açılır. Bir 404 hatası göreceksiniz ve bu durum normaldir. URL'yi değiştirin ve URL'yi, ana makine adından sonra yalnızca /inventory olacak şekilde değiştirin.

Örneğin, aşağıdaki gibi görünür:

https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory

Bu işlem, envanter öğelerinin listesini daha önce açıklandığı gibi gösterir:

ef6afb0184c58870.png

  1. Terminal'e gidip Ctrl-C tuşlarına basarak sunucuyu durdurabilirsiniz.

Uygulamayı dağıtma

Şimdi bu API uygulamasını Cloud Run'a dağıtacağız. Bu süreçte, kodu Cloud Run'a dağıtmak amacıyla komutu çalıştırmak için glcoud komut satırı istemcisinin kullanılması gerekiyordu.

Terminalden aşağıdaki gcloud komutunu verin:

$ gcloud run deploy --source .

Bu e-postada size birden fazla soru sorulacak (yetki vermeniz istenirse lütfen devam edin). Bazı noktalara aşağıda değinilmiştir. Yapılandırmaya ve Google Cloud projenizde belirli API'leri zaten etkinleştirdiyseniz tüm soruları alabilir veya almayabilirsiniz.

  1. Hizmet adı (python-flask-api): Bu varsayılan ayarı kullanın veya my-inventory-api gibi bir ad seçin
  2. API [run.googleapis.com], [proje-numarası] projesinde etkinleştirilmemiş. Etkinleştirmek ve yeniden denemek istiyor musunuz (bu işlem birkaç dakika sürer)? (e/H)? Y
  3. Lütfen bir bölge belirtin: Sayı vererek istediğiniz bölgeyi seçin.
  4. API [artifactregistry.googleapis.com], [proje-numarası] projesinde etkinleştirilmemiş. Etkinleştirmek ve yeniden denemek istiyor musunuz (bu işlem birkaç dakika sürer)? (e/H)? Y
  5. Kaynaktan dağıtım yapmak için derlenen container'ları depolamak üzere bir Artifact Registry Docker deposu gerekir. [us-west1] bölgesinde [cloud-run-source-deploy] adlı bir depo oluşturulacak.

Devam etmek istiyor musunuz (E/H)? Y

  1. [my-inventory-api] (y/N) yöntemine yapılan kimliği doğrulanmamış çağrılara izin verilsin mi? Y

Sonuç olarak kaynak kodunuzu alma, container mimarisine alma, Artifact Registry'ye aktarma ve Cloud Run hizmeti + düzeltmesini dağıtma işlemi başlar. Bu işlemin tamamlanması için sabırlı olmalısınız (3-4 dakika sürebilir). Ardından, size gösterilen Hizmet URL'si ile işlemin tamamlandığını göreceksiniz.

Aşağıda örnek bir çalıştırma gösterilmiştir:

7516696ea5b3004b.png

Uygulamayı test etme

Uygulamayı Cloud Run'a dağıttığımıza göre API uygulamasına aşağıdaki şekilde erişebilirsiniz:

  1. Önceki adımda kullandığınız Hizmet URL'sini not alın. Örneğin, kurulumumda https://my-inventory-api-bt2r5243dq-uw.a.run.app olarak gösteriliyor. Buna &lt;SERVICE_URL&gt; diyelim.
  2. Bir tarayıcı açın ve API uç noktaları için aşağıdaki 3 URL'ye erişin:
  3. &lt;SERVICE_URL&gt;/inventory
  4. <SERVICE_URL>/inventory/I-1
  5. <SERVICE_URL>/inventory/I-100

Bu, örnek API İsteği ve Yanıtı ile önceki bir bölümde sağladığımız spesifikasyonlara uygun olmalıdır.

Cloud Run'dan Hizmet Ayrıntılarını alma

API Hizmetimizi, sunucusuz bilgi işlem ortamı olan Cloud Run'a dağıttık. Cloud Run hizmetini Google Cloud konsolu üzerinden istediğimiz zaman ziyaret edebiliriz.

Ana menüden Cloud Run'a gidin. Bu işlemle, Cloud Run'da çalıştırdığınız hizmetlerin listesi gösterilir. Az önce dağıttığınız hizmeti göreceksiniz. Seçtiğiniz ada bağlı olarak aşağıdakine benzer bir sonuç görürsünüz:

10d2c363241d789c.png

Ayrıntıları görüntülemek için Hizmet adını tıklayın. Örnek ayrıntıları aşağıda gösterilmektedir:

1ec2c9e45ff1a2db.png

URL'ye dikkat edin. Bu URL, tarayıcıda açabileceğiniz ve az önce dağıttığımız Envanter API'sine erişebileceğiniz hizmet URL'sidir. Metriklere ve diğer ayrıntılara göz atabilirsiniz.

Hemen Google Cloud Operations Suite'i kullanmaya başlayalım.

4. Kontrol Paneli Ayarlama

Cloud Monitoring'in sunduğu pratik özelliklerden biri, Google Cloud'daki birden fazla kaynakta kullanıma hazır (OOTB) kontrol panelleridir. Bu sayede, gösterge tablolarının standart metriklerle ilk kurulumu hızlı ve kolay bir şekilde yapılır.

Şimdi, Cloud Run'a dağıttığımız API Hizmeti için bunu nasıl yapacağımıza bakalım.

Hizmetimize Özel Kontrol Paneli

API hizmetimizi Cloud Run'a dağıttığımızdan, bazıları hizmet gecikmesi de dahil olmak üzere çeşitli metrikleri görselleştirmeye yardımcı olabilecek kontrol panellerini nasıl oluşturabileceğimize göz atalım.

İlk olarak, konsoldan aşağıda gösterildiği gibi İzleme → Genel Bakış'ı ziyaret edin:

c51a5dda4ab72bbf.png

Genel Bakış bölümünde; Kontrol Panelleri, Uyarılar, Çalışma denetimleri gibi, Monitoring'de yapılandırabileceğiniz birçok öğe gösterilir.

2758f61f1e7f1dca.png

Şimdilik yan ana menüden Dashboards'u (Kontrol Panelleri) tıklayalım. Bu işlem bizi aşağıdaki ekrana götürür:

c9110b6f065100da.png

ÖRNEK KİTAPLIK'ı tıklayın . Bu işlem, Google Cloud'da birden fazla kaynakta bulunan kullanıma hazır (OOTB) kontrol panellerinin listesini gösterir. Özellikle listeyi aşağı kaydırın ve aşağıda gösterildiği gibi Google Cloud Run'ı seçin.

ddac4038d4fa91ae.png

Burada, Google Cloud Run için kullanılabilen standart kontrol panellerinin listesi gösterilir. Hizmetimizi Cloud Run'da dağıttığımız için bunu tercih ediyoruz.

Cloud Run Monitoring için bir kontrol paneli göreceksiniz. Cloud Run Monitoring'de kullanılabilen standart grafiklerin (metrikler) listesini görüntülemek için ÖNİZLE bağlantısını tıklayın. Bu grafikleri özel bir kontrol paneline aktarmak için ÖRNEK KONTROL PANELİNİ İÇE AKTAR'ı tıklamanız yeterlidir. Bunu yaptığınızda, aşağıda gösterildiği gibi önceden doldurulmuş adın bulunduğu bir Gösterge Tablosu ekranı gösterilir:

531cb8434b18193a.png

Sol üstte, Kontrol Paneli adının solunda bulunan Sol Oku tıklayarak geri gidebilirsiniz. Bunu yaptığınızda, yeni oluşturduğunuz yeni Gösterge Tablolarını görebileceğiniz Gösterge Tabloları listesine yönlendirilirsiniz.

Söz konusu Gösterge Tablosu bağlantısını tıklayarak kullanıma hazır birden çok metriği izleyebilirsiniz. Bu metrikler arasında Gecikme, İstek Sayısı, Kapsayıcı metrikleri ve daha fazlası yer alır.

Ayrıca, aşağıda gösterildiği gibi yıldız simgesini seçerek Gösterge Tablolarından herhangi birini favori olarak işaretleyebilirsiniz:

fc993d1a17415550.png

Böylece, Kontrol Paneli, Monitoring'in Genel Bakış ekranına eklenir ve sık kullanılan kontrol panellerine gitmek için kolay bir yol haline gelir.

2e8f66e2652c55c5.png

1e1dffb5239ab110.png

"Çok teşekkür ederim. Cloud Run hizmetlerinizi izlemek için Özel Kontrol Paneli eklediniz. Tebrikler !

5. Çalışma denetimleri

Bu bölümde, dağıttığımız API Hizmetimiz için bir çalışma denetimi ayarlayacağız. Herkese açık çalışma denetimi, kaynağın yanıt verip vermediğini görmek için dünyanın dört bir yanındaki birden fazla konumdan herkese açık URL'lere veya Google Cloud kaynaklarına istek gönderebilir.

Bu örnekteki kaynak, Cloud Run'a dağıttığımız API Hizmeti olacaktır. URL, hizmetin durumunu belirtmek için API Hizmeti tarafından sunulan belirli bir uç nokta olacaktır.

Örnek API hizmet kodunda, "All Izz Well" dize değerini döndüren /healthy uç noktasını kullanıma sunduk. Dolayısıyla tek yapmamız gereken https://&lt;SERVICE_URL&gt;/healthy gibi bir sonuç veren bir çalışma denetimi tanımlamak ve https://&lt;SERVICE_URL&gt;/healthy dizesinin döndürülüp döndürülmediğini kontrol etmektir.

Bildirim Kanalı Oluşturma

Çalışma denetimini oluşturmadan önce bildirim kanallarını yapılandırmak önemlidir. Bildirim kanalı, izlenen kaynaklarımızdan herhangi birinde bir olay/sorun olması durumunda size uyarı gönderilecek bir aracıdır. Bildirim kanalına örnek olarak E-posta verilebilir. Uyarı vb. olduğunda e-posta alırsınız.

Şimdilik bir E-posta Bildirim Kanalı yapılandırıp e-posta adresimizle yapılandıracağız. Böylece, sistemimizin göndereceği ve yapılandıracağımız herhangi bir uyarı olduğunda bildirim alabiliriz.

Bildirim Kanalı oluşturmak için aşağıdaki adımları uygulayın:

Aşağıda gösterildiği gibi, Google Cloud Console'daki ana menüden İzleme → Uyarılar'a gidin:

9f87859064c63b63.png

Bunu yaptığınızda Uyarılar, Politikalar ve daha fazlasını içeren bir sayfa görüntülenir. Şimdilik, üst kısımda BİLDİRİM KANALLARINI DÜZENLE başlıklı bir bağlantı göreceksiniz. Bu düğmeyi tıklayın.

5ab54f42e6f7b99.png

Bunu yaptığınızda, aşağıda gösterildiği gibi çeşitli Bildirim Kanalları'nın bir listesi görüntülenir:

cd89b1ca9e1de87c.png

E-posta bölümünü bulun ve ilgili satır için YENİ EKLE'yi tıklayın. Bu işlem, aşağıda gösterildiği gibi E-posta Yapılandırması ayrıntılarını getirir:

d6ed98ffd0427fa3.png

Aşağıda gösterildiği gibi, e-posta adresinizi ve bir Görünen Ad girin. KAYDET'i tıklayın.

Böylece E-posta Bildirim Kanalı oluşturulmuş olur. Devam edip çalışma denetimini yapılandıralım.

Çalışma denetimi oluşturma

Google Cloud Console'daki ana menüden İzleme → Çalışma denetimleri'ne gidin. Üst tarafta ÇALIŞMA KONTROLÜ OLUŞTUR bağlantısını görürsünüz. Bu düğmeyi tıklayın.

484541aec65e605e.png

Bu işlemin ardından, çalışma denetimini yapılandırmak için tamamlamanız gereken bir dizi adım karşınıza çıkar.

İlk adım, hedef ayrıntılarını (ör. dağıttığımız Cloud Run hizmetiyle ilgili bilgileri) ayarlamaktır. Doldurulmuş bir form aşağıda gösterilmiştir:

4e2bb9fe022320f7.png

Farklı değerler aşağıdaki gibi seçilebilir:

  • Protokol : HTTPS
  • Kaynak Türü : Cloud Run Hizmeti'ni seçin. Desteklediği diğer kaynaklara ve bu kaynaklarda da çalışma denetimleri ayarlayabileceğinize dikkat edin.
  • Cloud Run Hizmeti : my-inventory-api'yi veya Cloud Run hizmeti için sahip olduğunuz belirli adı seçin.
  • Yol /healthy şeklindedir. Çünkü "All Izz Well" dizesini geri döndürüyoruz ve bunu kontrol etmek istiyoruz.

Sonraki adıma geçmek için DEVAM'ı tıklayın. Bir sonraki adım, aşağıda gösterildiği gibi Yanıt Doğrulama adımıdır:

a6011ac2ab3e0f10.png

Gördüğünüz üzere "İçerik Eşleştirme"yi kontrol /healthy uç noktası tarafından döndürülen yanıtı "All Izz Well" (Tüm Izz Well) olacak şekilde ayarlayın. Uyarıyı yapılandıracağımız ve çalışma denetimi başarısız olursa hangi bildirim kanalı hakkında uyarı alacağımızı belirlemek için DEVAM'ı tıklayın.

d9738670efcb999f.png

Bu adımda Uyarıya bir ad verin. Bunu Inventory API Çalışma Denetimi hatası olarak seçtim, ancak adınızı seçebilirsiniz. Burada önemli olan, daha önce yapılandırdığınız listeden doğru bildirim kanalını seçmektir.

Yapılandırdığımız çalışma denetimini incelemek üzere son adım için İNCELE'yi tıklayın.

Bu son adımda Çalışma denetimine bir ad verin (ör.Inventory API Çalışma Denetimi). Ardından kontrolün doğru şekilde yapılandırılıp yapılandırılmadığını test edebilirsiniz. Bunun için TEST düğmesini tıklayın.

80375bfab97fc313.png

Devam edin ve işlemi tamamlayın (soldaki OLUŞTUR düğmesini tıklayın). Google Cloud, farklı bölgelerde yapılandırılan çalışma denetimi kontrollerine URL'yi pinglemelerini söyler. Bu yanıtlar toplanır. Birkaç dakika sonra İzleme → Çalışma denetimleri bölümünü ziyaret edin. İdeal olarak, URL'ye farklı kontrollerden erişilebildiğini belirten tüm yeşil sinyalleri görmeniz gerekir.

df17555ddbee1127.png

Kontrollerden herhangi biri bir süre (yapılandırılabilir) başarısız olursa yapılandırdığımız e-posta kanalında bir Uyarı Bildirimi alırsınız.

Böylece çalışma denetimi ayarlama bölümümüzü tamamlamış olduk. Tebrikler !

6. Metrik Gezgini

Cloud Monitoring, birden fazla Google Cloud ürününden binlerce standart metrik sunar. Bu metrikleri inceleme, sorgulama, Grafiklere dönüştürme, Gösterge Tablolarına ekleme, Uyarıları etkinleştirme ve daha pek çok işlem için kullanabilirsiniz.

Bu bölümdeki amacımız:

  1. Çeşitli metrikleri nasıl görebileceğinizi öğrenin, ardından API hizmetimiz için belirli bir metriği (gecikme) araştıralım.
  2. Bu metriği, daha sonra metriği istediğiniz zaman görselleştirmek için kullanabileceğimiz bir grafiğe ve özel gösterge tablosuna dönüştürün.

Envanter API Hizmeti İçin Gecikme Metriğini Keşfetme

Google Cloud Console'daki ana menüden İzleme → Metrik Gezgini'ne gidin. Bu sizi Metrik Gezgini ekranına götürür. METRİK SEÇ'i tıklayın. Artık metrik oluşturulmuş çeşitli etkin kaynaklarda gezinebilirsiniz.

Cloud Run hizmetleri üzerinde çalıştığımız için önce Cloud Run Revision seçeneğini, ardından da aşağıda gösterildiği gibi kategoriyi ve Request Latency (İstek Gecikmesi) başlıklı belirli metriği tıklayın:

7609d8156c8f1384.png

Uygula'yı tıklayın. Bu, bir grafikte İstek Gecikmesini gösterir. Aşağıda gösterildiği gibi, sağdaki Görüntü ayarlarından Widget Türü'nü Çizgi Grafik olarak değiştirebilirsiniz:

46086ac0a8eaf3d7.png

Bu durumda Gecikme Grafiği aşağıdaki gibi görüntülenir:

ad97f749eeacaa95.png

Grafik ve özel Gösterge Tablosu oluşturun

Devam edip bu Grafiği kaydedelim. Grafiği Kaydet'i tıklayın ve aşağıda gösterilen ayrıntıları kullanın:

35d1788d5f0cb3c4.png

Mevcut bir gösterge tablosuna kaydetmek yerine yeni bir gösterge tablosu oluşturmakta olduğumuzu unutmayın. KAYDET düğmesini tıklayın. Bu işlem, yeni oluşturulan gösterge tablosunu aşağıda gösterilen kontrol panelleri listemize ekler:

c9cdcd63d5823abd.png

Ayrıntılarını görmek için oluşturduğumuz kontrol panelini tıklayın.

27354d8310d8a2d7.png

Böylece, Metrik Gezgini yoluyla çeşitli metrikleri inceleme ve özel kontrol panellerimizi nasıl oluşturabileceğimizle ilgili bölümü tamamladık.

7. Cloud Logging

Bu bölümde Cloud Logging'i keşfedeceğiz. Cloud Logging, çeşitli Google hizmetleri ve kendi uygulamalarınız tarafından oluşturulan günlüklerde gezinmenize ve bu günlükleri ayrıntılı olarak incelemenize yardımcı olan bir Günlük Gezgini arayüzüyle birlikte sunulur.

Bu bölümde Günlük Gezgini hakkında bilgi edineceğiz ve Günlük tabanlı metrikler adlı bir özellikle birlikte arayabileceğimiz ve metriklere dönüştürebileceğimiz birkaç günlük mesajını simüle edeceğiz.

Günlük Gezgini

Günlük Gezgini'ni aşağıda gösterildiği gibi, ana Google Cloud konsolunda Günlük Kaydı → Günlük Gezgini'ni kullanarak ziyaret edebilirsiniz:

df05f5b33fd5695a.png

Burada, günlük mesajlarını gerektiğinde filtrelemek için özel olarak çeşitli kaynakları (Proje, Google Cloud Kaynağı, hizmet adları vb.) ve günlük mesajlarını filtrelemek için özel olarak seçebileceğiniz/seçimlerini kaldırabileceğiniz bir günlük arayüzü gösterilir.

e7fa15bcf73f3805.png

Yukarıda, dağıttığımız Cloud Run hizmetleri gibi Cloud Run Düzeltmesi'ne ait günlüklerin listesi verilmiştir. Yapılandırdığımız /healthy uç noktasına ulaşmak için çalışma denetimi olan birkaç istek görürsünüz.

Uyarı arama

I-1, I-2 ve I-3 olmayan ürün kimlikleri sağlayarak Envanter Hizmeti'ne gönderilen birkaç geçersiz isteği simüle edin. Örneğin, hatalı bir istek:

https://&lt;SERVICE_URL&gt;/inventory/I-999

Artık Sorgu'da yanlış bir Ürün Kimliği sağlandığında API'mizin oluşturduğu tüm UYARI'ları arayacağız.

Sorgu Kutusu'na aşağıdaki sorgu parametrelerini ekleyin:

resource.type=&quot;cloud_run_revision&quot;

textPayload =~ "Yanlış ürün kimliği için envanter isteği alındı"

Şuna benzer bir görünümde olacaktır:

b3ee512a0c9c5c7b.png

Run Query'yi (Sorgu Çalıştır) tıklayın. Bu bölümde, gelen ve bu soruna sahip olan tüm istekler gösterilir.

5fdbd7c23bf4694f.png

Günlük Tabanlı Metrikler

Bu hataları izlemek için bir Özel Günlük Metriği oluşturalım. Çok sayıda çağrının yanlış ürün kimlikleri ile yapılıp yapılmadığını anlamak istiyoruz.

Yukarıdaki değeri hata metriğine dönüştürmek için Günlük Gezgini'nde gördüğünüz Metrik Oluştur düğmesini tıklayın.

fa9a5e04922aa412.png

Metrik tanımının oluşturulduğu form açılır. Bir sayaç metriğiyle gidin, aşağıda gösterildiği gibi Metrik Adı (inventory_lookup_errors) ve Açıklama'nın ayrıntılarını girin ve Metrik Oluştur'u tıklayın.

70b5719b472d4d02.png

Bu, sayaç metriğini oluşturur ve aşağıda gösterildiği gibi bir mesaj görürsünüz:

ab9058028185e4d5.png

Ana menüden Günlük Kaydı → Günlük Tabanlı Metrikler'i ziyaret edin. Aşağıdaki gibi Kullanıcı tanımlı metrikler listesinde tanımladığımız özel metriği görmeniz gerekir:

7d186e90559cf8e1.png

Bu girişin sonunda, üç dikey nokta bulunur. Bu özel metrik üzerinde gerçekleştirebileceğiniz işlemleri görmek için bunları tıklayın. Liste, aşağıda gördüğünüze benzer olmalıdır. Metrik Gezgini'nde görüntüle seçeneğini tıklayın.

7586f0789a0bdb41.png

Bu, bizi bir önceki bölümde öğrendiğimiz Metrik Gezgini'ne götürecektir, ancak artık bizim için önceden doldurulmuş olacaktır.

7ee7403d0639ce25.png

Grafiği Kaydet'i tıklayın. Grafiği Kaydet seçenekleri için aşağıdaki değerleri kullanın:

9009da45f76eb4c5.png

Bu işlem, artık Envanter Arama hatalarını görebileceğiniz yeni bir Kontrol Paneli oluşturur ve Kontrol Paneli listesinde kullanılabilir.

201ed66957cb64f9.png

Harika! Artık günlüklerinizden özel bir metrik oluşturdunuz ve bu metriği özel bir kontrol panelinde bulunan bir grafiğe dönüştürdünüz. Bu sayede, yanlış ürün kimliklerinin kullanıldığı arama sayısını izleyebiliriz.

8. Uyarı Politikaları

Bu bölümde, oluşturduğumuz özel metriği kullanacak ve bu metriğin verilerini belirli bir eşik için izleyeceğiz. Başka bir deyişle, hata sayısı belirli bir eşiği aşarsa bir uyarı göndeririz. Diğer bir deyişle, bir uyarı politikası oluşturacağız.

Uyarı Politikası oluşturma

Envanter Arama Kontrol Paneli'ne gidelim. Bu işlem, aşağıda gösterildiği gibi Envanter Arama Hatalarını not etmek için oluşturduğumuz grafiği açar:

3591a1dd91a8b9fd.png

Bu işlem, geçerli metrik verilerini açar. Önce metriği aşağıda gösterildiği gibi düzenleyelim (Düzenle düğmesini tıklayın):

5e76fc20d8387984.png

Bunu yaptığınızda metrik ayrıntıları görüntülenir. Grafiği bize hata oranını, yani hata sayısını gösteren bir toplama dönüştüreceğiz. Değiştirilecek alan aşağıda gösterilmiştir:

65ccd1eaca607831.png

Sağ üst köşedeki UYGULA'yı tıkladığınızda Metrikler ekranımıza döneceğiz, ancak bu kez hizalama dönemindeki toplam hata sayısını hata oranıyla birlikte görebileceğiz.

Hata sayısının belirli bir eşiği aşması durumunda bize bildirimde bulunabilecek bir Uyarı Politikası oluşturacağız. Grafiğin sağ üst köşesindeki 3 noktayı tıklayın ve yukarıda gösterildiği gibi, seçenekler listesinden Uyarı grafiğine dönüştür'ü tıklayın.

cc9eec48b9bfbc92.png

Aşağıdaki gibi bir ekran görürsünüz:

6202ad1e88679a78.png

İleri'yi tıkladığınızda ayarlayabileceğimiz bir Eşik değeri görüntülenir. Burada benimsediğimiz örnek eşiği 5'tir , ancak tercihinize göre seçebilirsiniz.

734f809cc802ab78.png

Bildirimler formunu açmak için İLERİ'yi tıklayın

f2d84fb85c2520cb.png

Bildirim Kanalı'nı, daha önce oluşturduğumuz E-posta kanalı olarak seçtik. Belgeler gibi diğer ayrıntıları da doldurabilirsiniz (bu bilgiler, oluşturulan Uyarının bir parçası olarak sağlanır). Özeti görmek ve işlemi tamamlamak için İLERİ'yi tıklayın.

c670b29da70c4655.png

Bu Uyarı Politikası oluşturulduktan sonra, aşağıda gösterildiği gibi Uyarı Politikaları listesinde görünür. Uyarı Politikaları listesine İzleme → Uyarılar'a giderek ulaşabilirsiniz. Şimdiye kadar yapılandırdığımız politikaların listesini görmek için sayfadaki Politikalar bölümünü tarayın.

154da627959c54f3.png

Harika! Artık Inventory API'yi ararken hata sayısında artış olursa sizi bilgilendirecek özel bir Uyarı Politikası yapılandırdınız.

9. Hizmet İzleme (İsteğe bağlı)

Bu bölümde, hizmetlerimiz için Site Güvenilirlik Mühendisliği (SRE) ilkelerine göre SLI/SLO'lar oluşturacağız. Cloud Monitoring'in, Cloud Run'da dağıttığınız hizmetleri otomatik olarak keşfederek sizin için işleri kolaylaştırdığını ve Hata Bütçesi hesaplamalarının yanı sıra Kullanılabilirlik, Gecikme gibi önemli SLI'ları sizin için otomatik olarak hesaplayabildiğini göreceksiniz.

Devam edelim ve API Hizmetimiz için Gecikme SLO'sunu ayarlayalım.

Envanter Hizmeti için Gecikme Hizmet Düzeyini Ayarlama

Cloud Console'daki ana menüden İzleme → Hizmetler'i tıklayın. Hizmet İzleme için yapılandırılan hizmetlerin listesi açılır.

Şu anda SLI/SLO İzleme için ayarlanmış hizmetimiz bulunmadığından liste boş. Önce bir hizmeti tanımlamak / tanımlamak için üstteki HİZMET TANIMLA bağlantısını tıklayın.

42d14515a481213.png

Bu işlem, SLO İzleme için aday olan hizmetleri otomatik olarak bulur. Cloud Run hizmetlerini keşfedebildiği için Cloud Run'a dağıtılan Inventory API hizmetimiz listede görünecektir.

522aaba719f85c54.png

Gördüğünüz görünen ad farklı olabilir ve hizmeti Cloud Run'a dağıtırken seçtiğiniz ada bağlıdır. GÖNDER düğmesini tıklayın. Bu işlem, aşağıda gösterilen ekranı açar:

eca08010ab6858a9.png

SLO OLUŞTUR'u tıklayabilirsiniz. Bu işlem, sizin için otomatik olarak hesaplanan SLI'lar arasından seçim yapmanıza olanak tanır.

556e49b10d22e5ac.png

Başlangıç olarak Gecikme SLI'sını seçiyoruz. DEVAM'ı tıklayın. Şimdi, bu hizmetin mevcut performansını ve genel gecikmenin ne olduğunu gösteren bir ekran görürsünüz.

a9cc6f6778c13b52.png

Eşik için 300 ms gibi bir değer giriyoruz. Bu değere ulaşmak istiyoruz. İsterseniz farklı bir değer seçebilirsiniz. Ancak bu değerin, buna göre tanımladığınız hata bütçesini etkileyeceğini unutmayın. DEVAM'ı tıklayın.

Artık SLO'yu (Hedef ve Ölçüm penceresi) aşağıda gösterildiği gibi ayarlıyoruz:

e1fc336d4191c08e.png

Bu, Ölçüm aralığını Periyodik zaman aralığı olarak seçtiğimiz ve 7 gün boyunca ölçtüğümüz anlamına geliyor. Benzer şekilde, hedef için %90'lık bir hedef seçtik. Burada, API hizmetine yapılan isteklerin% 90'ının 300 ms içinde tamamlanması ve bu sürenin 7 gün boyunca ölçülmesi gerektiğidir.

Devam'ı tıklayın. Bunun sonucunda özet ekranı açılır. Bu ekranı SLONU GÜNCELLE düğmesini tıklayarak onaylayabilirsiniz.

f2540173d9f4a4b7.png

Bu işlem, SLO tanımınızı kaydeder ve Hata Bütçesi sizin için otomatik olarak hesaplanır.

76393df0e189104.png

Deneyebileceğiniz birkaç öneri:

  1. API'yi birden fazla çağrıyla çalıştırın, hizmetin performansını ve kalan Hata Bütçesini nasıl etkilediğini görün.
  2. Bazı çağrılara rastgele ek gecikme (uyku) özelliği eklemek için kaynak kodunu değiştirin. Bu durum, çok sayıda çağrı için gecikmeyi artırır ve Hata Bütçesi'ni olumsuz etkiler.

10. Tebrikler

Tebrikler, örnek bir uygulamayı Google Cloud'a başarıyla dağıttınız ve uygulamanın durumunu izlemek için Google Cloud Operations Suite'i kullanma hakkında bilgi edindiniz.

İşlediklerimiz

  • Bir Hizmet'i Google Cloud Run'a dağıtma.
  • Google Cloud Run Hizmeti için kontrol paneli kurulumu yapma.
  • Çalışma denetimleri.
  • Özel günlük metrikleri ve bunlara dayalı Kontrol Paneli/Grafik ayarlama.
  • Metrik Gezgini'ni keşfetme ve Kontrol Paneli/Grafik'i ayarlama.
  • Uyarı Politikaları oluşturma.
  • Google Cloud'da hizmet izleme için SLI/SLO kurulumu

Not: Codelab'i kendi hesabınızı ve Google Cloud projenizi kullanarak yürüttüyseniz ayrılan kaynaklar için faturalandırma ücreti alınmaya devam edebilir. Bu nedenle, laboratuvarı tamamladıktan sonra Projeyi ve kaynakları silin.

Sırada ne var?

Google Cloud Operations Suite hakkında daha fazla bilgi edinmek için bu Cloud Öğrenim Merkezi Görevi'ne göz atın.

Daha fazla bilgi