Prometheus中添加基本身份验证功能

在Prometheus中添加基本身份验证功能,可以按照以下步骤进行:

一、生成哈希密码

首先,需要安装bcrypt工具,用于生成哈希密码。这可以通过Python的bcrypt库来完成。如果未安装,可以使用pip进行安装。
创建一个Python脚本,利用bcrypt对原始密码进行哈希处理。脚本会提示输入密码,然后输出哈希后的密码串。

pip install bcrypt
import bcrypt  
import getpass 
import base64   
  
def hash_password(password):  
    # 使用bcrypt的gensalt函数生成一个随机的盐值  
    salt = bcrypt.gensalt()  
    # 使用哈希函数和盐值对密码进行哈希处理  
    hashed = bcrypt.hashpw(password.encode('utf-8'), salt)  
    return hashed  
  
# 提示用户输入密码  
password = getpass.getpass("请输入密码: ")  # 123456
  
# 对密码进行哈希处理  
hashed_password = hash_password(password)  
  
# 输出哈希后的密码(注意:这只是一个二进制字符串,你可能想以十六进制形式输出)  
print("哈希后的密码(二进制): ", hashed_password)  
# 如果你想要以十六进制形式输出哈希,可以使用以下代码  
print("哈希后的密码(十六进制): ", hashed_password.hex())  
# 但请注意,.hex() 方法可能不适用于所有二进制数据,因为哈希结果可能包含无法直接转换为十六进制的字符  
  
# 使用base64编码哈希结果以便打印或存储  
hashed_password_base64 = base64.b64encode(hashed_password).decode('utf-8')  
print("哈希后的密码(base64编码): ", hashed_password_base64)

或采用Linux htpasswd 生成哈希密码:

 htpasswd -nBC 12 '' | tr -d ':\n'

在这里插入图片描述

二、配置Prometheus的身份验证

在Prometheus的配置目录下(例如/etc/prometheus,和prometheus.yml配置文件同目录),创建一个新的YAML配置文件,如web.yml。
web.yml文件中,添加basic_auth_users部分,并设置用户名和哈希后的密码。例如:

basic_auth_users:  
  admin: $2y$12$qOf5.tSlLh/OJH7yqAl3oOOZJibU3.KLWmiQopx47iPxOkXkkEQLS

其中,admin是设置的用户名,$2y 12 12 12qOf5.tSlLh/OJH7yqAl3oOOZJibU3.KLWmiQopx47iPxOkXkkEQLS是(123456)哈希后的密码。可以根据需要设置多个用户。保存并关闭文件。

三、验证并重启Prometheus

使用Prometheus提供的promtool工具来验证配置文件的正确性。在命令行中执行类似以下的命令:

promtool check web-config /etc/prometheus/web.yml

如果输出SUCCESS,则表示配置文件校验通过。

修改Prometheus的启动参数,新增--web.config.file选项来指定身份验证配置文件。例如:

--web.config.file=/etc/prometheus/web.yml

重启Prometheus服务以使配置生效。具体重启命令取决于操作系统和Prometheus的安装方式。例如,在使用systemd的系统中,可以使用以下命令重启服务:

systemctl restart prometheus
四、测试身份验证功能

重启Prometheus后,尝试通过浏览器访问Prometheus的Web UI。此时应该会弹出一个身份验证对话框,要求输入用户名和密码。输入之前设置的用户名和原始密码123456(不是哈希后的密码,),如果一切正常,应该能够成功登录并查看Prometheus的监控数据。
在这里插入图片描述

五、curl访问Prometheus中reload等接口
curl -u admin:123456 -XPOST http://localhost:9090/promtheus/-/reload
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值