简介

为了解

ESXI虚拟主机的运行状况,通过zabbix进行监控,图形展示ESXI虚拟主机当前的状态,避免因为esxi服务器因为资源利用率过高导致

概述

从 Zabbix 2.2.0 开始支持对 VMware 的监控。

Zabbix 可以使用 low-level discovery 自动发现 VMware hypervisors 和 虚拟机,并根据事先定义的主机原型,为这些虚拟机建立 Host,添加监控。

Zabbix 中默认提供了几个模板,可以直接用来监控 VMware vCenter 或 ESX hypervisor,支持 VMware vCenter 或 vSphere 版本最低为 4.1。

细节

虚拟机监控分两个步骤完成。首先,Zabbix 是通过 vmware collector 进程来监控虚拟机。这些进程通过 SOAP 协议从 VMware Web 服务获取必要的信息,对其进行预处理并存储到 Zabbix server 共享内存中。然后,zabbix pollers 通过 zabbix 简单检查 VMware keys 来检索这些数据。

从 Zabbix 2.4.4 开始,收集的数据分为两种类型:VMware 配置数据和 VMware 性能数据。这两种类型都由 vmware collectors 进程独立收集。因此,建议启用比受监控的 VMware 服务更多的收集器。否则,检索 VMware 性能统计信息可能会由于检索 VMware 配置数据而延迟(比较大型的环境,需要一段时间)。

目前基于 VMware 性能统计信息只有数据存储,网络接口和磁盘设备统计信息和自定义性能计数器项。

注意:由于监控进程使用soap协议获取虚拟机信息,直接通过https://ip/sdk,返回400是正常现象

整体步骤:

1.修改服务端的zabbix_server.conf文件打开对vmware监控的支持

2.在vcenter的机器上添加zabbixmonitor只读用户作为监控专用账户

3.服务端添加vcenter的监控模板和宏

说明:vcenter服务端不需要安装zabbix_agent客户端

准备

要使虚拟机监控正常工作,编译 Zabbix 时应加上 –with-libxml2 和 –with-libcurl 编译选项。

1.调整虚拟机监控:

# zabbix服务端操作

#修改配置文件 egrep -v '^$|^#' etc/zabbix_server.conf

StartPollers=15

StartTrappers=15

StartVMwareCollectors=10

VMwareFrequency=30

VMwarePerfFrequency=60

VMwareCacheSize=160M

VMwareTimeout=300

其中:

StartVMwareCollectors:vmware 收集器实例的数量。

此值取决于要监控的 VMware 服务的数量。在大多数情况下,这应该是:

servicenum < StartVMwareCollectors < (servicenum * 2)

其中 servicenum 是 VMware 服务的数量。例如:如果您有 1 个 VMware 服务要将 StartVMwareCollectors 设置为 2,那么如果您有 3 个 VMware 服务,请将其设置为 5。请注意,在大多数情况下,此值不应小于 2,不应大于 VMware 数量的 2 倍服务。

VMwareCacheSize:VMwareFrequency=10。

用于存储VMware数据的共享内存大小。

VMwareFrequency:从单个VMware服务收集数据之间的延迟(秒)。

VMwarePerfFrequency:从单个VMware服务检索性能计数器统计信息之间的延迟(秒)。

VMwareTimeout:响应超时时间

# 重启zabbix的服务端

# /etc/init.d/zabbix_server restart

查看启动日志

# 重启服务端,观察日志,发现VMware monitoring:         YES说明开启成功

12584:20180902:232254.601 ****** Enabled features ******

12584:20180902:232254.601 SNMP monitoring:           YES

12584:20180902:232254.601 IPMI monitoring:            NO

12584:20180902:232254.601 Web monitoring:            YES

12584:20180902:232254.601 VMware monitoring:         YES

12584:20180902:232254.601 SMTP authentication:       YES

12584:20180902:232254.601 Jabber notifications:       NO

12584:20180902:232254.601 Ez Texting notifications:  YES

12584:20180902:232254.601 ODBC:                       NO

12584:20180902:232254.601 SSH2 support:               NO

12584:20180902:232254.601 IPv6 support:               NO

12584:20180902:232254.601 TLS support:                NO

配置

