Prometheus 配置身份认证

news2024/10/6 6:41:24

Prometheus 版本 2.41.0

  1. 平台统一监控的介绍和调研
  2. 直观感受PromQL及其数据类型
  3. PromQL之选择器和运算符
  4. PromQL之函数
  5. Prometheus 配置身份认证

Prometheus 使用默认方式安装是不带有身份证认证和TLS,需要单独配置开启。

Prometheus 配置文件为yaml格式,并且单独配置,官网命名为web-config.yml,使用--web.config.file 命令加载。

web-config.yml

tls_server_config:
  # 配置TLS
  cert_file: <filename>
  key_file: <filename>
  
  #客户端认证类型,支持NoClientCert、RequestClientCert、RequireAnyClientCert、VerifyClientCertIfGiven、RequireAndVerifyClientCert, 默认为NoClientCert
  #NoClientCert 不验证证书
  #RequestClientCert 握手期间请求客户端证书,但不要求发送
  #RequireAnyClientCert 握手期间请求客户端证书,并且客户端至少要发送一个证书,但不要求证书有效
  #VerifyClientCertIfGiven 握手期间请求客户端证书,不要求发送证书,但如果发送了证书,证书必须有效
  #RequireAndVerifyClientCert 握手期间请求客户端证书,并且客户端至少要发送一个有效证书
  [ client_auth_type: <string> | default = "NoClientCert" ]

  #客户端证书验证的CA 证书
  [ client_ca_file: <filename> ]

  # 最低TLS 版本,默认 TLS12
  [ min_version: <string> | default = "TLS12" ]

  # 最高TLS 版本,默认TLS13
  [ max_version: <string> | default = "TLS13" ]

  # 支持TLS 1.2以下的密码套件列表,为空,默认使用GO的默认密码套件,https://golang.org/pkg/crypto/tls/#pkg-constants
  # 仅支持以下函数返回的密码,https://pkg.go.dev/crypto/tls#CipherSuites
  [ cipher_suites:
    [ - <string> ] ]

  # 控制服务端是选择客户端密码套件,还是服务端密码套件,如果为ture,则从cipher_suites中选择首选项
  [ prefer_server_cipher_suites: <bool> | default = true ]

  # ECDHE握手中使用的椭圆曲线,按优先顺序
  # 可用选项:https://golang.org/pkg/crypto/tls/#CurveID
  [ curve_preferences:
    [ - <string> ] ]

http_server_config:
  # 开启HTTP/2. HTTP/2仅支持TLS.
  # 更改不能立刻生效
  [ http2: <boolean> | default = true ]
  # 可添加到HTTP响应的header列表。
  [ headers:
    # 设置 Content-Security-Policy,为空则不设置
    [ Content-Security-Policy: <string> ]
    # 设置 X-Frame-Options,为空则不设置
    # 接受的值有 deny 和 sameorigin
    # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
    [ X-Frame-Options: <string> ]
    # 设置 X-Content-Type-Options,为空则不设置
    # 接受的值是 nosniff
    # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
    [ X-Content-Type-Options: <string> ]
    # 设置 the X-XSS-Protection,为空则不设置
    # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
    [ X-XSS-Protection: <string> ]
    # 谨慎使用此头,因为此标头可能会迫使浏览器在同一域和子域上加载 Prometheus 和其他应用程序时使用 HTTPS
    # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
    [ Strict-Transport-Security: <string> ] ]

# Web页面的 身份认证,密码加密使用bcrypt,格式为username: password
basic_auth_users:
  [ <string>: <secret> ... ]

上述配置为官方的配置文档,如果我们要开启Prometheus的 Web的身份认证,简单配置只需要添加basic_auth_users部分,如

basic_auth_users:
  alice: $2y$10$mDwo.lAisC94iLAyP81MCesa29IzH37oigHC/42V2pdJlUprsJPze
  bob: $2y$10$hLqFl9jSjoAAy95Z/zw8Ye8wkdMBM8c5Bn1ptYqP/AXyV0.oy0S8m

密码使用bcrypt加密,可以使用工具 htpasswd

https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md#about-bcrypt

或者

https://bcrypt-generator.com/

安全性高一些,配置TLS,如下为必配选项,证书生成可见其他网站。

tls_server_config:
  cert_file: server.crt
  key_file: server.key

配置完成后,通过 --web.config.file 加载到Prometheus中。

访问Prometheus的页面,需要登录,如图:

在这里插入图片描述

在Grafana 配置数据源选项的时候,要开启Basic auth,输入正确的用户名和密码

在这里插入图片描述

