İzlenecek bilgiler

Genel olarak, bir üretim kurulumunda Apigee Edge for Private Cloud dağıtımında izleme mekanizmalarını etkinleştirmeniz gerekir. Bu izleme teknikleri, ağ yöneticilerini (veya operatörlerini) bir hata ya da arıza konusunda uyarır. Oluşturulan her hata, Apigee Edge'de uyarı olarak bildirilir. Uyarılar hakkında daha fazla bilgi için İzlemeyle İlgili En İyi Uygulamalar başlıklı makaleyi inceleyin.

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

  • Apigee'ye özgü Java sunucu hizmetleri: Bunlar arasında Yönetim Sunucusu, Mesaj İşleyici, Qpid Sunucusu ve Postgres Sunucusu bulunur.
  • Üçüncü Taraf Hizmetleri: Nginx Router, Apache Cassandra, Apache ZooKeeper, SymasLDAP, PostgreSQL veritabanı ve Qpid bu hizmetler arasındadır.

Apigee Edge'in şirket içi dağıtımında, aşağıdaki tabloda izleyebileceğiniz parametreler hakkında kısa bir genel bakış sunulmaktadır:

Bileşen Sistem Kontrolleri İşlem Düzeyinde İstatistikler API Düzeyinde Kontroller İleti 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

SymasLDAP

PostgreSQL veritabanı

Qpid

Nginx Router

Genel olarak, Apigee Edge yüklendikten sonra bir Apigee Edge for Private Cloud yüklemesinin performansını izlemek için 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ığı 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/G/Ç Bekleme/Boşta) belirtir. Örneğin, sistem tarafından kullanılan toplam CPU.
  • Boş/Kullanılan Bellek: Sistem belleğinin bayt cinsinden kullanımını 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 iletim hatalarının yanı sıra iletilen ve alınan ağ paketleri ve/veya baytları.

Süreçler/uygulama kontrolleri

Süreç düzeyinde, çalışan tüm süreçlerle ilgili önemli bilgileri görüntüleyebilirsiniz. Örneğin, bir sürecin veya uygulamanın kullandığı bellek ve CPU kullanım istatistikleri buna dahildir. Qpid, 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, Apigee sunucusu Java işleminin varlığını izleyebilirsiniz.
  • İş parçacığı istatistikleri: Bir işlemin kullandığı temel iş parçacığı oluşturma kalıplarını görüntüleyin. Örneğin, en yüksek iş parçacığı sayısını ve tüm işlemlerin 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 dışı bellek kullanımı gibi parametreleri izleyebilirsiniz.

API düzeyinde kontroller

API düzeyinde, Apigee tarafından proxy'lenen sık kullanılan API çağrıları için bir sunucunun çalışır durumda olup olmadığını izleyebilirsiniz. Örneğin, aşağıdaki curl komutunu çağırarak Yönetim Sunucusu, Yönlendirici ve Mesaj İşleyici'de API kontrolü gerçekleştirebilirsiniz:

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

Burada host, Apigee Edge bileşeninin IP adresidir. port numarası her bir Edge bileşenine özeldir. Örneğin:

Yönetim Sunucusu: 8080

  • Yönlendirici: 8081
  • Message Processor: 8082
  • vb.

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

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

İleti 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, API mesaj akışı için kontrol panelleri sağlamanıza yardımcı olur. Daha fazla bilgi için İzleme başlıklı makaleyi inceleyin.

Mesaj işleyicinin yönlendirici durum kontrolü

Yönlendirici, hangi ileti işlemcilerinin beklendiği gibi çalıştığını belirlemek için bir durum denetimi mekanizması uygular. Bir Mesaj İşleyici'nin çalışmadığı veya yavaş olduğu algılanırsa Yönlendirici, Mesaj İşleyici'yi otomatik olarak kullanımdan kaldırabilir. Bu durumda yönlendirici, /opt/apigee/var/log/edge-router/logs/system.log konumundaki 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şlemcisini devre dışı bırakırsa iletiyi aşağıdaki biçimde günlüğe 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.

Daha sonra yönlendirici bir durum denetimi gerçekleştirir ve ileti işlemcisinin düzgün çalıştığını belirlerse yönlendirici, ileti işlemcisini otomatik olarak tekrar kullanıma alır. Yönlendirici, günlük dosyasına şu biçimde 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