为 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"
  ]
}
相关推荐
钛态7 小时前
Flutter 三方库 http_mock_adapter — 赋能鸿蒙应用开发的高效率网络接口 Mock 与自动化测试注入引擎(适配鸿蒙 HarmonyOS Next ohos)
android·网络协议·flutter·http·华为·中间件·harmonyos
2501_915918418 小时前
苹果App Store上架审核卡住原因分析与解决方案指南
android·ios·小程序·https·uni-app·iphone·webview
IT小白39 小时前
windows的VMware虚拟机上的Linux系统(CentOS)配置永久ip(关机重启ip不变)
网络·网络协议·tcp/ip
蛊明11 小时前
批量检测 IP 是否在线:CPing vs QuickPing
网络·网络协议·tcp/ip
路由侠内网穿透.11 小时前
本地部署开源书签管理工具 LinkAce 并实现外部访问( Linux 版本)
linux·运维·服务器·网络·网络协议·开源
2301_8059629314 小时前
ESP32远程OTA升级:从局域网到公网部署
网络·后端·http·esp32
爱吃生蚝的于勒17 小时前
【Linux】网络之http协议
linux·运维·服务器·网络·数据结构·c++·http
程序员大飞哥17 小时前
T-Box双SIM卡的"幻觉":为什么有两张卡却还在断连?
网络协议
吠品17 小时前
UniApp Vue3中实现rem自适应布局:动态基准值与设计稿适配实践
tcp/ip·https·ssl
Sean‘17 小时前
Rancher 日志无法显示?WebSocket 代理配置是罪魁祸首
websocket·网络协议·rancher