作者其他文章:
Grafana 系列文章,版本:OOS v9.3.1

  1. Grafana 的介绍和安装
  2. Grafana监控大屏配置参数介绍(一)
  3. Grafana监控大屏配置参数介绍(二)
  4. Grafana监控大屏可视化图表
  5. Grafana 查询数据和转换数据
  6. Grafana 告警模块介绍
  7. Grafana 告警接入飞书通知

Spring Boot Admin 系列

  1. Spring Boot Admin 参考指南
  2. SpringBoot Admin服务离线、不显示健康信息的问题
  3. Spring Boot Admin2 @EnableAdminServer的加载
  4. Spring Boot Admin2 AdminServerAutoConfiguration详解
  5. Spring Boot Admin2 实例状态监控详解
  6. Spring Boot Admin2 自定义JVM监控通知
  7. Spring Boot Admin2 自定义异常监控
  8. Spring Boot Admin 监控指标接入Grafana可视化

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

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

相关文章

【自然语言处理】文本表示(一):One-Hot、BOW、TF-IDF、N-Gram

文本表示&#xff08;一&#xff09;&#xff1a;One-Hot、BOW、TF-IDF、N-Gram1.One-Hot 编码 One-Hot 编码&#xff0c;又称 “独热编码”&#xff0c;是比较常用的文本特征提取方法。这种方法把每个词表示为一个很长的向量。这个向量的维度是词表大小&#xff0c;只有一个维…

4. 基础语法

1. 标识符 a. 第一个字符必须是字母表中字母或下划线 _&#xff1b; b. 标识符的其他的部分由字母、数字和下划线组成&#xff1b; c. 标识符对大小写敏感&#xff1b; 在 Python 3 中&#xff0c;可以用中文作为变量名&#xff0c;非 ASCII 标识符也是允许的&#xff1b; 2.…

【JavaGuide面试总结】计算机网络·中

【JavaGuide面试总结】计算机网络中1.说说断开连接 - TCP 四次挥手2.为什么要四次挥手&#xff1f;3.为什么不能把服务器发送的 ACK 和 FIN 合并起来&#xff0c;变成三次挥手&#xff1f;4.如果第二次挥手时服务器的 ACK 没有送达客户端&#xff0c;会怎样&#xff1f;5.为什么…

第五届字节跳动青训营 前端进阶学习笔记(五)CSS进阶

文章目录前言CSS的重要特性1.选择器特指度&#xff08;1&#xff09;选择器优先级&#xff08;2&#xff09;选择器特指度2.继承&#xff08;1&#xff09;默认继承&#xff08;2&#xff09;显式继承3.初始值4.CSS属性值的计算过程布局&#xff08;Layout&#xff09;1.布局相…

搜索?——P3956 [NOIP2017 普及组] 棋盘

传送门: [NOIP2017 普及组] 棋盘 - 洛谷 思路: 将棋盘的每一个格子看做一个点&#xff0c;建一个无向图用来跑最短路. 这道题本应用搜索来做&#xff0c;但是转换成最短路好像简单点 建图: 1.对于已经有颜色的格子&#xff0c;在扫描四个方向的格子对相同颜色的建条长度为0…

【目标检测】目标检测究竟发展到了什么程度?聊聊这22年!

目录&#xff1a;目标检测的发展历程一、引言二、背景三、目标检测发展脉络3.1 传统目标检测算法3.1.1 Viola Jones Detector3.1.2 HOG Detector3.1.3 DPM Detector3.1.4 局限性3.2 Anchor-Based中的Two-stage目标检测算法3.2.1 RCNN3.2.2 SPPNet3.2.3 Fast RCNN3.2.4 Faster R…

Allegro如何设置Net Group操作指导

Allegro如何设置Net Group操作指导 Allegro除了可以对一组网络设置Bus以外,同样支持创建Net Group,如下图 功能和Bus的功能类似,并且同一个Net Group里面的网络可以形成一个shape形式的Group,方便查看 具体创建方法操作如下 打开规则管理器选择Electrical

MySQL窗口函教-开窗聚合函数(SUM()、AVG()、MAX()、MIN()、COUNT())

MySQL窗口函教-开窗聚合函数&#xff08;SUM()、AVG()、MAX()、MIN()、COUNT()&#xff09;和传统的聚合函数区别&#xff1f;最大的区别在于&#xff0c;一个操作列&#xff0c;一个是依次操作行&#xff0c;最终显示出每一行&#xff0c;最后的效果就是呈现叠加的效果-- 开窗…

Windows环境下安装配置Mosquitto服务及入门操作介绍

