Prometheus 监控VMware_ESXI并配置AlertManager告警

目前grafana流行的模板都是通过InfluxDB为数据源,使用Telegraf来收集数据。为了统一管理,找了很久的prometheus数据源。来对接VMware_exporter

一、需求

个人家中采购了一台Dell的小型工作站服务器,由于不经常登陆控制台就需要查看服务器资源占用的情况。之前服务器被挖矿了我都不知道,后面意外看到虚拟机负载特别高,发现了是服务器被挖矿了 目前针对VMware的exporter比较少,大家可能需求不多。所以我找了个github比较火的expoter,但是有很多坑的地方 准备工作 本次环境依赖于vcenter、prometheus、grafana、linux、docker,需要提前安装好,VMware_exporter需要连接vcenter获取数据,所以需要安装vcenter。对于服务的安装到每一步我都会有跳转安装界面的文档。大家参考一下就可以了,有问题可以点右边的加群或者我的个性签名联系我。

同时vcenter属于VMware商业系统,所以我这里不提供下载地址,需要可单独联系我

二、安装VMware center

由于目前的VMware exporter是基于vcenter获取的资源监控,所以我们需要安装一下vcenter1645276657924.png

1645276715238.png 1645276733054.png 1645276749783.png

配置Vcenter安装在哪台ESXI节点上,我这里只有一台,我就写一台了

  • ESXI 节点
  • ESXI 端口号(默认443)
  • ESXI用户名
  • ESXI密码
  • 1645276888603.png

    这里提示我们证书不安全,直接忽略就可以1645276972457.png 设置vcenter在esxi中的名字,并为vcenter配置root密码1645277015650.png 这里需要根据虚拟机的数量安装给vcenter对应的配置,我这里就选择Tiny最小的一个即可,家用esxi一般不超过30个VMware1645277073056.png 这里需要设置vcenter存储位置,我就随便选择一个了1645277137668.png 这一步是检查我们前两步添加的配置

    没有内部DNS请在FQDN写IP

    1645308180155.png

    接下来等待就可以了1645277343296.png 接下来配置Vcenter

    20220219_224433.png

    是否开启SSH,以及时间同步,此处默认1645281900801.png 配置SSO域

    域没有内网DNS写IP

    1645308267731.png

    等待结束即可1645282018225.png 登录vcenter

    访问地址:https://192.168.31.200:5480/#/login

    1645289610090.png

    用户名为administrator@vcenter ip,密码就是我们设置的密码 添加完esxi节点后显示如下

    1645308329808.png

    三、Linux 运行VMware_exporter

    通过docker -v 将变量写入到环境中 VMware_exporter不需要做持久化

    #docker 运行的方式
    
    docker run -d -p 9272:9272 
    -e VSPHERE_USER=administrator@192.168.31.200 
    -e VSPHERE_PASSWORD=密码 
    -e VSPHERE_HOST=主机 
    -e VSPHERE_IGNORE_SSL=True 
    -e VSPHERE_SPECS_SIZE=2000 
    --name vmware_exporter 
    pryorda/vmware_exporter
    
    #Linux直接运行
    #需要安装python3.6 我这里就不演示了
    Requires Python >= 3.6
    
    1.Install with $ python setup.py install or via pip $ pip install vmware_exporter. The docker command below is preferred.
    2.Create config.yml based on the configuration section. Some variables can be passed as environment variables
    3.Run $ vmware_exporter -c /path/to/your/config
    4.Go to http://localhost:9272/metrics?vsphere_host=vcenter.company.com to see metrics

    VSPHERE_USERNAME vcenter用户名VSPHERE_PASSWORD vcenter密码VSPHERE_HOST vcenter地址 环境变量配置信息

    变量名 默认值 注释
    VSPHERE_HOST   连接地址
    VSPHERE_USER   用户名
    VSPHERE_PASSWORD   密码
    VSPHERE_SPECS_SIZE 5000 查询统计功能的规格列表大小
    VSPHERE_IGNORE_SSL False 忽略与 vsphere 主机的连接上的 ssl 证书
    VSPHERE_FETCH_CUSTOM_ATTRIBUTES False 设置为 true 以收集对象自定义属性作为度量标签
    VSPHERE_FETCH_TAGS False 设置为 true 以收集对象标签作为度量标签
    VSPHERE_FETCH_ALARMS False 获取对象触发警报,并且在主机 hdw 警报的情况下也是如此
    VSPHERE_COLLECT_HOSTS True 设置为 false 以禁用主机指标收集
    VSPHERE_COLLECT_DATASTORES True 设置为 false 以禁用数据存储指标的收集
    VSPHERE_COLLECT_VMS True 设置为 false 以禁用收集虚拟机指标
    VSPHERE_COLLECT_VMGUESTS True 设置为 false 以禁用虚拟机来宾指标的收集
    VSPHERE_COLLECT_SNAPSHOTS True 设置为 false 以禁用快照指标的收集