深入浅出Zabbix 3.0 -- 第十一章 VMware 监控

第十一章  VMware 监控

随着虚拟化技术应用的越来越广泛,Zabbix作为基础架构的监控系统,也可以很好的支持基于VMware的虚拟化平台及虚拟机进行监控。通过在Zabbix中预先定义的host prototypes(主机原型)利用low-level discovery rules会自动发现VMware hypervisors和虚拟机,并创建主机对它们进行监控。

在Zabbix中对虚拟机的监控分两步完成,首先,通过vmwarecollector实例收集虚拟机数据,这些实例使用SOAP协议从VMware web services收集需要的信息并进行处理后保存到Zabbixserver的共享内存中,然后pollers使用Zabbix simple check接收这些数据。

支持的VMware vCenter 或 vSphere 的最低版本是v4.1。

11.1 配置准备

在监控VMware之前,要确保Zabbix server支持libxml2(用来解析调用SOAP接口返回的XML)和libcurl(用来调用vCenter的SOAP接口)。如果不支持,Zabbix server启动时会报错:cannotstart vmware collector because Zabbix server is built without VMware support。因此,你如果使用源码安装Zabbix时需要加上 –with-libxml2 和–with-libcurl 这两个参数。

另外,我们需要修改Zabbix server的配置文件 /etc/zabbix/zabbix_server.conf中有关VMware监控的参数,主要有以下几个:

  • StartVMwareCollectors:VMware collector 实例的数量,默认为0,取值范围:0-250。此值取决于你需要监控的VMware 服务的数量。一般情况下servicenum < StartVMwareCollectors < (servicenum * 2),其中servicenum时VMware服务的数量。
  • VMwareFrequency:连接到VMware服务收集一个新数据的频率,默认为60秒,取值范围:10-86400。
  • VMwarePerfFrequency:连接到VMware服务收集性能数据的频率,默认为60秒,取值范围10-86400。
  • VMwareCacheSize:用于存储VMware 数据的缓存容量,默认为8M,取值范围:256K-2G。
  • VMwareTimeout:VMware collector 等待VMware 服务响应的时间,默认为10秒,取值范围:1-300。

完成相关参数的配置后,记住一定要重启Zabbix server。

你可能注意到VMwareFrequency和VMwarePerfFrequency这两个参数虽然都是定义收集数据的频率,但两者是有一些区别的。Zabbix从2.4.4版本开始,从VMware收集的数据分为两类:VMwareconfiguration data(配置数据)和VMwareperformance counter data(性能计数器统计数据),它们都是通过VMware collector收集,因此建议VMwarecollector的数量大于VMware 服务的数量,否则会因为VMware configuration data不能及时更新而导致VMware performance counter data的延迟收集。

11.2 预设模板

在Zabbix中已经提供了几个可以直接使用的监控VMwarevCenter 或 ESX hypervisor的模板,这些模板包含预先定义好的low-level discovery rules。

Template Virt VMware模板会在监控VMwarevCenter和ESX hypervisor时使用,Template Virt VMware Hypervisor 和 Template Virt VMware Guest主要在discovery中使用,在host上不用手工链接这两个模板。如下图11-1所示。

图 11-1

