当前位置: 首页 > news >正文

一文掌握Prometheus实现页面登录认证并集成grafana

一、接入方式
以保护Web站点的访问控制,如HTTP 服务器配置中实现安全的加密通信和身份验证,保护 Web 应用程序和用户数据的安全性。
1.1 加密密码
通过httpd-tools工具包来进行Web站点加密

yum install -y httpd-tools

方式一:通过htpasswd生成加密密码

htpasswd -nBC 12 '' | tr -d ':\n'

New password: # 这里输入密码
Re-type new password: # 再次输入密码
#根据输入的密码会生成如下加密
#生成的密码信息

方式二:使用下面的脚本生成密码

yum install -y httpd-tools;

替换对应的password信息为你需要设置的密码

UserAndPassword=`htpasswd -nBbC 12 user 'password'`;
Password=${UserAndPassword#*:};
echo ${Password}

1.2. 配置config.yml文件

vim basic_auth.yaml
basic_auth_users:prometheus: $2y$12$mMnPuKlOQ97fdssDsQTMukAdssQrCN0vefs0CBLe/hi6

1.3. 启动参数添加
如果是docker启动的话,添加如下启动参数:

--web.config.file=/etc/passwd/basic_auth.yaml

1.4. docker-compose启动

docker network create skyeye

step1:编写docker-compose文件

vim docker-compose.yml
version: '3.8'  # 使用 Docker Compose 文件的版本services:prom:image: prom/prometheus:v2.44.0container_name: promrestart: alwaysports:- "9090:9090"security_opt:- seccomp=unconfinednetworks:- skyeyevolumes:- /data/skyeye/config/prometheus.yml:/etc/prometheus/prometheus.yml- /data/skyeye/config/basic_auth.yml:/etc/prometheus/basic_auth.yml- /data/skyeye/data:/datacommand:- "--config.file=/etc/prometheus/prometheus.yml"- "--web.config.file=/etc/prometheus/basic_auth.yml"networks:skyeye:external: true

这里将配置文件prometheus,yml以及basic_auth.yml以挂载方式进行启动
step2: 启动容器

docker-compose up -d
docker-compose ps

二、加密结果验证
访问http://IP:Port
在这里插入图片描述
三.集成grafana
在Data Source中打开开关Auth,根据如下提示:
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 小程序图片下载保存方法,图片源文件保存!
  • 用python去爬取小说网址的小说保存到本地全过程
  • 【接口自动化_09课_大量响应报文处理及加解密、签名处理】
  • Kafka系列之:Kafka存储数据相关重要参数理解
  • Nginx 不转发请求 IP
  • tinymce富文本支持word内容同时粘贴文字图片上传 vue2
  • Framework源码面试之Handler面试集合
  • Laravel+swoole 实现websocket长链接
  • Netty Websocket
  • 【数据结构进阶】二叉搜索树
  • DC-1靶场打靶第一次!!!!冲冲冲!
  • 算法日记day 16(二叉树的广度优先遍历|反转、对称二叉树)
  • Android APP 基于RecyclerView框架工程(知识体系积累)
  • 在虚拟机 CentOS7 环境下安装 MySQL5.7 数据库
  • 深入理解Linux网络(三):TCP对象创建
  • 《Java编程思想》读书笔记-对象导论
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • JavaScript设计模式系列一:工厂模式
  • Java新版本的开发已正式进入轨道,版本号18.3
  • js操作时间(持续更新)
  • Linux链接文件
  • nodejs调试方法
  • Redis中的lru算法实现
  • Spring核心 Bean的高级装配
  • Vim Clutch | 面向脚踏板编程……
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 利用jquery编写加法运算验证码
  • 算法-插入排序
  • 项目管理碎碎念系列之一:干系人管理
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​LeetCode解法汇总518. 零钱兑换 II
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #在 README.md 中生成项目目录结构
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (WSI分类)WSI分类文献小综述 2024
  • (第一天)包装对象、作用域、创建对象
  • (分类)KNN算法- 参数调优
  • (每日一问)基础知识:堆与栈的区别
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十三)Flink SQL
  • (十一)c52学习之旅-动态数码管
  • (转载)Linux 多线程条件变量同步
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET Core跨平台微服务学习资源
  • .net Stream篇(六)
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • ::before和::after 常见的用法
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @Repository 注解
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [android] 手机卫士黑名单功能(ListView优化)