为Alertmanager配置HTTPS和基本身份验证

问题描述 投票:0回答:2

我想通过 tls 和身份验证来保护我的 Alertmanager,这样在我的网络中,并不是每个人都能够访问面向公众的端点。我不想使用 nginx 服务器作为代理。 这将是我的普罗米修斯配置:

global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - scheme: https
    basic_auth:
      username: abc
      password: ####
    tls_config:
      ca_file: ca.crt
      cert_file: ca.crt
      key_file: ca.key
    static_configs:
    - targets: ['localhost:9093']

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  - "alertRules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    scheme: https
    basic_auth:
      username: abc
      password: ###
    tls_config:
      ca_file: ca.crt
    static_configs:
    - targets: ['localhost:9090']
security https prometheus basic-authentication prometheus-alertmanager
2个回答
1
投票

从 0.22 版本开始,Alertmanager 支持基本身份验证和 https。检查原始文档以了解如何配置它,因为您的配置似乎与那里的描述不匹配。

有关如何对密码进行哈希处理和测试整个设置的详细信息可以改编自 Prometheus 文档

更新:我再次看了你的问题,我想我对标题感到困惑。看来您想要做的是将 Prometheus 配置为与需要基本身份验证的 Alertmanager 一起使用。我在本文开头提供的解决方案是将 Alertmanager 配置为需要基本身份验证。

如果您想配置 Prometheus 与需要基本身份验证的 Alertmanager 进行通信,您的配置似乎是正确的,如 Prometheus 文档的本节中所述。


0
投票

我认为您的配置很好,但也许您需要处理证书备用名称并使用正确的名称访问端点。

© www.soinside.com 2019 - 2024. All rights reserved.