Ne İzlemeli?

Private Cloud için Edge v4.18.01

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örlerini) 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 başlıklı makaleyi inceleyin.

Apigee bileşenleri, kolaylık sağlamak için 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üzeyi Kontrolleri

Mesaj Akış Kontrolleri

Bileşene özgü

Apigee'ye özgü 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 için Apigee Edge kurulumunun performansını izlemek 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 durumu parametrelerini daha yüksek bir düzeyde ölçmek ç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şlemin veya uygulamanın kullandığı bellek ve CPU kullanım istatistikleri bu kapsamdadır. qpidd, postgres postmaster, java gibi işlemler için aşağıdakileri izleyebilirsiniz:

  • İşlem tanımlama: Belirli bir Apigee işlemini 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ı, bir işlem tarafından kullanılan yığın dışı 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. <port> numarası her Edge bileşenine özgüdür. Ö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 Health'ini de 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 Sağlık, başarılı çağrılarda yanıt sürelerini gösterir ve yanıt gecikmesi yüksek olduğunda sizi bilgilendirebilir. API Sağlık, API davranışını bölgeler arasında karşılaştırmak için dünyanın dört bir yanındaki farklı konumlardan çağrı 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ı (10X, 20X, 30X, 40X ve 50X)
  • 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 ileti iş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" mesajı 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 şu biçimde günlüke 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>, Mesaj İşleyici'nin IP adresi ve bağlantı noktası numarasıdır.

Yönlendirici daha sonra bir durum denetimi gerçekleştirip Mesaj İşlemcisinin düzgün çalıştığını belirlerse Mesaj İşlemcisini otomatik olarak tekrar rotasyona ekler. 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