Contents
ZabbixでVMware環境を監視する時に、標準で用意されているシンプルチェックのキーだけだと欲しい情報が取れ無かったりします。
Zabbixでは、他のパフォーマンスカウンタ値を取得するためのキーが用意されています。
そのキーを使用してvCenterやESXiから値を取得することできます。
ここでは、そのやり方について説明します。
環境
OS情報
OS |
---|
CentOS 7.2 |
パッケージ情報
パッケージ名 | バージョン |
---|---|
zabbix-agent | 3.0.4-1.el7.x86_64 |
zabbix-get | 3.0.4-1.el7.x86_64 |
zabbix-release | 3.0-1.el7.noarch |
zabbix-server-mysql | 3.0.4-1.el7.x86_64 |
zabbix-web-japanese | 3.0.4-1.el7.noarch |
zabbix-web-mysql | 3.0.4-1.el7.noarch |
zabbix-web | 3.0.4-1.el7.noarch |
httpd-tools | 2.4.6-40.el7.centos.4.x86_64 |
mariadb-libs | 5.5.50-1.el7_2.x86_64 |
mariadb-server | 5.5.50-1.el7_2.x86_64 |
パフォーマンスカウンタ値取得方法
Zabbixのキーについて
ZabbixでVMwareのパフォーマンスカウンタ値を取得するには、仮想マシンとハイパーバイザーで2種類あります。
仮想マシンのキー
1 2 |
vmware.vm.perfcounter[<url>,<uuid>,<path>,<instance>] |
ハイパーバイザーのキー
1 2 |
vmware.hv.perfcounter[<url>,<uuid>,<path>,<instance>] |
このキーには4つの引数が存在します。
引数 | 説明 |
---|---|
<url> |
vCenter or ESXiのAPIを受け付けるURL |
<uuid> |
ESXi or VMのUUID |
<path> |
取得対象のカウンタ情報 |
<instance> |
取得対象のインスタンス |
<url>
と <uuid>
は、LLDを使えば取得できると思います。
ここで謎なのは <path>(取得対象のカウンタ情報)
です。
そこで、次にカウンタの情報を確認するやり方について説明します。
カウンタ情報の調べ方
カウンタの情報はvCenterやESXiにvSphere Client(C# Client) or vSphere Web Clientで接続した後にパフォーマンスから確認することが出来ます。
以下の図では、ESXiのCPU使用率のカウンタ情報を確認しています。
一個一個確認していくのは大変なので、ここでは以下のツールを使用します。
実行例
1 2 |
[root@localhost ~]# ./get_perf_info.pl --server 192.168.1.51 --username 'administrator@vsphere.local' --password 'password' > counter_list.csv |
counter_list.csvの一部
注意 : 表示された全ての情報が取得できるわけではありません。
vCenterやESXiで確認できるカウンタであれば取得可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@localhost ~]# head counter_list.csv group,counter,rolleup type,key number,unit,description cpu,usage,none,1,Percentage(%),CPU usage as a percentage during the interval cpu,usage,average,2,Percentage(%),CPU usage as a percentage during the interval cpu,usage,minimum,3,Percentage(%),CPU usage as a percentage during the interval cpu,usage,maximum,4,Percentage(%),CPU usage as a percentage during the interval cpu,usagemhz,none,5,Megahertz(MHz),CPU usage in megahertz during the interval cpu,usagemhz,average,6,Megahertz(MHz),CPU usage in megahertz during the interval cpu,usagemhz,minimum,7,Megahertz(MHz),CPU usage in megahertz during the interval cpu,usagemhz,maximum,8,Megahertz(MHz),CPU usage in megahertz during the interval cpu,reservedCapacity,average,9,Megahertz(MHz),Total CPU capacity reserved by virtual machines (snip) |
Zabbixでの <path>
の指定方法は group/counter[rollup]
となります。
例えば、CPU使用率を確認したい場合の <path>
は cpu/usage[average]
となります。
Zabbix設定例
CPUパフォーマンス例
CPUの使用率を取得する設定例です。
乗数を使っているのは、4桁で出力されるためです。
指定しているキー |
---|
vmware.hv.perfcounter[{$URL},{HOST.HOST},"cpu/usage[average]",] |
これだとCPU全体の使用率しか取得できないので、コアごとに取得する場合は以下のようにinstanceを指定します。
指定しているキー |
---|
vmware.hv.perfcounter[{$URL},{HOST.HOST},"cpu/usage[average]",0] |
vmnicパフォーマンス例
vmnic0の受信量(B)を取得する時の設定例です。
指定しているキー |
---|
vmware.hv.perfcounter[{$URL},{HOST.HOST},"net/received[average]",vmnic0] |
vmnic0の送信量(B)を取得する時の設定例です。
指定しているキー |
---|
vmware.hv.perfcounter[{$URL},{HOST.HOST},"net/transmitted[average]",vmnic0] |
Zabbixの最新データ例
こんな感じになります。
最後に
vCenterやESXiで確認できるパフォーマンスカウンタは、ほぼ取得できそうです。
いくつか課題(後々言えれば…)はありますが、基本的な監視はこれで問題なさそうです 🙂