对于业务模块的监控,如果只是监控进程存活与否、端口是否在监听,远远不够,API监控是一个不错的实用手段。

    比如Google的所有服务模块,都要求开一个http接口/varz,访问之,会返回一堆监控数据,以此可以看出这个进程是否工作正常。我们这里,简化了这个规范,希望所有进程都提供一个/health接口,请求之,返回一个字符串啥的即可,这样我们就可以周期性探测这个接口,以此判断这个服务是否健康。

    这个方式也可以用来做基本的网站可用性探测。

    image.png