Prometheus Net AspNet Core 不支持 http2 协议
Prometheus Net AspNet Core not supporting http2 protocol
我正在尝试将 prometheues 配置到 .Net Core 3.1 应用程序中。我的应用程序在 http2 协议上运行,我在 appsetting.json.
中有以下配置
"Kestrel": {
"EndpointDefaults": {
"Protocols": "Http2"
}
},
但是,我无法在 prometheus UI 中启动服务和 运行。(我查询“up”以检查服务器 运行 状态)。我在普罗米修斯日志中收到以下消息。
caller=tls_config.go:191 component=web msg="TLS is disabled." http2=false
如果我将协议设置为 Http1AndHttp2,我将启动服务并在 prometheus 中 运行。但是我需要在只支持http2协议的情况下启动服务。
请同时在我的 prometheus.yml
中找到我所做的配置
- job_name: "service"
# metrics_path defaults to '/metrics'
scheme: https
tls_config:
insecure_skip_verify: true
static_configs:
- targets:
- localhost:5001
目前Prometheus默认不支持HTTP/2,可能是这个问题。在下一个版本 (v2.31) 中,它将再次启用,但现在,在最新版本 (v2.30) 中,您可以将 PROMETHEUS_COMMON_ENABLE_HTTP2
环境变量设置为非空值以启用它。
我正在尝试将 prometheues 配置到 .Net Core 3.1 应用程序中。我的应用程序在 http2 协议上运行,我在 appsetting.json.
中有以下配置 "Kestrel": {
"EndpointDefaults": {
"Protocols": "Http2"
}
},
但是,我无法在 prometheus UI 中启动服务和 运行。(我查询“up”以检查服务器 运行 状态)。我在普罗米修斯日志中收到以下消息。
caller=tls_config.go:191 component=web msg="TLS is disabled." http2=false
如果我将协议设置为 Http1AndHttp2,我将启动服务并在 prometheus 中 运行。但是我需要在只支持http2协议的情况下启动服务。
请同时在我的 prometheus.yml
中找到我所做的配置 - job_name: "service"
# metrics_path defaults to '/metrics'
scheme: https
tls_config:
insecure_skip_verify: true
static_configs:
- targets:
- localhost:5001
目前Prometheus默认不支持HTTP/2,可能是这个问题。在下一个版本 (v2.31) 中,它将再次启用,但现在,在最新版本 (v2.30) 中,您可以将 PROMETHEUS_COMMON_ENABLE_HTTP2
环境变量设置为非空值以启用它。