使用zabbix监控esxi

概述

我是用的是esxi6.5

我是用的是esxi6.5

我是用的是esxi6.5

重要的事情说三遍,在我的计划中使用zabbix监控的东西有下面这些,一个是监控dell r410 服务器,一个是监控dell r410 上的esxi主机,一个就是监控esxi中的所有的虚拟机,最后是各种应用上的监控,比如nginx什么乱七八糟的。最后所有的数据我都会使用grafana去展示

打开zabbix监控vmware的功能

编辑zabbix的配置文件

vim /etc/zabbix/zabbix_server.conf

修改下面几个参数为下面的状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
StartVMwareCollectors=6
VMwareCacheSize=50M
VMwareFrequency=10
VMwarePerfFrequency=60
VMwareTimeout=300
~~~

- `StartVMwareCollectors` 监控esxi的实例,一般写5就好
- `VMwareFrequency vmware` 从单个VMware服务收集数据之间的延迟(秒)。
- `VMwareCacheSize` 用于存储VMware数据的共享内存大小
- `VMwarePerfFrequency` 从单个VMware服务检索性能计数器统计信息之间的延迟(秒)。
- `VMwareTimeout` 响应超时时间

重启zabbix的服务

`systemctl restart zabbix-server`

看下日志

`tail -60f /var/log/zabbix/zabbix_server.log `

如果有下面这几句就说明成功了

`VMware monitoring: YES`

### 查看esxi的uuid

这个真的是他妈的,唉算了,原谅我无知,为了查看这个我折腾了半个小时

首先你要打开esxi中的Managed Object Browser (MOB),因为在esxi6.0以上默认是禁用这个的,所不要听网上瞎几把乱说,打开这个分为两步,一个是登录esxi主机执行下面的命令,但是一般来说返回会提示你已经打开的

`vim-cmd proxysvc/add_np_service "/mob" httpsWithRedirect /var/run/vmware/proxy-mob`

~~~bash
[root@bboysoul-esxi:/var/run/vmware] vim-cmd proxysvc/add_np_service "/mob" httpsWithRedirect /var/run/vmware/proxy-mob
(vim.fault.AlreadyExists) {
faultCause = (vmodl.MethodFault) null,
faultMessage = <unset>,
name = "/mob"
msg = "Received SOAP response fault from [<cs p:07279a40, TCP:localhost:80>]: addEndpoint
The specified key, name, or identifier '/mob' already exists."
}

如果返回上面这样的结果你可以进行下一步

去web client主机系统高级设置里面打开

Config.HostAgent.plugins.solo.enableMob

右键把值改为true

之后访问

https://esxi.bboysoul.com/mob/?moid=ha-host&doPath=hardware.systemInfo

输入你的账号和密码就可以看到uuid了

如果上面失败,报错是下面这些

503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x06626718] _serverNamespace = /mob action = Allow _pipeName =/var/run/vmware/proxy-mob)

如果成功就可以进入下面这个页面

详细得可以看下面这个文章

https://kb.vmware.com/articleview?docid=1016039&lang=zh_CN

添加主机

这里要注意的是主机名称一定要写上面的uuid不然就是下面这个错误了

8629:20181114:221601.566 item "bboysoul-esxi.lan:vmware.hv.cluster.name[{$URL},{HOST.HOST}]" became not supported: Unknown hypervisor uuid.

这个我也折腾了好久

模板的话我选择的是

Template VM VMware Hypervisor

因为我是没有安装vcenter的,所以这个模板就够了,如果你有vcenter可以选择下面这个模板

Template VM VMware

之后设置宏

  • {$URL} VMware (vCenter or ESX hypervisor) SDK URL (https://servername/sdk).
  • {$USERNAME} VMware 用户名
  • {$PASSWORD} VMware 用户密码

之后等待一段时间就可以看到数据了

欢迎关注Bboysoul的博客www.bboysoul.com

Have Fun