Skip to content

Roxeez/HealthCheck4Grpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HealthCheck4Grpc

Library made to easily add healthcheck to your grpc services.
This library was made because original grpc healthcheck library only support healthy/unhealthy statuses

Client without ASP.NET Core

var channel = GrpcChannel.ForAddress("http://localhost:6000");
var service = channel.CreateGrpcHealthCheckClient();

var response = await service.CheckAsync(new GrpcHealthCheckRequest());

Console.WriteLine(response.Status);

Client

var builder = WebApplication.CreateBuilder(args);

builder.WebHost.UseKestrel(x =>
{
    x.ListenAnyIP(5000, o => o.Protocols = HttpProtocols.Http1);
});

builder.Services.AddGrpc();
builder.Services.AddHealthChecks().AddGrpcHealthCheck("MyService", "http://localhost:6000");

var app = builder.Build();

app.MapHealthChecks("/health");

app.Run();

Server

var builder = WebApplication.CreateBuilder(args);

builder.WebHost.UseKestrel(x =>
{
    x.ListenAnyIP(5000, o => o.Protocols = HttpProtocols.Http1);
    x.ListenAnyIP(6000, o => o.Protocols = HttpProtocols.Http2);
});

builder.Services.AddGrpc();
builder.Services.AddHealthChecks().AddCheck("Example", () => HealthCheckResult.Degraded());

var app = builder.Build();

app.MapGrpcHealthCheck();
app.MapHealthChecks("/health");

app.Run();

About

HealthCheck for grpc

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages