为 Promethus 配置https访问

一、序言

本篇将介绍如何使用数字证书为Promethus 访问提供加密功能,由于是实验环境证书由openssl生成,操作指南来自官网手册:https://prometheus.io/docs/guides/tls-encryption/

在生产环境中prometheus可能会放在后端,证书一般配置在前端。

二、生成ssl证书

复制代码
openssl req \
  -x509 \
  -newkey rsa:4096 \
  -nodes \
  -keyout prometheus.key \
  -out prometheus.crt \
  -subj "/CN=192.168.25.225"
  • -subj "/CN=192.168.25.225" : 指定服务器地址或者域名

查看证书文件:

复制代码
ls /root/certificate/
clike 复制代码
prometheus.crt  prometheus.key

三、配置Promethus

认证也是这个文件,认证操作指导:https://prometheus.io/docs/guides/basic-auth

1. 创建web-config.yml 文件配置证书

clike 复制代码
tls_server_config:
  cert_file: /root/certificate/prometheus.crt
  key_file: /root/certificate/prometheus.key

2. 修改prometheus.yml文件

复制代码
scrape_configs:
  - job_name: "node"
    metrics_path: "/metrics"
    scheme: "https"		# 协议这里需要选择https
    tls_config:
      ca_file: /root/certificate/prometheus.crt
      insecure_skip_verify: true
    static_configs:
    - targets: ['localhost:9090']

添加tls_config配置:

  • ca_file:指定公钥位置
  • insecure_skip_verify: 禁用服务器对证书验证(因为是自建证书所以必须开启)

3. Prometheus 启动时指定web-config.yml配置文件

复制代码
./prometheus \
  --config.file=./prometheus.yml \
  --web.config.file=./web-config.yml 

4. 使用https访问Prometheus

复制代码
curl --cacert /root/certificate/prometheus.crt  https://192.168.25.225:9090/api/v1/label/job/values | jq
clike 复制代码
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    68  100    68    0     0   4008      0 --:--:-- --:--:-- --:--:--  4533
{
  "status": "success",
  "data": [
    "node",
    "prometheus",
    "promethus",
    "test"
  ]
}

或者跳过证书:

复制代码
curl -k  https://192.168.25.225:9090/api/v1/label/job/values | jq
clike 复制代码
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    68  100    68    0     0   3944      0 --:--:-- --:--:-- --:--:--  4250
{
  "status": "success",
  "data": [
    "node",
    "prometheus",
    "promethus",
    "test"
  ]
}
相关推荐
唐古乌梁海1 小时前
传输协议https-TCP
网络协议·tcp/ip·https
liulilittle1 小时前
REALITY 代理隧道的有效检测方法: 被动、主动与确定性三层实证研究
linux·服务器·网络·网络协议·安全·网络安全·通信
武帝为此2 小时前
【TLS SSL 介绍】
网络·网络协议·ssl
liulilittle2 小时前
加密扩展记录 37B(含头口径):Go TLS 栈形态特征的适用域与配对勘误
网络·网络协议·计算机网络·网络安全·通信·tls·reality
奈斯先生Vector2 小时前
本地图片识别怎么接入多模态 AI?用 Python API 理解 GPT-4o Vision 的真实工作流
开发语言·人工智能·windows·python·网络协议·http·aigc
小小、码农3 小时前
【网络】套接字(Socket)编程——TCP版
linux·服务器·网络·c++·网络协议·tcp/ip
筝筝ba3 小时前
extended/factory_reset.robot
linux·运维·服务器·网络·网络协议·p2p
可爱系程序猿6 小时前
Windows 11 添加共享打印机提示 0x00000bc4:从 RPC 发现到策略配置排查
windows·网络协议·rpc
kekekzt2 天前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip