Ne İzlemeli?

Private Cloud için Edge v. 4.17.09

Genellikle üretim kurulumunda, Özel Bulut için Apigee Edge dağıtımında izleme mekanizmalarının etkinleştirilmesi gerekir. Bu izleme teknikleri, ağ yöneticilerini (veya operatörleri) bir hata veya arıza konusunda uyarır. Oluşturulan her hata Apigee Edge'de uyarı olarak raporlanır. Uyarılar hakkında daha fazla bilgi için İzlemeyle İlgili En İyi Uygulamalar bölümüne bakın.

Apigee bileşenleri temel olarak iki kategoriye ayrılır:

  • Apigee'ye özgü Java sunucu hizmetleri: Yönetim sunucusu, mesaj işleyici, Qpid sunucusu ve Postgres sunucusu bu hizmetlere örnek gösterilebilir.
  • Üçüncü Taraf Hizmetleri: Nginx Router, Apache Cassandra, Apache ZooKeeper, OpenLDAP, PostgreSQL veritabanı ve Qpid bu hizmetlere örnek olarak verilebilir.

Apigee Edge'in şirket içi dağıtımında, aşağıdaki tabloda izleyebileceğiniz parametrelere hızlıca göz atabilirsiniz:

Bileşen

Sistem Kontrolleri

İşlem düzeyinde istatistikler

API Düzeyinde Kontroller

Mesaj Akış Kontrolleri

Bileşene özgü

Apigee'ye Özel Java Hizmetleri

Yönetim sunucusu

?

?

?

Mesaj İşleyici

?

?

?

?

Qpid sunucusu

?

?

?

Postgres sunucusu

?

?

?

Üçüncü Taraf Hizmetleri

Apache Cassandra

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

PostgreSQL veritabanı

?

?

Qpid

?

?

Nginx Yönlendirici

?

?

?

Genel olarak, Apigee Edge yüklendikten sonra Private Cloud kurulumu için Apigee Edge'in performansını takip etmek amacıyla aşağıdaki izleme görevlerini gerçekleştirebilirsiniz.

Sistem durumu denetimleri

CPU kullanımı, bellek kullanımı ve bağlantı noktası bağlantısı gibi sistem sağlık parametrelerinin daha yüksek bir düzeyde ölçülmesi çok önemlidir. Sistem sağlığıyla ilgili temel bilgileri edinmek için aşağıdaki parametreleri izleyebilirsiniz.

  • CPU Kullanımı: CPU kullanımıyla ilgili temel istatistikleri (Kullanıcı/Sistem/Giriş/Çıkış Bekleme/Boş) belirtir. Örneğin, sistem tarafından kullanılan toplam CPU.
  • Boş/Kullanılan Bellek: Sistem bellek kullanımını bayt cinsinden belirtir. Örneğin, sistem tarafından kullanılan fiziksel bellek.
  • Disk Alanı Kullanımı: Mevcut disk kullanımına göre dosya sistemi bilgilerini belirtir. Örneğin, sistem tarafından kullanılan sabit disk alanı.
  • Yük Ortalaması: Çalışmayı bekleyen işlemlerin sayısını belirtir.
  • Ağ İstatistikleri: Belirli bir bileşenle ilgili aktarım hatalarının yanı sıra gönderilen ve alınan ağ paketleri ve/veya baytları.

İşlemler/Uygulama kontrolleri

Süreç düzeyinde, çalışan tüm süreçlerle ilgili önemli bilgileri görüntüleyebilirsiniz. Örneğin, bir işlem veya uygulamanın kullandığı bellek ve CPU kullanım istatistiklerini içerir. qpidd, postgres postmaster, java gibi işlemler için aşağıdakileri izleyebilirsiniz:

  • Süreç tanımlama: Belirli bir Apigee sürecini tanımlayın. Örneğin, bir Apigee sunucu java sürecinin varlığını izleyebilirsiniz.
  • İş parçacığı istatistikleri: Bir işlemin kullandığı temel iş parçacığı kalıplarını görüntüleyin. Örneğin, tüm işlemler için en yüksek iş parçacığı sayısını ve iş parçacığı sayısını izleyebilirsiniz.
  • Bellek kullanımı: Tüm Apigee işlemlerinin bellek kullanımını görüntüleyin. Örneğin, yığın bellek kullanımı ve bir işlem tarafından kullanılan yığın olmayan bellek kullanımı gibi parametreleri izleyebilirsiniz.