文章目录一、概念梳理二、下载与安装三、关于配置文件的一些重要说明四、配置登录账号和密码参考&#xff1a; 博客一、概念梳理 Mosquitto是一款实现了消息推送协议MQTT 3.1的开源消息代理软件&#xff0c;提供轻量级的、支持可订阅/可发布的消息推送模式&#xff0c;是设备与…

mf10ccwm芯片说明部分译文

MF10-N是一种通用的双二阶状态变量滤波器&#xff0c;其中心频率与应用于时钟输入&#xff08;fCLK&#xff09;的方波的频率成正比。通过将引脚12连接到适当的直流电压&#xff0c;滤波器中心频率fO可以等于fCLK/100或fCLK/50。通过使用晶体时钟振荡器可以非常精确地设置&…

《深入浅出计算机组成原理》学习笔记 Day5

动态链接1. 静态链接与动态链接2. 地址无关3. PLT 和 GOT参考1. 静态链接与动态链接 静态链接&#xff08;Static Link&#xff09;是通过合并代码段的方法来使程序装载至内存&#xff1b; 动态链接&#xff08;Dynamic Link&#xff09;则是链接加载到内存中的共享库&#xf…

数据结构之栈与队列详解

文章目录前言一、栈1.栈的概念及定义2.栈的实现&#xff08;1&#xff09;栈的结构&#xff08;2&#xff09;StackInit&#xff08;初始化&#xff09;&#xff08;3&#xff09;StackPush&#xff08;压栈&#xff09;&#xff08;4&#xff09;StackPop&#xff08;出栈&…

与众不同的异域年夜饭体验,你最中意哪一款?

年夜饭&#xff0c;中国人一年中最重要的一顿团圆聚餐&#xff0c;不仅丰富多彩&#xff0c;还充满了各种吉祥寓意。如果你选择的是出境旅游过春节&#xff0c;那么一次异域年夜饭体验也可以让你的旅行充满乐趣&#xff0c;收获与众不同的别样回忆。今天就跟着小旅城去看看&…

1597_AURIX_TC275_GPIO简介

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) 左上角画出来的这个寄存器可以进行输入输出的控制。从右边上下拉设备这里可以看得出来&#xff0c;输入输出其实都是可以配置的。当端口配置为输入的时候&#xff0c;逻辑图中的输出驱动会…

使用文本编辑器编写Java源代码

使用文本编辑器编写Java源代码 编写JavaJavaJava应用程序&#xff0c;可以使用任何一个文本编辑器来编写程序的源代码&#xff0c;然后使用JDKJDKJDK搭配的工具进行编译和运行&#xff0c;在这里&#xff0c;我将介绍一个使用简单的文本编辑器来开发一个JavaJavaJava应用程序的…

【创业分享】2022年,仅赚几万,但却很踏实?

大家好&#xff0c;欢迎来到停止重构的频道。本期&#xff0c;我们停一下技术讨论&#xff0c;反思一下2022年的变化以及展望一下2023年。回顾2022这是我们以正式商业主体创业的第一年。总的来说&#xff0c;除了不赚钱和软件产品还没做出来以外&#xff0c;其实还不错。自媒体…

Linux常用命令——tcpreplay命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) tcpreplay 将PCAP包重新发送&#xff0c;用于性能或者功能测试 补充说明 简单的说&#xff0c;tcpreplay是一种pcap包的重放工具&#xff0c;它可以将用ethreal、wireshark工具抓下来的包原样或经过任意修改后…

Spark Core 编程入门,常用算子介绍

RDD的创建 如下代码&#xff0c;Spark RDD编程的入口对象是SparkContext对象(不论何种编程语言)&#xff0c;只有构建出SparkContext&#xff0c;基于它才能执行后续的API调用和计算 本质上&#xff0c;Spark Context对编程来说&#xff0c;主要功能就是创建第一个RDD出来 # …

JVM 垃圾回收(深入理解Java虚拟机第三章)

垃圾判断算法 引用计数法 每个对象增加引用计数器&#xff0c;引用加一&#xff0c;失效减一&#xff0c;为零判定为垃圾数据。 缺点&#xff1a;循环引用难以解决 根搜索算法 从树状引用链向下查找&#xff0c;如果对象无法找到&#xff0c;则标记为垃圾数据。 JVM算法 …

Java反射学习

反射的概念 Reflection(反射&#xff09;是Java被视为动态语言的关键 反射机制允许程序在执行期借助于Reflection API获得任何类的内部信息&#xff0c; 并能直接操作任意对象的内部属性及方法。 加载完类之后&#xff0c;在堆内存的方法区中就产生了一个Class类型的对象&…