您现在的位置:主页 > 官家婆水心论坛四不像 > 正文内容

Core之跨平台的实时性能监控(2健康检查)

发布日期:2019-08-15 23:31   来源:未知   阅读:
 

  健康检查,其实这个名称已经很明确了,它是检查你的应用程序是否健康运行的一种方式。随着当前各类项目越来越多的应用程序正在转向。你不在是监视一个庞大的整体项目的健康状况,而是需要监控许多不同服务的状态,甚至这些服务通常只负责一件事情。7月22日安科生物(300009)监事徐振山减持15万股,健康检查(Heatlh Checks)通常与一些服务发现工具结合使用,如Consul ,来监控您的微服务器,来观测您的服务是否健康运行。

  健康检查有很多种不同的方法,但最常见的方法是将HTTP端点暴露给专门用于健康检查的应用程序。一般来说,如果一切情况都很好,你的服务将返回200的状态码,然而任何非200的代码则意味着出现问题。例如,如果发生错误,你可能会返回500以及一些出错的JSON信息。

  你的健康检查将基于你的应用程序或者你的微服务主要在做写什么事情,就检查什么.

  下面我们就来讲解一下,如何使用App Metrics来实现我们的健康检查.

  也含有一些内置的健康检查(后面讲解),我们先来讲一下如何自行创建健康检查

  值得注意的是,这里的健康检查注入,是通过反射实现的,他会自动检测你项目引用的dll,找到继承过HealthCheck的类,自动全部注入.

  然后我们运行,会发现我们的Grafana的健康检查仪表盘,多了条数据,如图:

  (注:这里说明一下这个Apdex Score(用户满意度得分),是默认自动开启的.可以通过配置关闭)

  上面我们演示了如何创建一个自己的健康检查,但是只返回了健康的信息,我们还有亚健康,不健康,这些当然也是会出现的.所以,代码如下:

  在这个方法中,加上你们自己的检查业务逻辑,返回相应的HealthCheckResult即可.

  前面我们说过,App Metrics给我们提供了一些内置的健康检查,我们下面就来一一讲解

  说明一下,这个是检测当前程序占用的物理内存是否超过你设置阀值(字节为单位),并不是检测你还剩下多少物理内存

  说明一下,这个方法,通过源码可以看到,获取的是PrivateMemorySize64,也是就是获取为关联的进程分配的专用内存量。

  有趣的是,其实微软在Core 2.0中其实也给我们内置了相关的健康检测插件.(说明健康检测真的很重要)