Zabbix4.2 監控 VMare Vcenter (zabbix4.2已測試成功)

轉:https://blog.csdn.net/reblue520/article/details/82720183#

簡介
爲了解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

[email protected]'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%報警



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章