Prometheus(四):VMware Vsphere监控及数据展示

news2024/9/21 4:37:04

目录

  • 1 vmware exporter安装配置
    • 1.1 vmware exporter介绍
    • 1.2 安装 - 使用kubernetes部署
      • 1、下载
      • 2、修改配置文件
      • 3、执行安装
      • 4、查看
    • 1.3 安装-使用docker的方式
    • 1.4 Prometheus配置
    • 1.5 Grafana配置(模板页面还需要修改)
  • 总结

1 vmware exporter安装配置

参考文档:
https://github.com/pryorda/vmware_exporter/tree/main
https://shanzhi7.github.io/2021/11/29/Prometheus_VMware_exporter/

1.1 vmware exporter介绍

VMware exporter是一个用于 Prometheus 的 VMware vCenter 导出器(Exporter)。Prometheus 是一个开源的系统监控和警报工具包,而 Exporter 则是用于将特定服务或系统的度量指标转换为 Prometheus 可以理解的格式的工具。
通过这个 Exporter,可以获取关于 VMware vCenter 的各种信息,包括:

  • 1.基础虚拟机(VM)和主机(Host)的度量指标:这可能包括 CPU 使用率、内存使用情况、磁盘 I/O 等基础性能指标。
  • 2.当前活动的快照数量:VMware 允许用户对虚拟机进行快照,以便在需要时恢复到某个特定状态。这个指标表示当前有多少个活动的快照。
  • 3.数据存储的大小以及其他信息:这涵盖了与数据存储(Datastore)相关的度量指标,如数据存储的总大小、已使用的空间、剩余空间等。
  • 4.快照创建的 Unix 时间戳日期:Unix 时间戳是从 1970 年 1 月 1 日 00:00:00(UTC)到现在的秒数。这里指的是快照创建的具体时间。

vmware exporter可以通过docker、podman、kubernets等多种方式部署,以下介绍两种方式。

1.2 安装 - 使用kubernetes部署

环境:我的kubernetes环境是在ubuntu环境下部署的,可以通过ubuntu用户执行 kubectl 命令

1、下载

# 进入:https://github.com/pryorda/vmware_exporter/tree/main/kubernetes
# 下载:config.yml  vmware-exporter.yml  readme.md 文件
# 并把文件上传到k8s的server服务器
cd /home/ubuntu/data
mkdir vmware_exporter
cd vmware_exporter

2、修改配置文件

# 修改文件
cp config.yml{,.bak}
cp vmware-exporter.yml{,.bak}

# 修改config.yml
vim config.yml
kind: ConfigMap
metadata:
  labels:
    app: vmware-exporter
  name: vmware-exporter-config
  namespace: vmware-exporter
apiVersion: v1
data:
  VSPHERE_USER: "administrator@vsphere.local"
  VSPHERE_HOST: "xx.xx.xx.xx"
  VSPHERE_IGNORE_SSL: "True"
  VSPHERE_COLLECT_HOSTS: "True"
  VSPHERE_COLLECT_DATASTORES: "True"
  VSPHERE_COLLECT_VMS: "True"

# 修改vmware-exporter.yml
vim vmware-exporter.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: vmware-exporter
  namespace: vmware-exporter
spec:
  selector:
    matchLabels:
      app: vmware-exporter
  template:
    metadata:
      labels:
        app: vmware-exporter
        release: vmware-exporter
      annotations:
        prometheus.io/path: "/metrics"
        prometheus.io/port: "9272"
        prometheus.io/scrape: "true"
    spec:
      containers:
      - name: vmware-exporter
        image: "pryorda/vmware_exporter:latest"
        imagePullPolicy: Always
        ports:
        - containerPort: 9272
          name: http
        envFrom:
        - configMapRef:
            name: vmware-exporter-config
        - secretRef:
            name: vmware-exporter-password
---
apiVersion: v1
kind: Service
metadata:
  name: vmware-exporter-service
  namespace: vmware-exporter
spec:
  ports:
  - nodePort: 9272
    port: 9272
    protocol: TCP
    targetPort: 9272
  selector:
    app: vmware-exporter
    release: vmware-exporter
  sessionAffinity: None
  type: NodePort

3、执行安装

# 设置自动补全
source <(kubectl completion bash)

kubectl create ns vmware-exporter
# read回车后直接输入密码即可
# 使用这种方式是为了避免密码暴露
read -s VSPHERE_PASSWORD
echo $VSPHERE_PASSWORD
kubectl create secret generic vmware-exporter-password --from-literal=VSPHERE_PASSWORD=$VSPHERE_PASSWORD -n vmware-exporter
kubectl apply -f . 

4、查看

kubectl get pods,svc -n vmware-exporter -o wide

连接:http://ip:31221/metrics

1.3 安装-使用docker的方式

