mirror of
https://github.com/eosswedenorg/antelope-api-healthcheck
synced 2026-06-17 04:50:02 +02:00
src/api: do not send a message in haproxy response (it does not like that).
This commit is contained in:
parent
ed91320a1d
commit
879d613b46
3 changed files with 14 additions and 23 deletions
|
|
@ -36,14 +36,13 @@ func (e EosioContract) Call() (agentcheck.Response, string) {
|
|||
|
||||
h, err := e.client.GetHealth()
|
||||
if err != nil {
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Failed, "Failed to contact api")
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Failed, "")
|
||||
return resp, err.Error()
|
||||
}
|
||||
|
||||
// Check HTTP Status Code
|
||||
if h.HTTPStatusCode > 299 {
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down,
|
||||
fmt.Sprintf("HTTP %v", h.HTTPStatusCode))
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "")
|
||||
|
||||
msg := "Taking offline because %v was received from backend"
|
||||
return resp, fmt.Sprintf(msg, h.HTTPStatusCode)
|
||||
|
|
@ -61,8 +60,7 @@ func (e EosioContract) Call() (agentcheck.Response, string) {
|
|||
|
||||
// Check redis
|
||||
if h.Data.Redis.Status != "OK" {
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down,
|
||||
fmt.Sprintf("Redis: %s", h.Data.Redis.Status))
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "")
|
||||
|
||||
msg := "Taking offline because Redis reported '%s'"
|
||||
return resp, fmt.Sprintf(msg, h.Data.Redis.Status)
|
||||
|
|
@ -73,15 +71,13 @@ func (e EosioContract) Call() (agentcheck.Response, string) {
|
|||
diff := now.Sub(h.Data.Chain.HeadTime).Seconds()
|
||||
|
||||
if diff > e.block_time {
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down,
|
||||
fmt.Sprintf("headblock is %.0f seconds behind", diff))
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "")
|
||||
|
||||
msg := "Taking offline because head block is lagging %.0f seconds"
|
||||
return resp, fmt.Sprintf(msg, diff)
|
||||
} else if diff < -e.block_time {
|
||||
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down,
|
||||
fmt.Sprintf("headblock is %.0f into the future", diff))
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "")
|
||||
|
||||
msg := "Taking offline because head block is %.0f seconds into the future"
|
||||
return resp, fmt.Sprintf(msg, diff)
|
||||
|
|
|
|||
|
|
@ -39,15 +39,14 @@ func (e EosioV1) Call() (agentcheck.Response, string) {
|
|||
|
||||
info, err := eosapi.GetInfo(e.params)
|
||||
if err != nil {
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Failed, "Failed to contact api")
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Failed, "")
|
||||
return resp, err.Error()
|
||||
}
|
||||
|
||||
// Check HTTP Status Code
|
||||
if info.HTTPStatusCode > 299 {
|
||||
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down,
|
||||
fmt.Sprintf("HTTP %v", info.HTTPStatusCode))
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "")
|
||||
|
||||
msg := "Taking offline because %v was received from backend"
|
||||
return resp, fmt.Sprintf(msg, info.HTTPStatusCode)
|
||||
|
|
@ -59,15 +58,13 @@ func (e EosioV1) Call() (agentcheck.Response, string) {
|
|||
|
||||
if diff > e.block_time {
|
||||
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down,
|
||||
fmt.Sprintf("headblock is %.0f seconds behind", diff))
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "")
|
||||
|
||||
msg := "Taking offline because head block is lagging %.0f seconds"
|
||||
return resp, fmt.Sprintf(msg, diff)
|
||||
} else if diff < -e.block_time {
|
||||
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down,
|
||||
fmt.Sprintf("headblock is %.0f into the future", diff))
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "")
|
||||
|
||||
msg := "Taking offline because head block is %.0f seconds into the future"
|
||||
return resp, fmt.Sprintf(msg, diff)
|
||||
|
|
|
|||
|
|
@ -39,13 +39,13 @@ func (e EosioV2) Call() (agentcheck.Response, string) {
|
|||
|
||||
health, err := eosapi.GetHealth(e.params)
|
||||
if err != nil {
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Failed, "Failed to contact api")
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Failed, "")
|
||||
return resp, err.Error()
|
||||
}
|
||||
|
||||
// Check HTTP Status Code
|
||||
if health.HTTPStatusCode > 299 {
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, fmt.Sprintf("HTTP %v", health.HTTPStatusCode))
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "")
|
||||
return resp, fmt.Sprintf("Taking offline because %v was received from backend", health.HTTPStatusCode)
|
||||
}
|
||||
|
||||
|
|
@ -66,19 +66,17 @@ func (e EosioV2) Call() (agentcheck.Response, string) {
|
|||
msg := fmt.Sprintf("Failed to get Elasticsearch and/or nodeos " +
|
||||
"block numbers (es: %d, eos: %d)", es_block, node_block)
|
||||
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Failed, msg)
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Failed, "")
|
||||
return resp, msg
|
||||
}
|
||||
|
||||
// Check if ES is behind or in the future.
|
||||
diff := node_block - es_block;
|
||||
if diff > e.offset {
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down,
|
||||
fmt.Sprintf("Elastic is %d blocks behind", diff))
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "")
|
||||
return resp, fmt.Sprintf("Taking offline because Elastic is %d blocks behind", diff)
|
||||
} else if diff < -e.offset {
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down,
|
||||
fmt.Sprintf("Elastic is %d blocks into the future", -1 * diff))
|
||||
resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "")
|
||||
return resp, fmt.Sprintf("Taking offline because Elastic is %d blocks into the future", -1 * diff)
|
||||
}
|
||||
return agentcheck.NewStatusResponse(agentcheck.Up), "OK"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue