Kong故障转移参数配置
一、Passive Health Check
Healthchecks.Passive.Unhealthy.HttpStatuses
- 含义: 列出了被认为是“不健康”的HTTP状态码。
- 目的: 当健康检查(Healthcheck)返回这些状态码时,系统会认为服务不健康,并可能触发告警或自动恢复机制。
- 示例:
429 Too Many Requests
:请求过多,服务器繁忙。500 Internal Server Error
:服务器内部错误。503 Service Unavailable
:服务不可用。
Healthchecks.Passive.Unhealthy.Timeouts
- 含义: 健康检查超时的次数。
- 目的: 用于监控健康检查的响应时间。如果超时次数过多,可能表明服务存在性能问题或无法正常响应。
Healthchecks.Passive.Unhealthy.Http Failures
- 含义: HTTP健康检查失败的次数。
- 目的: 用于监控HTTP健康检查的失败率。如果失败次数过多,可能表明服务存在故障或配置问题。
Healthchecks.Passive.Unhealthy.Top Failures
- 含义: 显示导致健康检查失败的最常见错误类型。
- 目的: 帮助快速定位和解决服务故障。
Healthchecks.Passive.Healthy.HttpStatuses
- 含义: 列出了被认为是“健康”的HTTP状态码。
- 目的: 用于判断一个服务或应用程序是否正常运行。当健康检查返回这些状态码时,系统会认为服务是健康的。
- 示例:
200 OK
:请求成功。201 Created
:请求成功,并创建了新资源。202 Accepted
:请求已被接受处理,但尚未完成。204 No Content
:请求成功,但没有返回内容。301 Moved Permanently
:永久重定向。302 Found
:临时重定向。
Healthchecks.Passive.Healthy.Successes
- 含义: 表示健康检查成功的次数。
- 目的: 用于监控健康检查的频率和成功率。
二、Active Health Check
Healthchecks.Active.Type
- 含义: 健康检查的类型。
- 目的: 表明健康检查使用的方法。
- 示例:
http
:通过发送HTTP请求来检查服务健康状态。tcp
:通过建立TCP连接来检查服务健康状态。
Healthchecks.Active.Unhealthy.HttpStatuses
- 含义: 列出了被认为是“不健康”的HTTP状态码。
- 目的: 当健康检查返回这些状态码时,系统会认为服务不健康,并可能触发告警或自动恢复机制。
- 示例:
429 Too Many Requests
:请求过多,服务器繁忙。404 Not Found
:资源未找到。500 Internal Server Error
:服务器内部错误。501 Not Implemented
:服务器不支持请求的功能。502 Bad Gateway
:网关错误。503 Service Unavailable
:服务不可用。504 Gateway Timeout
:网关超时。
Healthchecks.Active.Unhealthy.Top Failures
- 含义: 显示导致健康检查失败的最常见错误类型。
- 目的: 帮助快速定位和解决服务故障。
Healthchecks.Active.Unhealthy.Timeouts
- 含义: 健康检查超时的次数。
- 目的: 用于监控健康检查的响应时间。如果超时次数过多,可能表明服务存在性能问题或无法正常响应。
Healthchecks.Active.Unhealthy.Http Failures
- 含义: HTTP健康检查失败的次数。
- 目的: 用于监控HTTP健康检查的失败率。如果失败次数过多,可能表明服务存在故障或配置问题。
Healthchecks.Active.Unhealthy.Interval
- 含义: 健康检查的间隔时间。
- 目的: 控制健康检查的频率。
Healthchecks.Active.Concurrency
- 含义: 同时执行的健康检查数量。
- 目的: 控制健康检查的并发度。
Healthchecks.Active.Healthy.HttpStatuses
- 含义: 列出了被认为是“健康”的HTTP状态码。
- 目的: 用于判断一个服务或应用程序是否正常运行。当健康检查返回这些状态码时,系统会认为服务是健康的。
- 示例:
200 OK
:请求成功。201 Created
:请求成功,并创建了新资源。202 Accepted
:请求已被接受处理,但尚未完成。204 No Content
:请求成功,但没有返回内容。301 Moved Permanently
:永久重定向。302 Found
:临时重定向。401 Unauthorized
:未授权。
Healthchecks.Active.Https Sni kong 参数的作用
- 启用 HTTPS 健康检查: 该参数用于指定是否使用 HTTPS 协议对后端服务进行健康检查。如果启用,Kong 将通过 HTTPS 请求来判断服务是否健康。
- 配置 SNI(Server Name Indication): SNI 是一种 TLS 扩展,允许在同一 IP 地址和端口上托管多个 SSL 证书。
Healthchecks.Active.Https Sni kong
参数可能用于配置健康检查请求中使用的 SNI。这对于后端服务使用虚拟主机或需要特定证书的场景非常重要。
相关概念解释
- 健康检查(Health Check): 健康检查用于监控后端服务的可用性。Kong 可以定期向后端服务发送请求,如果服务返回正常响应,则认为服务是健康的,否则认为服务不健康。
- HTTPS(HTTP Secure): HTTPS 是 HTTP 协议的安全版本,通过 SSL/TLS 加密通信,保护数据的安全性。
- SNI(Server Name Indication): SNI 是一种 TLS 扩展,允许客户端在 TLS 握手过程中指定要访问的虚拟主机名。这样服务器就可以根据客户端提供的 SNI 选择正确的 SSL 证书。
为什么需要配置 Healthchecks.Active.Https Sni kong 参数
- 确保健康检查的准确性: 如果后端服务仅支持 HTTPS 访问,或者使用了 SNI,那么健康检查必须使用 HTTPS 协议,并配置正确的 SNI,才能准确判断服务的健康状态。
- 提高安全性: 对于需要安全访问的后端服务,使用 HTTPS 健康检查可以避免敏感信息在传输过程中被泄露。
如何配置 Healthchecks.Active.Https Sni kong 参数
具体的配置方法取决于您使用的 Kong 版本和配置方式。一般来说,您可以通过 Kong 的配置文件或 Admin API 来设置这个参数。
healthchecks:
active:
https: true
sni: "example.com"