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 İşleyen, Qpid sunucusu ve Postgres sunucusu bu hizmetlere örnek gösterilebilir.
- Üçüncü Taraf Hizmetleri: Bunlara NGINX Router, Apache Cassandra, Apache ZooKeeper, OpenLDAP, PostgreSQL veritabanı ve Qpid dahildir.
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 Seviyesinde İstatistikler | API düzeyinde kontroller | 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/IO 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 olarak kullanılan 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 İşleyicide API kontrolünü yapabilirsiniz:
curl http://host:port/v1/servers/self/up
Burada host, Apigee Edge bileşeninin IP adresidir. port sayısı 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.
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 İzleme başlıklı makaleyi inceleyin.
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