VMware Global Community
take001
Enthusiast
Enthusiast

esxtopの抽出項目について

お世話になっております。

以下、2点質問させて下さい。

 

■環境

ESXi6.7

VCSA6.7

 

■質問1

esxtop -b -a -d 3 -n 2ですべてのパフォーマンス情報を取得した際

どの項目が取得(例えば% Core Util Time)されるかを知りたいないのですが、当方で確認しても見つからず

お客様都合上、実機確認することが出来ません。お手数ですがご教授頂けますでしょうか。

 

■質問2

https://kb.vmware.com/s/article/1004953?lang=ja

上記URLの「# cat filename | cut -d "," -f 1,`head -1 filename | tr "," "\12" | egrep -n "regex" | cut -d ":" -f 1 | tr "\12" "," | sed "s/,$//"` | head」にある

12は具体的に何を指しているかご教授頂けますでしょうか。

 

以上、よろしくお願いします。

Reply
0 Kudos
4 Replies
gowatana
Leadership
Leadership

こんにちは。

 

esxtopで取得できる項目は、ドキュメントの下記のあたりにあります。

対話モードでの esxtop または resxtop の使用
https://docs.vmware.com/jp/VMware-vSphere/6.7/com.vmware.vsphere.monitoring.doc/GUID-49D45588-AE12-4...

ただ実際のesxtopでは、この項目名ママの列名ではなく、しかもこのドキュメントにある項目のカウンタが、VMごとやCPUごとに存在するので、項目数だけで数万件になります。
そのため、まずはドキュメントから確認したいパフォーマンス値のあたりをつけてから、esxtopで確認するとよいかなと思います。

 

「tr "," "\12"」といったコマンドラインでは、「,」→「改行(\12)」への置換を実行しています。
つまり、esxtopの結果を保存したCSVファイルの1行目(ヘッダー行)の列名だけを縦1列に並べ替えています。

ちなみにtrコマンドはESXi 6.7にはインストールされていないはずなので、実際にこの処理を実施する場合は、Linux端末などが必要になります。

 

以上です。ご参考まで・・・

 

 

Reply
0 Kudos
gowatana
Leadership
Leadership

Moderator: ESXi Documents フォーラムに同内容の投稿がありましたので、そちらはモデレータにて退避いたしました。
引き続き、こちらのスレッドでディスカッションいただければと思います。

また、質問については「Documents」ではなく「Discussions」の方にご投稿ください。(解決のマーク付けなどができるようになりますので)

Reply
0 Kudos
take001
Enthusiast
Enthusiast

gowatana さん

ご回答有難うございます。
また投稿箇所について失礼しました。
以後、「Documents」ではなく「Discussions」で投稿するように致します。


>esxtopで取得できる項目は、ドキュメントの下記のあたりにあります。
>対話モードでの esxtop または resxtop の使用
>https://docs.vmware.com/jp/VMware-vSphere/6.7/com.vmware.vsphere.monitoring.doc/GUID-49D45588-AE12-4...
>ただ実際のesxtopでは、この項目名ママの列名ではなく、しかもこのドキュメントにある項目のカウンタが、VMごとやCPUごとに存在するので、項目数だけで数万件になります。
>そのため、まずはドキュメントから確認したいパフォーマンス値のあたりをつけてから、esxtopで確認するとよいかなと思います。

追加の質問で申し訳ないのですが
以下の認識で合っていますでしょうか。

1:esxtop -b -a -d 3 -n 2ですべてのパフォーマンスを取得した場合、ご回答頂いた数万件の項目数が取得されている。

2:下記URLの「# cat filename | cut -d "," -f 1,`head -1 filename | tr "," "\12" | egrep -n "regex" | cut -d ":" -f 1 | tr "\12" "," | sed "s/,$//"` | head」で
数万件の項目数から項目名(regex)部分のパフォーマンス項目のみを抽出した後、tr "\12"で並べ替えを戻している。
https://kb.vmware.com/s/article/1004953?lang=ja

