有关如何在ASP.net核心中实施运行状况检查的信息,请参见here。
我的问题是如何在非ASP.net内核上执行此操作。
我想很多人会在Docker容器中运行应用程序,并在Dockerfile中使用以下代码:
HEALTHCHECK CMD curl --fail http://localhost:5000/healthz ||退出
但并非所有应用程序都是Web应用程序,因此对于没有Web的应用程序,您如何监控其运行状况?
答案 0 :(得分:1)
对于没有核心应用程序的用户,您只需添加一个新的控制器和一个get方法
[RoutePrefix("healthz")]
public class HealthController : ApiController
{
[HttpGet,Route]
public IHttpActionResult Index()
{
return Ok();
}
}
如果您想检查任何资源(例如数据库)的运行状况,则将执行相同的操作,然后可以将代码放在Index
方法内,以首先进行这些检查,如果发现错误,则返回不同的状态代码。如
return InternalServerError();