logo
0
0
WeChat Login
编辑文件 README.md

1、代码来源

2、在此基础上进行了功能扩展

2.1 升级了 python 版本,以及包版本

  • python 3.12-alpine
  • twisted==24.7.0

2.2 增加了鉴权功能

引入了一个web.config 的文件;这个文件用于客户端的 metrics 鉴权,使用 bcrypt 进行加密, bcrypt 哈希值不可逆,因此不能通过反向解密来验证密码。注意保存凭据。

  • 凭证生成,使用 htpasswd -nbBC 12 admin <password> 获取 $2b$... 哈希

3、docker-compose 运行所需文件

  • web.config 的文件
basic_auth_users: prometheus: $2b$12$abcdefghijklmnopqrstuvwxYZ0123456789abcdefghijklmnopqrstuv
  • env 文件,cofig.env
VSPHERE_USER=administrator@vsphere.local VSPHERE_PASSWORD=xxxx VSPHERE_HOST=xxx VSPHERE_IGNORE_SSL=TRUE VSPHERE_SPECS_SIZE=2000

4、运行

docker-compose up -d

5、访问监控页面

http://xxx:9272/metrics

6、和prometheus集成

一定要注意标签的定义规范, 如果自带的标签值不好用,可以替换

#vmware_exporter - job_name: 'vmware_vcenter' ## 认证信息 basic_auth: username: prometheus password: xxxx metrics_path: '/metrics' static_configs: - targets: ['172.22.33.218:9272'] labels: project_name: "Datacenter-srebro" nodename: "EXSI-172.1.5.17" relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - source_labels: [__address__] regex: '.*:9272$' target_label: datacenter replacement: 'Datacenter-srebro' ##用于标签值的自定义 metric_relabel_configs: - action: replace target_label: host_name replacement: 'EXSI-172.1.5.17' # 新值 - action: replace target_label: dc_name replacement: 'EXSI-172.1.5.17' # 新值

7、大屏与告警实现

8、参考