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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/34937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android性能优化——卡顿优化

文章目录 一、从XML到屏幕上的展示造成跳帧的因素有那些发现问题定位问题定位代码 一、从XML到屏幕上的展示 数据加载阶段 数据控制阶段 数据展示阶段 xml —> view onCreat —> 解析layout.xml resume —> view —> wms ViewRootImpl UI 绘制流程 :测…

计算机网络之数据通信原理

1.通信系统的基本组成 信源:信息的发出者; 信宿:信息的接收者; 载体:信息的传送通道; 变换器:将信息变换成载体上可传输的信号; 反变换器:将载体上传输的信号变换成信…

Java中网络安全的基础知识

Java中网络安全的基础知识 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在现代互联网应用中,网络安全是一个至关重要的话题。随着网络攻击和数据…

Java零基础-集合:TreeSet

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

SQL基础:掌握数据查询与操作的核心技能(四)

引言:数据操作的语言艺术 在前一章节《数据库与表的基本操作》中,我们深入了解了如何创建、管理数据库和表,构建了数据存储的基础框架。本章节,我们将深入探索SQL语言,它是数据库管理系统的通用语言,用于数…

SpringBoot集成Druid数据库连接池并配置可视化界面和监控慢SQL

pom.xml <!-- Druid 数据库连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.23</version></dependency>application.yml spring:jackson:date-…

明星周边物品交易购物系统

摘 要 随着明星文化的兴起和粉丝经济的蓬勃发展&#xff0c;明星周边产品的市场需求日益增长。明星周边物品包括各种与明星相关的商品&#xff0c;如T恤、海报、手办、签名照等&#xff0c;它们成为粉丝们表达对明星喜爱和支持的方式之一。通过“星光璀璨”来形象化地表达明星…

Flask的 preprocess_request

理解 Flask 类似框架中的 preprocess_request 方法 在 Flask 类似的 web 框架中&#xff0c;preprocess_request 方法是一个关键组件。它在请求被分派之前调用&#xff0c;用于执行一些预处理操作。让我们一步一步来理解这个方法的工作原理。 1. 方法概述 首先&#xff0c;我…

【Android面试八股文】说一说Handler的sendMessage和postDelay的区别?

文章目录 一、`sendMessage` 方法1.1 主要用法1.2 适用场景二、`postDelayed` 方法2.1 主要用法2.2 适用场景三、 区别总结3.1 区别3.2 本质上有差别吗?四、实例对比4.1 使用`sendMessage`4.2 使用`postDelayed`五、结论Handler类在Android中用于消息传递和任务调度。 sendMe…

基于Java技术的在线学习平台系统

开头语&#xff1a;你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;Java技术&#xff0c;基于SpringBoot框架 工具&#xff1a;Eclipse、Navicat、M…

n次方差公式推导

1. 推导 数列求和 S a 1 a 2 ⋯ a n , 公比为 q q S a 2 a 3 ⋯ a n 1 ( 1 − q ) S a 1 − a n 1 a 1 : 1 化简 ( 1 ) ( 3 ) S 1 q ⋯ q n − 1 ( 1 − q ) S 1 − q n ( 4 ) 代入 ( 5 ) ( 1 − q ) ( 1 q ⋯ q n − 1 ) 1 − q n q : b a 代入 ( 6 )…

Qt 学习(一) addressbook

Qt Demo: addressbook (1)创建项目&#xff1a;选择不创建界面&#xff0c;即UI&#xff0c;此时会自动生成的文件如图所示&#xff1a; QApplication&#xff1a; MainWindow 继承自 QMainWindow&#xff0c;根据需要设计的界面样式。 (2)确定MainWindow 的成员变量 首先&…

Jetpack架构组件_Navigaiton组件_1.Navigaiton切换Fragment

1.Navigation主要作用 方便管理Fragment &#xff08;1&#xff09;方便我们管理Fragment页面的切换 &#xff08;2&#xff09;可视化的页面导航图&#xff0c;便于理清页面间的关系。 &#xff08;3&#xff09;通过destination和action完成页面间的导航 &#xff08;4&a…

算尽天下财,铸就大明梦 —— 大明钱算子夏元吉的传奇一生

仕途生涯开始&#xff1a;洪武二十三年&#xff08;1390年&#xff09;&#xff0c;夏元吉因精通《诗经》&#xff0c;由湖广乡荐参加礼部组织的会试&#xff0c;虽未中举&#xff0c;但他并未气馁&#xff0c;反而更加努力地学习。洪武二十四年&#xff08;1391年&#xff09;…

通讯:单片机串口和电脑通讯

目录 1.串口输出数据到电脑 硬件部分 串口输出数据到电脑的软件软件部分&#xff1a; 相关问题&#xff1a; 2.单片机串口--485--485转USB--电脑 串口&#xff0c;芯片&#xff0c;转换器&#xff0c;设备之间的通讯的接线&#xff0c;都是要TX--RX, RX--TX 交叉连接。 单…

充电桩现场安装施工流程

摘要&#xff1a;在化石能源日益紧缩的今天&#xff0c;新能源车辆逐渐走进了千家万户&#xff0c;与传统化石能源车辆相比&#xff0c;以电驱动的新能源车辆能源利用率高&#xff0c;缩短了能源传递过程&#xff0c;实现了能源有效利用。根据能量守恒定律可知&#xff0c;任何…

V-Series Avalon-MM DMA Interface for PCIE IP核

目录 1. IP概述 2. Avalon-MM DMA Ports 3. 参数设置 3.1 系统设置 3.2 基址寄存器 (BAR) 设置 3.3 设备识别寄存器 3.4 PCI Express和PCI功能参数 3.4.1 Device Capabilities 3.4.2 Error Reporting 3.4.3 Link Capabilities 3.4.4 MSI and MSI-X Capabilities …

机器发货到菲律宾的完整流程 广东智慧物流

机器发货到菲律宾的完整流程 广东智慧物流 &#x1f31f;【机器发货到菲律宾完全攻略】&#x1f31f; 机器发货到菲律宾的完整流程 广东智慧物流 为你整理了一份超详细的机器发货到菲律宾的攻略&#xff01;海运14天轻松到达&#xff0c;让你无后顾之忧&#xff01;&#x1f…

知识平台管理系统设计

知识平台管理系统设计是一个综合性的过程&#xff0c;旨在为企业或组织提供一个高效、便捷的知识管理解决方案。以下是知识平台管理系统设计的详细阐述&#xff1a; 一、设计目标和原则 1、设计目标&#xff1a;设计一款功能强大、易于使用、支持多种知识形式分类和搜索的知识管…

uniapp地图点击获取位置

主页面 <view class"right-content" click.stop"kilometer(item)"><view class"km">{{item.distance||0}}km</view><image src"../../static/map.png" mode""style"width: 32rpx; height: 32rpx…