• zabbix3.2监控vcenter和exsi信息


    简介

    为了解

    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

    注意在vcenter6.7版本中添加的只读用户要对子项目授权,否则无法监控exsi,因为权限不足如下:

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

    已经自动添加的需要删除

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

    自动发现的集群

    启动发现的exsi

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

    网络使用情况

    Cpu的使用率

    cpu核心数:
    vmware.hv.hw.cpu.num[{$URL},{HOST.HOST}]

    cpu主频:
    vmware.hv.hw.cpu.freq[{$URL},{HOST.HOST}]

    cpu已经使用情况(频率):
    vmware.hv.cpu.usage[{$URL},{HOST.HOST}]

    可以得出,如果想计算cpu使用率: cpu已经使用的频率 / (CPU主频 * cpu核心数)  乘以 100% 就是使用率

    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%报警

    在监控到vcenter以后,cpu和内存使用率需要等待一段时间才能生效

    此模板和规则适用于 zabbix4.0.10 和 vcenter5.x及vcenter 6.x

  • 相关阅读:
    修改jquery里的dialog对话框插件为框架页(iframe)
    实现滚动广告的几种方案
    dojo学习二 ajax异步请求之绑定列表
    用jquery的sortable做自定义网站模块
    封装自己的js提示信息jtip办法
    让你的网站下起雨(js特效)
    关于js左侧多级菜单动态的解决方案
    dojo学习三 grid表格扩展学习
    jquery最新插件Autocomplete搜索自动提示功能
    用javascript面向对象的方式制作弹出层
  • 原文地址:https://www.cnblogs.com/reblue520/p/9643656.html
Copyright © 2020-2023  润新知