amazeeio/healthz-php

安装数: 3,057

依赖: 0

建议者: 0

安全性: 0

星星: 1

关注者: 7

分支: 0

开放性问题: 4

类型:项目

v0.0.6 2020-08-04 21:30 UTC

README

这是一个简单的PHP应用程序,用于确定在Lagoon上托管站点的整体健康状况。

目前,它依赖于Lagoon约定来确定哪些服务可用,然后检查这些服务是否运行。

配置

此脚本应位于与应用程序分开的目录中。例如,惯例是将Web应用程序存储在/app中 - 您可以将Healthz-php存储在/healthz中。

  location /lagoonhealthz {
    root /lagoonhealthz;
    rewrite ^/lagoonhealthz$ /lagoonhealthz/index.php;

    location ~* \.php(/|$) {
      include        /etc/nginx/fastcgi.conf;
      fastcgi_param  SCRIPT_NAME        /index.php;
      fastcgi_param  SCRIPT_FILENAME    /lagoonhealthz/index.php;
      fastcgi_pass   ${NGINX_FASTCGI_PASS:-php}:9000;
    }
  }

将其添加到您的nginx配置中,将重定向所有传入的/healthz流量到我们当前的脚本。

设置失败响应代码

默认情况下,我们返回http 500响应代码以表示任何失败的检查。这对于涉及错误负缓存的设置可能是一个潜在问题。

如果您希望系统返回除500以外的其他内容,您可以使用环境变量HEALTHZ_PHP_HTTP_FAIL_CODE设置返回代码。

扩展检查

可以通过实现AmazeeIO\Health\Check\CheckInterface来创建检查,它主要做两件事。

首先,它检查检查是否适用于当前环境。例如,为了知道是否应该检查Solr服务的状态,CheckSolr类将首先检查环境变量SOLR_PORT是否可用。如果任何特定的检查调用CheckInterface::appliesInEnvironment返回true,则该检查将被注册以运行。

其次,所有适用的检查都必须返回一个result和一个status。返回的状态是STATUS_PASSSTATUS_FAILSTATUS_WARN之一 - 这三种状态实际上决定了测试服务的健康状态。它们用于确定整个系统的健康状况。

检查的整体状态由最适用的检查的最负结果决定。也就是说,如果任何检查返回STATUS_FAIL,则整个检查被认为是失败的。如果任何检查返回STATUS_WARN,则整个系统检查被认为是警告状态。

创建您的检查后,请将它们注册在checks.conf.php文件中。