Prometheus

55708
下载
Prometheus 是一个开源的监控和告警系统,专注于时间序列数据的采集与存储。由 SoundCloud 开发,配备高级查询语言PromQL,便于数据挖掘与分析,并无缝对接多种可视化平台。

HTTPS 与验证


Alertmanager 支持 Basic Auth 和 TLS。这是实验性的特性,并且在未来可能会发生变化。

目前,TLS 支持 HTTP 流量和 gossip 流量。

HTTP 流量

要指定加载哪个 web 配置文件,请使用--web.config.file标志。

配置文件以 YAML 格式编写,其模版(scheme)如下文定义。方括号表示参数是可选的。对于配置文件中没有给出的可选参数,值将被设置为其指定的默认值。

Alertmanager 在每次 HTTP 请求时都会读取此文件,因此任何配置更改和证书更新都会被立即捕获。

通用占位符定义如下:

  • <boolean>:可以取值 true 或 false 的布尔类型
  • <filename>:当前工作目录中有效的路径
  • <secret>:如密码之类的密钥字符串
  • <string>:普通字符串
tls_server_config:
# 服务器用于验证客户端使用的证书和密钥文件。
cert_file: <filename>
key_file: <filename>
# 服务器策略用于客户端认证。映射到 ClientAuth 策略。
# 对于客户端认证选项的详细信息:
# https://golang.org/pkg/crypto/tls/#ClientAuthType
#
# 注意:如果你希望启用客户端认证,则需要使用 RequireAndVerifyClientCert。
# 其他值是不安全的。
# [ client_auth_type: <string> | default = "NoClientCert" ]
# 服务器端用于客户端证书认证的 CA 证书。
[ client_ca_file: <filename> ]
# 可接受的最低 TLS 版本。
[ min_version: <string> | default = "TLS12" ]
# 可接受的最大 TLS 版本。
[ max_version: <string> | default = "TLS13" ]
# TLS 版本最高至 TLS 1.2 时支持的加密套件列表。
# 如果为空,则使用 Go 默认加密套件。可用的加密套件在 Go 文档中进行了记录:
# https://golang.org/pkg/crypto/tls/#pkg-constants
#
# 注意,仅以下函数返回的加密套件受支持:
# https://pkg.go.dev/crypto/tls#CipherSuites
[ cipher_suites:
[ - <string> ] ]
# prefer_server_cipher_suites 控制服务器选择客户端偏好的加密套件还是服务器偏好的加密套件。
# 如果为 true,则使用服务器的偏好设置,这将会通过 cipher_suites 中的元素顺序设置。
[ prefer_server_cipher_suites: <bool> | default = true ]
# 在 ECDHE 握手期间将会使用的椭圆曲线,按照优先级顺序排列。可用曲线在 Go 文档中进行了记录:
# https://golang.org/pkg/crypto/tls/#CurveID
[ curve_preferences:
[ - <string> ] ]
http_server_config:
# 启用 HTTP/2 支持。请注意,HTTP/2 仅与 TLS 一起使用。此设置不可动态更改。
[ http2: <boolean> | default = true ]
# 可以添加到 HTTP 响应头列表。
[ headers:
# 在 HTTP 响应中设置 Content-Security-Policy 头。
# 如果空白,则取消设置。
[ Content-Security-Policy: <string> ]
# 在 HTTP 响应中设置 X-Frame-Options 头。
# 如果空白,则取消设置。接受的值为 deny 和 sameorigin。
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
[ X-Frame-Options: <string> ]
# 在 HTTP 响应中设置 X-Content-Type-Options 头。
# 如果空白,则取消设置。接受的值为 nosniff。
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
[ X-Content-Type-Options: <string> ]
# 对所有响应设置 X-XSS-Protection 头。
# 如果空白,则取消设置。
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
[ X-XSS-Protection: <string> ]
# 在 HTTP 响应中设置 Strict-Transport-Security 头。
# 如果空白,则取消设置。
# 请你谨慎使用此 HTTP 头,因为它可能会强制浏览器通过 HTTPS 加载 Prometheus 同一域和子域上的其他应用程序。
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
[ Strict-Transport-Security: <string> ] ]
# 用户名和已哈希的密码,可通过 Basic Auth 方式访问 Web 服务器。
# 如果为空,则无需进行 Basic Auth。密码使用 bcrypt 进行哈希处理。
basic_auth_users:
[ <string>: <secret> ... ]

Gossip 流量

要指定是否使用双向 TLS 来处理 gossip 通信,请使用--cluster.tls-config标志。

Gossip 的服务器端和客户端配置是可调的。

tls_server_config:
# 配置服务器用于向客户端认证的证书和密钥文件。
cert_file: <filename>
key_file: <filename>
# 服务器策略,用于客户端认证。映射到 ClientAuth 策略。
# 更多关于`clientAuth`选项的详细信息,请参阅:
# https://golang.org/pkg/crypto/tls/#ClientAuthType
[ client_auth_type: <string> | default = "NoClientCert" ]
# 服务器端用于客户端证书认证的 CA 证书。
[ client_ca_file: <filename> ]
# 可接受的最低 TLS 版本。
[ min_version: <string> | default = "TLS12" ]
# 可接受的最高 TLS 版本。
[ max_version: <string> | default = "TLS13" ]
# TLS 版本最高至 TLS 1.2 时支持的加密套件列表。
# 如果为空,则使用 Go 默认加密套件。可用的加密套件在 Go 文档中进行了记录:
# https://golang.org/pkg/crypto/tls/#pkg-constants
[ cipher_suites:
[ - <string> ] ]
# prefer_server_cipher_suites 控制服务器选择客户端偏好的加密套件还是服务器偏好的加密套件。
# 如果为 true,则使用服务器的偏好设置,这将会通过 cipher_suites 中的元素顺序设置。
[ prefer_server_cipher_suites: <bool> | default = true ]
# 在 ECDHE 握手期间将会使用的椭圆曲线,按照优先级顺序排列。可用曲线在 Go 文档中进行了记录:
# https://golang.org/pkg/crypto/tls/#CurveID
[ curve_preferences:
[ - <string> ] ]
tls_client_config:
# 验证服务器证书时使用的 CA 证书路径。
[ ca_file: <filepath> ]
# 客户端证书认证到服务器所需的证书和密钥文件。
[ cert_file: <filepath> ]
[ key_file: <filepath> ]
# 指示服务器名称的服务器名扩展。
# http://tools.ietf.org/html/rfc4366#section-3.1
[ server_name: <string> ]
# 禁用服务端证书的验证
[ insecure_skip_verify: <boolean> | default = false]

该文档基于 Prometheus 官方文档翻译而成。


observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32