### 方法一:直接把环境变量写在命令行
docker run -itd -p 9272:9272 -e VSPHERE_USER=${VSPHERE_USERNAME} -e VSPHERE_PASSWORD=${VSPHERE_PASSWORD} -e VSPHERE_HOST=${VSPHERE_HOST} -e VSPHERE_IGNORE_SSL=True -e VSPHERE_SPECS_SIZE=2000 --name vmware_exporter pryorda/vmware_exporter

### 方法二:把环境变量统一写在配置文件中
mkdir /root/data
cat > /root/data/config.env << EOF
VSPHERE_USER=administrator@vsphere.local
VSPHERE_PASSWORD=password
VSPHERE_HOST=xx.xx.xx.xx
VSPHERE_IGNORE_SSL=True
VSPHERE_SPECS_SIZE=2000
EOF

# 执行命令:
docker run -itd --rm -p 9272:9272 --env-file /root/data/config.env --name vmware_exporter pryorda/vmware_exporter

登录网页查看:ip:9272/metrics
在这里插入图片描述

1.4 Prometheus配置

## 此时在Prometheus的安装目录下
mkdir -p sd_file/vmware
cat sd_file/vmware/vmware_vsphere.yaml 
- targets:  
  - 'xx.xx.xx.xx:9272'
  labels:
    app: vmware_vsphere
    job: vmware_vsphere

