Ana içeriğe geç

Sağlık API'si

Bu API, düğüm sağlığını ölçmek için kullanılabilir.

Düğümün sağlığını belirten bir HTTP durum kodu yanıtı almak için /ext/health adresine bir GET isteği gönderin. Eğer düğüm sağlıklıysa, 200 durum kodu döndürülür. Eğer bir düğümün sağlığı hakkında daha fazla bilgi almak istiyorsanız, aşağıdaki yöntemleri kullanabilirsiniz.

Format

Bu API, json 2.0 RPC formatını kullanır. JSON RPC çağrıları hakkında daha fazla bilgi için bakın.

Uç Nokta

/ext/health

Yöntemler

health.health

Düğüm, her 30 saniyede bir sağlık kontrolleri gerçekleştirmektedir; bu kontroller arasında her zincirin sağlık kontrolü de bulunmaktadır. Bu yöntem, son sağlık kontrolü sonuçlarının bir setini döndürmektedir.

İmza

health.health() -> {
checks: []{
checkName: {
message: JSON,
error: JSON,
timestamp: string,
duration: int,
contiguousFailures: int,
timeOfFirstFailure: int
}
},
healthy: bool
}

healthy, tüm sağlık kontrolleri başarılıysa true olarak döner.

checks, sağlık kontrolü yanıtlarının bir listesidir.

  • Bir kontrol yanıtı, ek bağlam içeren bir message içerebilir.
  • Bir kontrol yanıtı, kontrolün neden başarısız olduğunu açıklayan bir error içerebilir.
  • timestamp, son sağlık kontrolünün zaman damgasıdır.
  • duration, son sağlık kontrolünün yürütme süresi, nanosecond cinsindendir.
  • contiguousFailures, bu kontrolün peş peşe kaç kez başarısız olduğunu gösterir.
  • timeOfFirstFailure, bu kontrolün ilk kez başarısız olduğu zamandır.

Bu ölçümler hakkında daha fazla bilgi, kütüphanesinin belgelerinde bulunabilir.

Örnek Çağrı

curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"health.health"
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/health

Örnek Yanıt

Bu örnek yanıtında, C-Zincir’in sağlık kontrolü başarısız olmaktadır.

{
"jsonrpc": "2.0",
"result": {
"checks": {
"C": {
"message": null,
"error": {
"message": "örnek hata mesajı"
},
"timestamp": "2020-10-14T14:04:20.57759662Z",
"duration": 465253,
"contiguousFailures": 50,
"timeOfFirstFailure": "2020-10-14T13:16:10.576435413Z"
},
"P": {
"message": {
"percentConnected": 0.9967694992864075
},
"timestamp": "2020-10-14T14:04:08.668743851Z",
"duration": 433363830,
"contiguousFailures": 0,
"timeOfFirstFailure": null
},
"X": {
"timestamp": "2020-10-14T14:04:20.3962705Z",
"duration": 1853,
"contiguousFailures": 0,
"timeOfFirstFailure": null
},
"chains.default.bootstrapped": {
"timestamp": "2020-10-14T14:04:04.238623814Z",
"duration": 8075,
"contiguousFailures": 0,
"timeOfFirstFailure": null
},
"network.validators.heartbeat": {
"message": {
"heartbeat": 1602684245
},
"timestamp": "2020-10-14T14:04:05.610007874Z",
"duration": 6124,
"contiguousFailures": 0,
"timeOfFirstFailure": null
}
},
"healthy": false
},
"id": 1
}