API düzeyinde kontroller

API düzeyinde, Apigee tarafından proxy'si yapılan sık kullanılan API çağrıları için sunucunun çalışır durumda olup olmadığını izleyebilirsiniz. Örneğin, aşağıdaki cURL komutunu çağırarak Yönetim Sunucusu, Yönlendirici ve Mesaj İşleyicide API kontrolünü yapabilirsiniz:

curl http://<host>:<port>/v1/servers/self/up

Burada <host>, Apigee Edge bileşeninin IP adresidir. <bağlantı noktası> numarası, her bir Edge bileşenine özeldir. Örneğin:

Yönetim Sunucusu: 8080

  • Yönlendirici: 8081
  • Mesaj İşleyici: 8082
  • vb.

Bu komutu her bileşen için çalıştırma hakkında bilgi edinmek üzere aşağıdaki bölümlere bakın.

Bu çağrı "true" ve "false" değerlerini döndürür. En iyi sonuçlar için, Apigee yazılım ortamında mı yoksa arka uçta mı hata olduğunu hızlıca belirlemek amacıyla doğrudan arka uçta (Apigee yazılımının etkileşimde bulunduğu) API çağrıları da gönderebilirsiniz.

Not: API proxy'lerinizi izlemek için Apigee'nin API Sağlık Durumu'nu da kullanabilirsiniz. API Sağlık, API proxy'lerinize planlı çağrılar yapar ve bu çağrıların ne zaman ve nasıl başarısız olduğunu size bildirir. API Health, başarılı çağrılarda yanıt sürelerini gösterir ve yanıt gecikmesi yüksek olduğunda sizi bilgilendirebilir. API Health, bölgeler arasındaki API davranışlarını karşılaştırmak için dünyanın farklı yerlerinden çağrılar yapabilir.

Mesaj akışı kontrolleri

Yönlendiricilerden ve Mesaj İşleyicilerden mesaj akışı kalıbı/istatistikleri hakkında veri toplayabilirsiniz. Bu sayede aşağıdakileri izleyebilirsiniz:

  • Etkin istemci sayısı
  • Yanıt sayısı (10 kat, 20 kat, 30 kat, 40 kat ve 50 kat)
  • Bağlantı hataları

Bu sayede API mesaj akışı için kontrol panelleri sağlayabilirsiniz. Daha fazla bilgi için:

Mesaj işleyicinin yönlendirici sağlık kontrolü

Yönlendirici, hangi Mesaj İşleyicilerin beklendiği gibi çalıştığını belirlemek için bir durum denetimi mekanizması uygular. Bir Mesaj İşleyen'in kapalı veya yavaş olduğu tespit edilirse Yönlendirici, Mesaj İşleyen'i otomatik olarak rotasyondan çıkarabilir. Bu durumda yönlendirici, /opt/apigee/var/log/edge-router/logs/system.log adresindeki yönlendirici günlük dosyasına "Mark Down" mesajları yazar.

Bu mesajlar için Yönlendirici günlük dosyasını izleyebilirsiniz. Örneğin, Yönlendirici bir ileti işleyiciyi rotasyondan çıkarırsa iletiyi günlüke şu biçimde yazar:

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = <MP_IP> at 1399409512159

2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /<MP_IP>:<PORT> Mark Down

Burada /<MP_IP>:<PORT>, İleti İşleyen'in IP adresi ve bağlantı noktası numarasıdır.

Daha sonra Yönlendirici bir durum denetimi gerçekleştirir ve Mesaj İşleyici'nin düzgün bir şekilde çalıştığını belirlerse Yönlendirici, Mesaj İşleyici'yi otomatik olarak tekrar rotasyona alır. Yönlendirici, günlüke şu şekilde bir "Mark Up" mesajı da yazar:

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = <IP> at 1399410449054

2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from /<IP>:<PORT> Mark Up