基于Prometheus&Grafana监控vmware vcenter集群 - 使用vmware_exporter进行数据采集

2023-12-18 13:52:00 浏览数 (5)

一、前言

本文建立在以下已有环境下进行,如没有安装必要环境,请自行查阅安装,非本文重点。

必备环境:

  • prometheus
  • grafana

以下是服务主机和IP的基本分配:

服务

主机名

IP

prometheus、grafana

node1

192.168.1.12

vmware_exporter(docker)

node2

192.168.1.8

vmware_exporter(podman)

node3

192.168.1.199

二、安装podman

直接从软件源安装即可:

发行版

安装命令

Arch

pacman -Sy podman

Debian/Ubuntu

apt install podman -y

Gentoo

emerge --ask podman

Centos/Redhat

yum install podman -y

当然你可以选择使用docker,无需podman。

三、配置运行vmware_exporter

本文将使用vmware_exporter进行metrics的监控数据采集。

1.配置

创建配置文件:

代码语言:shell复制
$ cd /etc/vmware_exporter
$ cat config.env
VSPHERE_USER=administrator@vsphere.my.domain.com
VSPHERE_PASSWORD=Secure-Pass  # vcenter密码
VSPHERE_HOST=192.168.0.1      # vcenter主机IP
VSPHERE_IGNORE_SSL=TRUE       # 忽略SSL证书
VSPHERE_SPECS_SIZE=10000      # 查询统计信息功能的规格列表大小,默认5000

2.运行并验证vmware_exporter的数据采集

Docker和Podman选其一即可

1)podman方式

拉取镜像并启动:

代码语言:shell复制
$ podman pull docker.io/pryorda/vmware_exporter
$ podman run -d -it -p 9272:9272 --name vmware_exporter --restart=always --env-file /etc/vmware_exporter/config.env pryorda/vmware_exporter

查看是否正常监听:

代码语言:shell复制
$ podman ps |grep vmware_exporter

测试web是否正常:

代码语言:shell复制
$ curl localhost:9272

浏览器访问9272端口:

2)docker方式

拉取镜像并启动

代码语言:shell复制
$ docker pull vmware_exporter pryorda/vmware_exporter
$ docker run -d -it -p 9272:9272 --name vmware_exporter --restart=always --env-file /etc/vmware_exporter/config.env pryorda/vmware_exporter

查看是否正常监听

代码语言:shell复制
$ docker ps |grep vmware_exporter

测试web是否正常:

代码语言:shell复制
$ curl localhost:9272

浏览器访问9272端口:

四、写入prometheus配置

1.添加vmware_exporter的job

最后面增加job:

代码语言:shell复制
  - job_name: 'vmware_vcenter'
    metrics_path: '/metrics'
    static_configs:
      - targets:
        - YOU_VCENTER_IP # vcenter ip
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: vmware_exporter_host:9272  # 运行vmware_exporter的IP

2.重启并验证可用性

重启prometheus服务:

代码语言:shell复制
$ systemctl restart prometheus.service
$ systemctl status prometheus.service # 查看状态是否正常

进入prometheus主面板查看目标是否已经UP:

五、在grafana配置监控面板

prometheus已经采集到从vmware_exporter服务的metrics数据源,接下来你怎么在grafana自定义监控面板都可以,符合prometheus的函数表达式语法即可。

1.导入模板

或者使用grafana已有的模板,在dashboard面板,点击新建--> 导入:

UID写11243:

其它模板可在grafana官网搜索。

2.监控面板效果

1 人点赞