zabbix3监控ESXI主机

发布时间:2019-09-22 07:44:41编辑:auto阅读(1809)

        ESXI主机VMware公司企业级虚拟化的解决方案Vsphere的重要组件,也是虚拟机的宿主机,对其监控有着重要的意义,下边介绍二种方发对其监控。


    方法一:通过修改服务端的控制项来进行监控。

    虚拟机监控分两个步骤完成。首先,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 性能统计信息只有数据存储,网络接口和磁盘设备统计信息和自定义性能计数器项。

    ------来自zabbix官方文档(https://www.zabbix.com/documentation/3.4/zh/manual/vm_monitoring)


    (一),修改zabbix 服务端的配置

    1,通过修改zabbix_server.conf配置来进行收集VMware的相关信息。

    [root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
    ### Option: StartVMwareCollectors
    #       Number of pre-forked vmware collector instances.
    #
    # Mandatory: no
    # Range: 0-250
    # Default:
    # StartVMwareCollectors=0
     StartVMwareCollectors=10
    ### Option: VMwareFrequency
    #       How often Zabbix will connect to VMware service to obtain a new data.
    #
    # Mandatory: no
    # Range: 10-86400
    # Default:
    # VMwareFrequency=60
     VMwareFrequency=60
    ### Option: VMwarePerfFrequency
    #       How often Zabbix will connect to VMware service to obtain performance data.
    #
    # Mandatory: no
    # Range: 10-86400
    # Default:
    # VMwarePerfFrequency=60
    ### Option: VMwareCacheSize
    #       Size of VMware cache, in bytes.
    #       Shared memory size for storing VMware data.
    #       Only used if VMware collectors are started.
    #
    # Mandatory: no
    # Range: 256K-2G
    # Default:
    # VMwareCacheSize=8M
     VMwareCacheSize=200M

    备注:

    StartVMwareCollectors(0-250) 只有大于0时才能是该功能生效,意为预先配置的vmware监控实例数量。

    VMwareCacheSize(256K-2G)内存中维护的vmware集群结构的大小,建议80M。

    VMwareFrequency(10-864000)zabbix获取更新vmware集群结构的最小间隔时间,单位为分钟。


    2,重启服务并查看VMware monitoring 是否为YES正常

    [root@zabbix ~]# /etc/init.d/zabbix_server start
    Starting zabbix_server (via systemctl):                    [  确定  ]
    [root@zabbix ~]# tail -f /tmp/zabbix_server.log 
     31758:20171103:143357.746 Starting Zabbix Server. Zabbix 3.4.3 (revision 73588).
     31758:20171103:143357.746 ****** Enabled features ******
     31758:20171103:143357.746 SNMP monitoring:           YES
     31758:20171103:143357.746 IPMI monitoring:            NO
     31758:20171103:143357.746 Web monitoring:            YES
     31758:20171103:143357.746 VMware monitoring:         YES
     31758:20171103:143357.746 SMTP authentication:       YES
     31758:20171103:143357.746 Jabber notifications:       NO
     31758:20171103:143357.746 Ez Texting notifications:  YES
     31758:20171103:143357.746 ODBC:                       NO
     31758:20171103:143357.746 SSH2 support:               NO
     31758:20171103:143357.746 IPv6 support:              YES
     31758:20171103:143357.746 TLS support:                NO
     31758:20171103:143357.746 ******************************

    00f49de9b24bb627923d9b251f9de64b.png

    3,登录zabbix的web界面进行添加监控的Vcenter主机。具体步骤日下:配置--主机--创建主机

    32aeeea5cb1f93481ab248317c568141.png4 ,添加相关的主机的信息。注意端口信息要使用80端口。

    d91fd3bbd3c410bee83a55ef6e2119b1.png5,添加zabbix自带的模板。

    72abe0095c97fa37d94fdc09f3c9570d.png6,修改系统自带的宏。添加三个宏,{$PASSWORD},{$URL},{$USERNAME}。

    a6933b51e57dce31d78db910e5886ce2.png

    注意:中间的{$URL}是esxi主机的真实登录地址,在浏览器中输入https://192.168.99.201/,选择进行登录如下图,就能查看esxi主机的相关信息了。

    732ef950c4cccbf3c4da12eb11b97ea2.png

    f324d996a3043ede60c89cbe7ba64b93.png

    7,保存,如果不相等的话,修改自动发现的时间,过一段时间会出现大量的自动发现主机。

    9ae5aa6f3f7c2571e8ccdfee7476b674.png8,由于没有图形,需要手工创建,具体步骤如下:任一虚拟机--图形--创建图形--填写相关信息--添加相关的items。

    85e72b295c264f94493c69ab96c58c3f.png

    9,相关的图形效果如下

    9bb4d2a634074a1f3d0ccb8aea6ef135.png10,根据需要创建相关的触发器。至此监控esxi主机完毕。





    方法二:通过TEMPLATE - VMWARE - STANDALONE ESXI HOST.xml模板来监控ESXI主机

    (http://www.zabbix.org/wiki/File:TEMPLATE_-_VMWARE_-_STANDALONE_ESXI_HOST.xml)

    使用TEMPLATE - VMWARE - STANDALONE ESXI HOST.xml模板首先要知道{$UUID}地址,具体可以通过以下方式来查看:


    1,查看zabbix UUID

    https://<host>/mob/?moid=ha-host&doPath=hardware.systemInfo

    1.png



    2.png

    2,设置zabbix宏(Macros)

    {$URL}   =  
    {$UUID}  = See Notes
    {$USERNAME} = ESXi Login
    {$PASSWORD} = ESxi Password

    4.png



    备注:以上通过官网进行测试:http://www.zabbix.org/wiki/Esxi_standalone_template



    方法三:通过SNMP和ESXI主机来进行监控

    (一),zabbix服务端的相关设置

    1,在官方下载相关的模块(http://www.zabbix.org/wiki/Zabbix_Templates)

    abae9a36364f40aac1de54d2962f4399.png2,把下载的模板导入到zabbix服务端中。设置--模板--导入--选择文件

    330dea98d8e00fa2144e37d3a60ba56f.png

    2,创建主机群。配置--主机群组--创建主机群组

    d1eaf8d9f4ab3a5cad09502b03c923f5.png-wh_


    3,添加主机。配置--主机--创建主机

    9370c2af902f5421bfdf581e5cd163e5.png

    4,配置模板。把导入的模板附加到改主机。

    4c44d73800947ac8a04133458e74d675.png

    5,配置宏。{$SNMP_COMMUNITY}=publix

    e2b0e1889891b286c5c09b71dbec9538.png


     (二),在客户端ESXI主机上设置。

    1,在esxi主机上开启ssh服务。配置--软件--安全配置文件--服务--属性--ssh服务--选项

    28eecda2febecdd0ee97dc94476d058e.png

    2,使用xshell或其他的ssh工具连接到ESXI主机。在主机上执行以下命令:

    esxcli system snmp set --communities public    ###设置SNMP的共同体名为public

    esxcli system snmp set --enable true      ###启用snmp协议


    3,如果虚拟机没有安装vmware tools的话,要进行安装不然会出现问题的。


    4,使用snmpwalk进行测试。snmpwalk -v 2c -c public 192.168.98.10,如果有数据返回说明配置成功了。

    [root@zabbix yum.repos.d]# snmpwalk -v 2c -c public 192.168.98.10
    SNMPv2-MIB::sysDescr.0 = STRING: VMware ESXi 5.5.0 build-2718055 VMware, Inc. x86_64
    SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.6876.4.1
    DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (269600) 0:44:56.00
    SNMPv2-MIB::sysContact.0 = STRING: 
    SNMPv2-MIB::sysName.0 = STRING: localhost
    SNMPv2-MIB::sysLocation.0 = STRING: 
    SNMPv2-MIB::sysServices.0 = INTEGER: 72
    SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
    SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMI

    5,创建图形,和上边一样。查看效果图。

    9341e7e9af8daea949442276985647ff.png




    总结,以上两种方式都是可以对esxi主机进行监控的,方法一是zabbix3.x以后的最新版本常用的,比较方便快捷,只需要修改服务端就可以实现对整个vcenter或单台esxi主机进行监控。方法二基本采用的是最基本的通过snmp协议进行监控,需要修改esxi主机本身的配置,不过不是很建议使用方法二容易对本级本身造成不安全的因素。本人建议使用第一种方式进行监控。

关键字