Prometheus使用Basic认证保护Prometheus API和UI端点

本文介绍了如何通过在nginx反向代理层添加Basic认证,保护Prometheus的API和UI端点。提供了详细的nginx配置示例,确保只有经过认证的用户才能访问Prometheus实例。
摘要由CSDN通过智能技术生成

完整译文请访问使用Basic认证保护Prometheus API和UI端点

Prometheus不直接支持连接到Prometheus表达式浏览器HTTP APIBasic认证。如果你希望对这些连接执行Basic认证,我们建议将Prometheus与反向代理结合使用,并在代理层添加身份认证。你可以使用Prometheus的任何反向代理,但在本指南中,我们将提供一个nginx示例。

注意:虽然不支持连接至Prometheus实例的Basic认证,但是支持Prometheus实例与抓取目标之间的Basic认证。

nginx示例

假设你希望在nginx服务器后端运行一个Prometheus实例 localhost:12321,并且,所有Prometheus端点都通过/prometheus 端点进行访问。因此,Prometheus的/metrics端点的完整URL应该是:

http://localhost:12321/prometheus/metrics

我们还假设所有访问Prometheus实例的用户都需要提供用户名和密码。对于本例,使用admin作为用户名并选择你想要的任何密码。

首先,使用htpasswd工具创建一个.htpasswd文件来存储用户名和密码,并将其存储在/etc/nginx目录中:

mkdir -p /etc/nginx
htpasswd -c /etc/nginx/.htpasswd admin

注意:本例使用/etc/nginx作为nginx配置文件(包括.htpasswd文件)的目录,但是根据安装的不同而有所不同。其他常见的nginx配置目录包括/usr/local/nginx/conf/usr/local/etc/nginx

nginx配置

下面是一个示例nginx.conf配置文件(存储在/etc/nginx/.htpasswd)。有了这个配置,nginx将强制所有连接到/prometheus端点的请求执行Basic认证:

http {
    server {
        listen 12321;

        location /prometheus {
            auth_basic           "Prometheus";
            auth_basic_user_file /etc/nginx/.htpasswd;

            proxy_pass           http://localhost:9090/;
        }
    }
}

events {}

完整译文请访问使用Basic认证保护Prometheus API和UI端点

-------------------------------- END -------------------------------

及时获取更多精彩文章,请扫码关注如下公众号《云原生之家》:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值