如果你从Zabbix 2.2或更早的版本升级到3.0版本时,需要从官网下载模板并手工导入。因这些模板都依赖VMware VirtualMachinePowerState 和 VMware status的value maps(值映射),所以你需要先手工建立或从XML导入,也可以使用SQL脚本(http://www.zabbix.org/wiki/Zabbix_Templates/SQLs_for_Official_Templates)建立这些值映射,然后在导入这些模板。

11.3 创建VMware Host

创建host之前,登录vCenter,确认服务正常运行。然后在Zabbix前端页面点击Configuration--> Hosts,在Hosts页面右上角点击Create host按钮,在主机配置页面完成以下配置:

1、  点击Host标签,在配置页面中输入Host name和Visible name,选择相应的group。如下图11-2所示。

图 11-2

2、  Agent Interface中IP ADDRESS中输入vCenter服务器的地址,收集数据时不使用这个地址,在这里设置的目的只是方便管理。

3、  点击Templates标签,在配置页面中添加TemplateVirt VMware模板。如下图11-3所示。

图 11-3

4、  点击Macros标签,在配置页面中添加主机宏变量。如下图所示,主要有3个,分别是:

  • {$USERNAME}:VMware 用户名。
  • {$PASSWORD}:VMware 用户密码。
  • {$URL}:VMware 服务(vCenter或ESX hypervisor)SDK URL,例如https://servername/sdk。如下图11-4所示。

图 11-4

5、  点击Add按钮保存配置。

VMware host创建完成后,Zabbix通过SDK接口访问VMware vCenter并收集所有信息,通过Template Virt VMware模板中配置的发现规则DiscoverVMware hypervisors和Discover VMwareVMs发现相应的hypervisor和VM(虚拟机)。

在Discover VMware hypervisors发现规则中,定义了一个Host prototypes(主机原型),并在该主机原型中链接了Template Virt VMware Hypervisor模板。在Discover VMware VMs发现规则中,定义了一个Hostprototypes(主机原型),并在该主机原型中链接了TemplateVirt VMware Guest模板。当发现hypervisor或虚拟机时,这些主机原型会变成真正的host。定义的主机原型如下图11-5所示。

图 11-5

在Discovery rules中默认配置的Updateinterval 为3600秒,因此在创建VMware host 一个小时之后运行这些发现规则,发现并创建hypervisor和VM 主机。在Monitoring --> Latest data页面中通过hypervisor或cluster过滤浏览相应的信息。

如果遇到问题,我们可以通过VMware collector的Extended debug模式(debug level 5)获得详细的收集数据。需要修改Zabbixserver的配置文件设置debug level,或者使用参数-R log_level_increase="vmware collector,N",N 是进程的编号。一起来看看下面的例子。

假设已经设置debug level为4,设置所有VMware collector进程的debug level为5:

# zabbix_server -R log_level_increase="vmware collector"

设置第二个VMware collector进程的debug level为5:

# zabbix_server -R log_level_increase="vmware collector,2"

不需要对VMware collector的数据做Extendeddebug时,可以使用参数 -Rlog_level_decrease选项。

时间: 2024-10-10 10:23:58

深入浅出Zabbix 3.0 -- 第十一章 VMware 监控的相关文章

深入浅出Zabbix 3.0 -- 第五章 开始监控

第五章  开始监控 通过前面的章节相信你已经了解Zabbix server提供的丰富的监控方式,也了解了主机.用户.组及权限的管理.在本章将通过一个主机监控的例子向你介绍Zabbix中配置监控的流程,全面了解配置监控的每一个步骤. 5.1 监控配置流程 一般Zabbix中监控配置流程如下: 1.  创建主机组. 2.  创建主机(通过设置New group字段可以同时创建主机组). 3.  创建监控项组. 4.  创建监控项(通过设置New application字段可以同时创建监控项组). 5

深入浅出Zabbix 3.0 -- 第七章 模板配置与管理

第七章  模板配置与管理 我们在主机中不仅可以添加很多需要监控的指标(即监控项),还可以添加图形.触发器.监控项组.展示屏.Web scenarios和low-level Discovery,如果在每个主机中添加这些对象,尤其是在一个大型环境中,其工作量是不可想象的,何况需要监控的主机有很多具有相同的监控属性,需要重复相同的配置工作,如果手工完成这些配置任务几乎是不可能的.好在Zabbix为我们提供了模板,通过在不同的模板中添加监控项.触发器.图形等配置并应用到任意数量的主机上.当然对于特殊的监

深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

第六章 监控项配置与管理 Zabbix系统中监控项(Items)的定义和管理非常重要,所有的监控指标都是通过定义不同的监控项收集数据.Zabbix通过主机作为一个逻辑单元组织和管理监控项,所有的监控项都必须属于某个主机,且在同一主机中只能有一个唯一的监控项存在. 6.1监控数据 Zabbix 不同于与大多数其他监控解决方案的一个重要特征是Zabbix通过监控项从被监控对象收集的数据是原始数据,而不是告警或状态的更新数据.大多数监控方案中,不管是通过agent或其他方法收集到监控数据后,会对该数据

深入浅出Zabbix 3.0 -- 第三章 Zabbix 监控方式

第三章  Zabbix 监控方式 有人说通过Zabbix可以完成任何监控任务,只有你想不到的,但没有监控不了的,真是这样吗?当你通过本章了解了Zabbix提供的多种监控方式后,你就会发现此言非虚. 这里所说的监控方式,实际上就是Zabbix中的配置监控项时选择的监控项类型.为了适应各种应用场景的需要,Zabbix提供了多种方法帮助你更好的完成监控任务. Zabbix 3.0中提供的监控方式包括: Active agents Passive agents Extending agents Simp

深入浅出Zabbix 3.0 -- 第四章 主机、用户和权限管理

第四章  主机.用户和权限管理 Zabbix中主机作为一个管理单元,用来管理和组织监控项,它可以包含任意数量和类型的监控项,并且每个主机必须属于至少一个主机组.当主机中的监控项获取监控数据后,Zabbix中创建的用户就可以访问这些数据,同样这些用户必须属于至少一个用户组.你可能注意到不管是主机还是用户,在Zabbix中必须属于至少一个主机组或用户组.为什么要这么做呢?这是因为Zabbix中是通过用户组和主机组来实现用户对主机中监控数据进行访问权限的分配和管理. 4.1主机 4.1.1创建主机 Z

zabbix专题:第十一章 zabbix proxy分布式监控配置

zabbix专题:第十一章 zabbix proxy分布式监控配置             对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.co zabbix proxy分布式监控配置 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式.分

zabbix专题:第四章 添加自定义监控项Items

添加监控项Items 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.com 本节目录大纲 什么是item item构成 实战添加网卡流入流出监控项 zabbix专题:第四章 添加监控项Items 什么是item Items是从主机里面获取的所有数据.通常情况下我叫itme为监控项,例如我需要监控它的cpu负载.监控网卡流入流出,那么实现这个方法的东西就叫item.接下来zabbix教程中提到的item都翻译为监

深入浅出Zabbix 3.0 -- 第十五章 Zabbix 协议与API

今天是六.一儿童节,祝小朋友们节日快乐!发完此文就带我家小朋友出去玩耍了. 第十五章 Zabbix 协议与API 本章将介绍和开发相关的Zabbix协议和API的内容,通过对Zabbix协议和API的深入了解,你可以利用Zabbix协议编写客户端程序并将其嵌入的产品或系统中,并将数据发送到Zabbix server,这在无法安装Zabbixagent等程序的场景(例如专用的嵌入式系统)中非常有用.你也可以利用Zabbix API开发自己的业务系统,或灵活的与现有系统整合集成. 15.1 Zabb

深入浅出Zabbix 3.0 -- 第二章 Zabbix Web操作与定义

第二章  Zabbix Web操作与定义 本章介绍Zabbix 中一些基本概念的定义和web前端页面的操作,包括Zabbix中使用的一些术语的定义,Web页面中用户管理.主机和主机组的管理,以及监控项.模板.触发器.告警的管理和操作,还有Graphs.Screens.Maps及Reports等.通过本章的学习掌握一些基本概念并能够通过Web页面的操作完成对Zabbix的管理. 2.1 定义 hosts(主机) Zabbix中需要监控的服务器.交换机及其他设备我们都统一称作host,这些设备与Za