.net 核心健康检查
.net core health checks
请参阅 here 了解如何在 ASP.net 核心中实施健康检查。
我的问题是如何为非 ASP.net 核心做这件事。
我认为很多人 运行 应用程序在 docker 容器中并在 Dockerfile 中使用以下内容:
HEALTHCHECK CMD curl --fail http://localhost:5000/healthz || exit
但并非所有应用程序都是网络应用程序,因此对于没有网络的应用程序,您如何监控应用程序的运行状况?
对于 none 核心应用程序,您只需添加一个新控制器和一个获取方法
[RoutePrefix("healthz")]
public class HealthController : ApiController
{
[HttpGet,Route]
public IHttpActionResult Index()
{
return Ok();
}
}
这将做同样的事情,如果你想检查任何资源(如数据库)的健康状况,那么你可以将代码放在 Index
方法中以先进行这些检查,然后 return不同的状态代码,如果有什么东西掉了,比如
return InternalServerError();
请参阅 here 了解如何在 ASP.net 核心中实施健康检查。
我的问题是如何为非 ASP.net 核心做这件事。
我认为很多人 运行 应用程序在 docker 容器中并在 Dockerfile 中使用以下内容:
HEALTHCHECK CMD curl --fail http://localhost:5000/healthz || exit
但并非所有应用程序都是网络应用程序,因此对于没有网络的应用程序,您如何监控应用程序的运行状况?
对于 none 核心应用程序,您只需添加一个新控制器和一个获取方法
[RoutePrefix("healthz")]
public class HealthController : ApiController
{
[HttpGet,Route]
public IHttpActionResult Index()
{
return Ok();
}
}
这将做同样的事情,如果你想检查任何资源(如数据库)的健康状况,那么你可以将代码放在 Index
方法中以先进行这些检查,然后 return不同的状态代码,如果有什么东西掉了,比如
return InternalServerError();