vim prometheus.yml
- job_name: 'vmware_vcenter'
    scrape_interval: 15s
    scrape_timeout: 15s
    metrics_path: /metrics
      #scheme: http
    file_sd_configs:
      - files:
        - /usr/local/prometheus/sd_file/vmware/*.yaml
        refresh_interval: 5m
          #params:
          #section: [esx]
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: exporter_ip:9272
# 此处需要注意:replacement后面跟的是 vmware_exporter所在的服务器地址,以及暴露的端口
# 如果在通过 docker 、kubernetes或者其他方式部署暴露了其他端口,需要自行修改

systemctl restart prometheus.services

http://ip:9090/targets?search=
在这里插入图片描述

1.5 Grafana配置(模板页面还需要修改)

导入模板:(综合,下面三个模板针对的对象不同,所以需要看清楚自己需要的)

  • VMware VM:https://grafana.com/grafana/dashboards/18019
  • exsi: https://grafana.com/grafana/dashboards/10076
  • VMware stats: https://grafana.com/grafana/dashboards/11243

注意:如果不知道该如何导入模板,可以参考之前的文章:Prometheus(二):NodeExporter和Grafana的安装和使用

总结

此处使用 VMware exporter 监控VMware Vsphere。exporter有多种部署方式,可以根据自己的环境进行选择。
除了上述部署之外还可以通过 python、podman进行部署,具体可以参考如下页面:https://github.com/pryorda/vmware_exporter/tree/main

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

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

相关文章

文件操作3

随机读写数据文件 一、随机读写原理 在我们写数据时&#xff0c;有一个光标不断的在随着新写入的数据往后移动&#xff1b; 而读数据时&#xff0c;也有一个看不见光标&#xff0c;随着已经读完的数据&#xff0c;往后移动 这里的文件读写位置标记——可以想象成图形界面里的…

人、机中的幻觉和直觉

对于人类而言&#xff0c;幻觉和直觉是两种不同的心理现象。幻觉是一种错误的感知或体验&#xff0c;而直觉是一种在没有明显依据的情况下产生的直观认知。这两种概念在心理学和认知科学中具有不同的意义和研究对象。 人类幻觉是指个体在感知或体验上出现的错误&#xff0c;即看…

【Selenium】隐藏元素的定位和操作|隐藏与isDisplay方法

一、selenium 中隐藏元素如何定位&#xff1f; 如果单纯的定位的话&#xff0c;隐藏元素和普通不隐藏元素定位没啥区别&#xff0c;用正常定位方法就行了 但是吧~~~能定位到并不意味着能操作元素&#xff08;如click,clear,send_keys&#xff09; 二、隐藏元素 如下图有个输入框…

C语言例4-9:格式字符s的使用例子

代码如下&#xff1a; //格式字符s的使用例子 #include<stdio.h> int main(void) {printf("%s,%5s,%-5s\n","Internet","Internet","Internet");//以三种不同格式&#xff0c;输出字符串printf("%10.5s,%-10.5s,%4.5s\n&q…

电脑卸载软件怎么清理干净?电脑清理的5种方法

随着我们在电脑上安装和卸载各种软件&#xff0c;很多时候我们会发现&#xff0c;即使软件被卸载&#xff0c;其残留的文件和注册表项仍然存在于电脑中&#xff0c;这不仅占用了宝贵的磁盘空间&#xff0c;还可能影响电脑的性能。那么&#xff0c;如何确保在卸载软件时能够彻底…

【iOS ARKit】播放3D音频

3D音频 在前面系列中&#xff0c;我们了解如何定位追踪用户&#xff08;实际是定位用户的移动设备&#xff09;的位置与方向&#xff0c;然后通过摄像机的投影矩阵将虚拟物体投影到用户移动设备屏幕。如果用户移动了&#xff0c;则通过VIO 和 IMU更新用户的位置与方向信息&…

【排序算法】插入排序与选择排序详解

文章目录 &#x1f4dd;选择排序是什么&#xff1f;&#x1f320;选择排序思路&#x1f309; 直接选择排序&#x1f320;选择排序优化&#x1f320;优化方法&#x1f309;排序优化后问题 &#x1f320;选择排序效率特性 &#x1f309;插入排序&#x1f320;插入排序实现 &#…

前端基础 Vue -组件化基础

1.全局组件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><script src&…

代码随想录算法训练营第三十四天|1005. K次取反后最大化的数组和,135,分发糖果

1005. K 次取反后最大化的数组和 题目 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数…

【中间件】docker数据卷

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;中间件 ⛺️稳中求进&#xff0c;晒太阳 1.数据卷&#xff08;容器数据管理&#xff09; 修改nginx的html页面时&#xff0c;需要进入nginx内部。并且因为内部没有编辑器&#xff0c;修改…

快速区分清楚图形渲染中的AABB,KD树和BVH这些概念

快速区分清楚图形渲染中的AABB&#xff0c;KD树和BVH这些概念 主要想形象去区分好这些术语&#xff0c;目的是扫盲&#xff0c;先开好坑&#xff0c;内容持续填充。 0.先摆出这些词的全称 AABB&#xff1a; 原名&#xff1a;axis aligned bounding box&#xff1b;中文直译名…

图论基础|417. 太平洋大西洋水流问题、827.最大人工岛、127. 单词接龙

目录 417. 太平洋大西洋水流问题 827.最大人工岛 127. 单词接龙 417. 太平洋大西洋水流问题 题目链接(opens new window) 有一个 m n 的矩形岛屿&#xff0c;与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界&#xff0c;而 “大西洋” 处于大陆的右边界…

QGraphicsView的使用,view坐标,scene坐标,item坐标

Graphics View绘图构架 QGraphicsScene&#xff08;场景&#xff09;&#xff1a;可以管理多个图形项QGraphicsItem&#xff08;图形项&#xff09;&#xff1a;也就是图元&#xff0c;支持鼠标事件响应。QGraphicsView&#xff08;视图&#xff09;&#xff1a;关联场景可以让…

Schemdraw小白从入门到放弃---原理工具书

文章目录 序版本最简单的例子一、总体思路二、元件2.1 color习题 2.2 label2.3 length 三、元件的连接3.1 延续性习题 3.2 方向习题 3.3 接线点习题3.3.1 默认激活anchor与沉默anchor3.3.2 切换鼠标焦点机制3.3.2.1 at函数规定元件的start接在哪个anchor上3.3.2.2 to函数规定元…

JS08-DOM节点完整版

DOM节点 查找节点 父节点 <div class="father"><div class="son">儿子</div></div><script>let son = document.querySelector(.son)console.log(son.parentNode);son.parentNode.style.display = none</script>通过…

C语言---------strlen的使用和模拟实现

字符串是以‘\0’作为结束标志&#xff0c;strlen函数的返回值是‘\0’前面的字符串的个数&#xff08;不包括‘\0’&#xff09; 注意 1&#xff0c;参数指向的字符串必须以‘\0’结束 2&#xff0c;函数的返回值必须以size_t,是无符号的 使用代码 ​ #include<stdio.…

力扣438. 找到字符串中所有字母异位词

Problem: 438. 找到字符串中所有字母异位词 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.编写辅助函数bool same(vector& need, vector& matched)&#xff1a; 1.1 以need为标准&#xff0c;循环对比need和matched的每一个位置的元素值是否相等 2.获…

RabbitMQ 安装保姆级教程

目录 1.MQ引言 1.1 什么是MQ 1.2 MQ有哪些 1.3 不同MQ特点 2.RabbitMQ 的引言 2.1 RabbitMQ 2.2 RabbitMQ 的安装 2.2.1 下载 2.2.2 下载的安装包 2.2.3 安装步骤 3. RabiitMQ 配置 3.1RabbitMQ 管理命令行 3.2 web管理界面介绍 3.2.1 overview概览 3.2.2 Admin用…

【c++】类和对象(三)构造函数和析构函数

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章我们带来类和对象重要的部分&#xff0c;构造函数和析构函数 目录 1.类的6个默认成员函数2.构造函数2.1构造函数其他特性 3.构析函数3.1特性&#xff1a;…

【JavaSE】继承和多态

目录 前言 1. static 1.1 static修饰成员变量 1.2 类变量的使用场景 1.3 static修饰成员方法 2. 代码块 3. 继承 3.1 为什么会有继承 3.2 继承的语法 3.3 继承后成员的访问 super关键字 3.4 子类的构造器 super和this的联系 继承中的代码块 4. 多态 4.1 多态的…