Prometheus 配置Basic auth认证

官方配置说明:

Basic auth | Prometheus

一、生成密码加密串

Prometheus于2.24版本(包括2.24)之后提供Basic Auth功能进行加密访问,在浏览器登录UI的时候需要输入用户密码,访问Prometheus api的时候也需要加上用户密码。

使用python脚本,生成加密密码串

import getpass
import bcryptpassword = getpass.getpass("password: ")
hashed_password = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt())
print(hashed_password.decode())

将以上脚本复制保存为 getpass.py

然后通过cmd命令行执行脚本

python.exe getpass.py

执行脚本后,在password:后面输入你要设置的密码,然后就会生成一串加密的密码串,记录下该密码串,后面配置会使用到。

二、服务端配置

以我配置习惯为例,Prometheus服务端我默认将配置存放在 /etc/prometheus目录下

在该目录下新建文件 web.yml,然后添加步骤一生成的密码加密串

basic_auth_users:admin: $2b$12$/cUMX6b8JAu9onTddMfHAetdlOJS9XU....................

保存文件后,使用promtool工具对文件进行校验

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

 输出SUCCESS表示校验通过

以上准备工作完成后,最后在启动的命令脚本中,需加入web.config.file的配置参数

我本地是将启动脚本配置成服务启动,所以在服务脚本中加入参数即可

然后重新加载服务脚本:systemctl daemon-reload

再重启服务:systemctl restart prometheus

 最后再进行验证

现在就需要输入账号密码验证

登录后,查看target会发现,Prometheus的自检节点无法通过校验

这是因为节点在获取metrics接口时未配置basic auth认证校验,只需要在服务端将账号密码配置上就行

注意的是,密码是加密前的明文密码,配置完成后重启服务就正常了。 

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

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

相关文章

OpenHarmony开发自测试执行框架

OpenHarmony为开发者提供了一套全面的开发自测试框架OHA-developer_test,开发者可根据测试需求开发相关测试用例,开发阶段提前发现缺陷,大幅提高代码质量。 本文从基础环境构建,用例开发,编译以及执行等方面介绍OpenH…

Autosar MCAL配置——ADC

文章目录 前言一、创建Adc硬件单元二、创建、配置Adc通道1.根据电路原理图,有多少ADC采样引脚,就创建多少ADC采样通道。2.配置Adc通道3.配置ADC组4.配置ADC扫描组三、配置ADC通用设置前言 ADC,即Analogue Digital Converter缩写。简单来说,它是将输入的模拟信号转换为数字…

11.创建后台系统项目

后台系统项目 兼容性 vite官网:https://vitejs.dev/ vite中文网:https://cn.vitejs.dev/ vite需要node.js版本 >14.0.0,建议16 node -v 查看版本号 创建项目 进入存放目录 执行命令 npm create vitelatest 选择vue框架 选择typescript…

python中类的导入与使用

1、类的介绍 与C中面向对象思想类似,有时候为了方便,需要专门创建一个类,将相关的函数全部写入到该类中,方便后续创建对象,再使用类中函数。那么如何创建完类,在其他文件中使用类中函数,这是这篇…

MySQL的基本操作与增删改查管理操作

一、MySQL数据库sql语句 1.1 sql 命令 database数据库table表row行column列user用户select从数据表中获取数据updata更新数据库中的数据delete从数据库中删除数据insert into 向数据表插入数据create database创建新数据库alter database修改数据库create table创建新表alter…

深入理解 Docker 镜像

1. Docker 镜像的底层原理 1.1 分层的镜像 以我们的pull 命令为例,在下载的过程中我们可以看到docker的镜像好像是一层一层的在下载。 1.2 UnionFS(联合文件系统) 联合文件系统是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次…

660究竟什么水平?做到怀疑人生怎么办?

660在21年大纲改革前,是考研选填的标杆水平,但在21年之后,离真题水平越来越远了。下面我们详细分析一下660的利弊,以及如何使用才能使效果最大化。 目录 1. 660的长处是什么? 2. 大纲改革带来了什么影响?…

J014_ATM系统

需求描述 用Java实现一个ATM系统,用于实现存款,取款、转账、修改密码等操作。 系统欢迎页面展示如下: 系统能够实现的功能有下面7种: 代码实现 Test类 package com.itheima.atm;public class Test {public static void main(St…

[AIGC] Redis基础命令集详细介绍

Redis是一个强大的开源的键-值存储系统,被广泛应用于各种应用程序中。在使用Redis时,我们需要掌握一些基本的Redis命令来操作存储在其上的数据。这篇文章将向你介绍一些基本的Redis命令,让你能够更好地使用和理解Redis。 文章目录 启动Redis…

硅谷甄选项目笔记

硅谷甄选运营平台 此次教学课程为硅谷甄选运营平台项目,包含运营平台项目模板从0到1开发,以及数据大屏幕、权限等业务。 此次教学课程涉及到技术栈包含***:vue3TypeScriptvue-routerpiniaelement-plusaxiosecharts***等技术栈。 一、vue3组件通信方式 通信仓库地…

【C++】map和set封装

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:手撕哈希表的闭散列和开散列 > 毒鸡汤:学习,学习,再学习 ! 学,然后知不足。 > 专栏选自&#xff…

springboot3+jdk17+MP整合最新版jersey详细案例,正真做到拿来即用

如题,springboot3.x java17 MP 整合最新jersey,各种请求类型(实战/详解) 文件上传下载 jersey资源注册 拦截器(JWT) 跨域处理 全局异常 Valid注解校验 等等 ,除非你必须整合security&am…