Add redis healthcheck to .net app
This commit is contained in:
@@ -38,7 +38,6 @@ namespace Managing.Api.HealthChecks
|
|||||||
{
|
{
|
||||||
var root = document.RootElement;
|
var root = document.RootElement;
|
||||||
string status = "healthy";
|
string status = "healthy";
|
||||||
string message = "Web3Proxy is healthy";
|
|
||||||
|
|
||||||
if (root.TryGetProperty("status", out var statusElement))
|
if (root.TryGetProperty("status", out var statusElement))
|
||||||
{
|
{
|
||||||
@@ -152,6 +151,73 @@ namespace Managing.Api.HealthChecks
|
|||||||
|
|
||||||
data["gmx"] = gmxData;
|
data["gmx"] = gmxData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extract Redis check
|
||||||
|
if (checksElement.TryGetProperty("redis", out var redisElement))
|
||||||
|
{
|
||||||
|
var redisData = new Dictionary<string, object>();
|
||||||
|
|
||||||
|
if (redisElement.TryGetProperty("status", out var redisStatusElement))
|
||||||
|
{
|
||||||
|
redisData["status"] = redisStatusElement.GetString();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (redisElement.TryGetProperty("message", out var redisMessageElement))
|
||||||
|
{
|
||||||
|
redisData["message"] = redisMessageElement.GetString();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extract Redis detailed data
|
||||||
|
if (redisElement.TryGetProperty("data", out var redisDataElement))
|
||||||
|
{
|
||||||
|
if (redisDataElement.TryGetProperty("connectTimeMs", out var connectTimeElement))
|
||||||
|
{
|
||||||
|
redisData["connectTimeMs"] = connectTimeElement.GetInt32();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (redisDataElement.TryGetProperty("getTimeMs", out var getTimeElement))
|
||||||
|
{
|
||||||
|
redisData["getTimeMs"] = getTimeElement.GetInt32();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (redisDataElement.TryGetProperty("redisVersion", out var redisVersionElement))
|
||||||
|
{
|
||||||
|
redisData["redisVersion"] = redisVersionElement.GetString();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (redisDataElement.TryGetProperty("uptimeSeconds", out var uptimeElement))
|
||||||
|
{
|
||||||
|
redisData["uptimeSeconds"] = uptimeElement.GetString();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (redisDataElement.TryGetProperty("connectedClients", out var clientsElement))
|
||||||
|
{
|
||||||
|
redisData["connectedClients"] = clientsElement.GetString();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (redisDataElement.TryGetProperty("usedMemory", out var memoryElement))
|
||||||
|
{
|
||||||
|
redisData["usedMemory"] = memoryElement.GetString();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (redisDataElement.TryGetProperty("hasPassword", out var hasPasswordElement))
|
||||||
|
{
|
||||||
|
redisData["hasPassword"] = hasPasswordElement.GetBoolean();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (redisDataElement.TryGetProperty("errorType", out var errorTypeElement))
|
||||||
|
{
|
||||||
|
redisData["errorType"] = errorTypeElement.GetString();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (redisDataElement.TryGetProperty("redisUrl", out var redisUrlElement))
|
||||||
|
{
|
||||||
|
redisData["redisUrl"] = redisUrlElement.GetString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data["redis"] = redisData;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine overall health result based on status
|
// Determine overall health result based on status
|
||||||
|
|||||||
Reference in New Issue
Block a user