以上、よろしくお願いします。

 

Reply
0 Kudos
gowatana
Leadership
Leadership

こんにちは。

 

実際にコマンドラインを実行したの様子を見てみたほうが分かりやすいかなと思いました。

まず、ESXi 6.7 で、esxtop の結果を test.csv ファイルに保存してみます。
2回分しかパフォーマンス情報取得していないのに、2MB以上のファイルになっています。

[root@infra-esxi-07:~] vmware -v
VMware ESXi 6.7.0 build-16075168
[root@infra-esxi-07:~] esxtop -b -a -d 3 -n 2 > /tmp/test.csv
[root@infra-esxi-07:~] ls -lh /tmp/test.csv
-rw-r--r-- 1 root root 2.0M Apr 20 07:23 /tmp/test.csv

 

trコマンドがある Linux 端末でダウンロードしました。

Linux$ scp root@infra-esxi-07:/tmp/test.csv ./test.csv

 

VM 3台だけ稼働してる ESXi で試しに取得してみたら、カウンターの数は 21134 でした。
※ただし、この数はVMの構成によって増減します。

Linux$ head -1 test.csv | tr "," "\12" | wc -l
21302
Linux$ head -1 test.csv | tr "," "\12"
"(PDH-CSV 4.0) (UTC)(0)"
"\\infra-esxi-07.go-lab.jp\Memory\Memory Overcommit (1 Minute Avg)"
"\\infra-esxi-07.go-lab.jp\Memory\Memory Overcommit (5 Minute Avg)"
"\\infra-esxi-07.go-lab.jp\Memory\Memory Overcommit (15 Minute Avg)"
"\\infra-esxi-07.go-lab.jp\Physical Cpu Load\Cpu Load (1 Minute Avg)"
"\\infra-esxi-07.go-lab.jp\Physical Cpu Load\Cpu Load (5 Minute Avg)"
"\\infra-esxi-07.go-lab.jp\Physical Cpu Load\Cpu Load (15 Minute Avg)"
"\\infra-esxi-07.go-lab.jp\Physical Cpu(0)\% Processor Time"
"\\infra-esxi-07.go-lab.jp\Physical Cpu(1)\% Processor Time"
"\\infra-esxi-07.go-lab.jp\Physical Cpu(2)\% Processor Time"
(以下略)

 

KB#1004953 の例をもとに見てみると、下記のようにパフォーマンス情報を抽出できます。
esxtop の  -n 2 オプションにより、2回だけ情報取得されています。

Linux$ cat test.csv | cut -d "," -f 1,`head -1 test.csv | tr "," "\12" | egrep -n "Machine MBytes" | cut -d ":" -f 1`
"(PDH-CSV 4.0) (UTC)(0)","\\infra-esxi-07.go-lab.jp\Memory\Machine MBytes"
"04/20/2021 07:23:14","65370"
"04/20/2021 07:23:17","65370"

 

コマンドラインを部分的に実行してみると、Machine MBytes を含む列は 35列目にありました。

Linux$ head -1 test.csv | tr "," "\12" | egrep -n "Machine MBytes"
35:"\\infra-esxi-07.go-lab.jp\Memory\Machine MBytes"

 

ここから列数のみを抽出します。

Linux$ head -1 test.csv | tr "," "\12" | egrep -n "Machine MBytes" | cut -d ":" -f 1
35

 

つまり、もとのコマンドラインはCSVの1列目と35列目を連結した結果です。

Linux$ cat test.csv | cut -d "," -f 1,35
"(PDH-CSV 4.0) (UTC)(0)","\\infra-esxi-07.go-lab.jp\Memory\Machine MBytes"
"04/20/2021 07:23:14","65370"
"04/20/2021 07:23:17","65370"

 

以上です。ご参考まで。

 

Reply
0 Kudos