前面说过,Zabbix中默认提供了几个模板,可以直接用来监控 VMware vCenter 或 ESX hypervisor。由于我们的ESXI主机使用vCenter集中管理,因此使用zabbix监控vCenter。

1.添加主机

“主机”页面只需填写“主机名称”、“可见的名称”即可,“agent代理程序的接口”需要写 443

很多文档都说填写port为80,这个是错误的,需要填写443

2.添加模板

“模板”页面只需添加“Template Virt VMware”即可。“Template VM VMware“模板应用于 VMware vCenter 和 ESX hypervisor 监控。 ”Template VM VMware Guest“和”Template VM VMware Hypervisor“模板由自动发现使用,通常设置为自动链接到主机

3.设置宏

{$PASSWORD} => zabbixmonitor

{$URL} => https://192.168.254.69/sdk

{$USERNAME} => zabbixmonitor

{$URL} - VMware 服务 (vCenter or ESX hypervisor) SDK URL (https://servername/sdk).

{$USERNAME} - VMware 服务用户名

{$PASSWORD} - VMware 服务{$ USERNAME}用户密码

安全起见,在vCenter 上只需为zabbix添加一个只读用户zabbixmonitor即可

ssh登录vcenter服务器,添加一个普通用户,并将这个用户添加到vcenter的只读组中

# 添加只读用户

[root@zabbix:/usr/local/zabbix-3.2.0]# ssh -p22 192.168.254.69

VMware vCenter Server Appliance 6.5.0.10000

Type: vCenter Server with an embedded Platform Services Controller

root@192.168.254.69's password:

Last login: Mon Sep  3 14:32:44 2018 from 192.168.254.148

Connected to service

* List APIs: "help api list"

* List Plugins: "help pi list"

* Launch BASH: "shell"

Command> shell

Shell access is granted to root

root@localhost [ ~ ]#

# 添加zabbixmonitor用户

root@localhost [ ~ ]# useradd zabbixmonitor

root@localhost [ ~ ]# echo 'zabbixmonitor' | passwd --stdin zabbixmonitor

root@localhost [ ~ ]# passwd zabbixmonitor

root@localhost [ ~ ]# tail -n 1 /etc/passwd

zabbixmonitor:x:1020:100::/home/zabbixmonitor:/bin/appliancesh

可以访问需要调用的接口https://192.168.254.69/mob

输入刚才的只读用户账号秘密zabbixmonitor

自动发现vmware终端机器需要关闭,因为我们已经像监控物理机一样添加了vmware终端机器

已经自动添加的需要删除

自动发现一段时间,如果觉得慢可以改一下自动发现的时间(不建议,会浪费大量服务器性能)

自动发现的集群

启动发现的exsi

添加图形展示cpu的使用情况

网络使用情况

Cpu的使用率

Configuration-->Templates-->Template Virt VMware Hypervisor-->items-->create item

name:

hypervisor_cpu_used_percent

type:

Calculated #计算类型

key:

vmware.hv.cpu[usedpercent]

Formula:

100*last("vmware.hv.cpu.usage[{$URL},{HOST.HOST}]")/(last("vmware.hv.hw.cpu.freq[{$URL},{HOST.HOST}]")*last("vmware.hv.hw.cpu.num[{$URL},{HOST.HOST}]"))

Applications:

CPU

添加触发器,当cpu使用率大于60%时触发报警

内存使用率的监控

内存使用率

1.创建item

Configuration-->Templates-->Template Virt VMware Hypervisor-->items-->create item

name:

hypervisor_cpu_used_percent

type:

Calculated #计算类型

key:

vmware.hv.memory[usedpercent]

Formula:

100*last("vmware.hv.memory.used[{$URL},{HOST.HOST}]")/last("vmware.hv.hw.memory[{$URL},{HOST.HOST}]")

Applications:

memory

内存使用率超过85%报警

zabbix3.2监控vcenter和exsi信息的更多相关文章

  1. zabbix监控路由器所有接口信息

    zabbix监控路由器所有接口信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1.首先在服务器端安装snmp工具 [root@bogon yinzhengjie]# yum - ...

  2. zabbix3.4 监控mysql 数据库连接数

    zabbix3.4 监控mysql 数据库连接数具体监控配置待定,近期即将发布!

  3. 分布式监控系统Zabbix3.2监控数据库的连接数

    在 分布式监控系统Zabbix3.2跳坑指南 和 分布式监控系统Zabbix3.2给异常添加邮件报警 已经介绍了如何安装以及报警.此篇通过介绍监控数据库的3306端口连接数来了解如何监控其它端口和配置 ...

  4. SQL Server 监控统计阻塞脚本信息

        数据库产生阻塞(Blocking)的本质原因 :SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大.阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象. 但是阻塞的 ...

  5. zabbix3.2监控mysql主从(复制)状态

    问题背景: MySQL主从架构最常见不过了,在生产环境下,主从关系的状态的重要性不言而喻,这里小记一下通过zabbix监控主从状态,并用微信告警测试. 测试环境: 软件 MySQL-master My ...

  6. zabbix3.2监控rabbitmq集群

    监控模板和脚本github地址:https://github.com/jasonmcintosh/rabbitmq-zabbix/tree/master/scripts/rabbitmq .将rabb ...

  7. zabbix3.2监控mysql

    应用环境:ZABBIX一款强大的企业级可分布式的开源监控工具,从2.2版本开始支持MySQL监控(自带监控模板), 不过,默认添加MySQL模板后是无法使用的,这里小记一下部署监控MySQL的简单全过 ...

  8. Zabbix3.4监控平台部署

    环境依赖 CentOS 7.3 + PHP5.4 + MariaDB + Nginx Zabbix Server 3.4.1 环境要求 12 CPU ,最少8 CPU 32G 内存,最少16G 1T ...

  9. 【第一章】zabbix3.4监控WindowsCPU使用率磁盘IO磁盘事件日志监控阈值邮件报警详细配置

    Windows安装zabbix-agent 监控Windows-CPU使用率 监控Windows-磁盘IO性能监控 监控Windows/Linux-磁盘触发器阈值更改 监控Windows-网卡自动发现 ...

随机推荐

  1. HDU - 6394 Tree(树分块+倍增)

    http://acm.hdu.edu.cn/showproblem.php?pid=6394 题意 给出一棵树,然后每个节点有一个权值,代表这个点可以往上面跳多远,问最少需要多少次可以跳出这颗树 分析 ...

  2. Part-Seven

    1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

  3. Golang入门教程(十二)安装注意事项

    1.$GOPATH (1)go 命令依赖一个重要的环境变量:$GOPATH .注:这个不是Go安装目录 (2) (3) (4)git 安装 (5)包管理对应关系 (6)安装完之后bee 工具后,bee ...

  4. MVC的了解

    MVC是一种架构模式,程序分层,分工合作,各层既相互独立,有协同工作. MVC:Model+View+Controller Model层:业务数据的信息表示,关注支撑业务的信息构成,通常是多个业务实体 ...

  5. 混合app开发--js和webview之间的交互总结

    使用场景:原生APP内嵌套H5页面,app使用的是webview框架进行嵌套 这样就存在两种情况 1.原生app调用H5的方法 2.H5调用app的方法 分别讲解下,其实app与H5之间的交互式非常简 ...

  6. Django-GET和POST小记

    import requests requests.get(url='xxx') # 本质上就是: requests.request(method='get',url='xxx') import jso ...

  7. Android adb shell 常用命令

    Ø  简介 adb 命令是 Android SDK 中自带的一个调试工具,可以调试电脑中的手机或者模拟器,使用 adb 命令前需要将 sdk 中的 platform-tools 目录添加到环境变量中. ...

  8. Android手机特殊软件配置

    1. 安装360一键root http://root.360.cn/ 2.安装SSHdroid 用于启用手机的ssh 地址:https://www.apk20.com/apk/77332/v/7346 ...

  9. angularjs路由path方式实现原理探究

    angularjs路由 https://angular.io/guide/router 通过URL解释, 来定位客户端生成的浏览器端视图. 你可绑定路由到页面的链接上, 当用户点击链接, 可以浏览到相 ...

  10. Javaweb学习笔记——(十五)—————— sql复习

    sql复习 数据库管理系统(DBMS)的概述 1.什么是DBMS:数据的仓库 *方便查询 *可存储的数据量大 *保证数据的完整.一致 *安全可靠 2.DBMS的发展:今天主流数据库为关系型数据库管理系 ...