このエピソードの続き。
ESXiをUSBメモリからブート
ESXi監視で大ハマリ (1) - RAIDを構築
ESXi監視で大ハマリ (2) - 警告ランプで監視
ESXi監視で大ハマリ (3) - コマンドで監視(A)
ESXi監視で大ハマリ (4) - コマンドで監視(B)
ESXi監視で大ハマリ (5) - DELLツールで監視(A)
ESXi監視で大ハマリ (6) - DELLツールで監視(B)
ESXi監視で大ハマリ (7) - あとがき(A)
ESXi監視で大ハマリ (8) - あとがき(B)
ESXi監視で大ハマリ (9) - コマンドで監視(C)
ESXi監視で大ハマリ (10) - コマンドで監視(D)
ESXi監視で大ハマリ (11) - コマンドで監視(E)
もうひとつアイデアを出しておこうと思う。
ESXi へは、https でもアクセスできる。
以下のページにアクセスして、IDとパスワードを入力すると…
https://(ESXi)/
以下のようなページが表示される。
WELCOMEページが表示がされるという事は、おそらくHTMLファイルが存在しているであろうとアタリを付け、ESXiのディスクを探索してみる。
# find / -type f -name "*.html"
/usr/lib/vmware/hostd/docroot/index.html
あった。「/usr/lib/vmware/hostd/docroot/」の配下だ。
ここにファイルを置けば、https経由で情報を取れるのではないか。
# cd /usr/lib/vmware/hostd/docroot
# mkdir disk
# esxcli storage core device smart get -d ***** > disk/ata-status.txt
監視サーバからアクセスしてみる。
$ wget -q --no-check-certificate --http-user=root --http-password=***** https://(ESXi)/disk/ata-status.txt
$ cat ata-status.txt
Parameter Value Threshold Worst
---------------------------- ----- --------- -----
Health Status OK N/A N/A
Media Wearout Indicator N/A N/A N/A
Write Error Count N/A N/A N/A
Read Error Count 80 44 63
Power-on Hours 63 0 63
Power Cycle Count 100 20 100
Reallocated Sector Count 100 36 100
Raw Read Error Rate 80 44 63
Drive Temperature 39 0 44
Driver Rated Max Temperature 61 45 56
Write Sectors TOT Count 200 0 200
Read Sectors TOT Count N/A N/A N/A
Initial Bad Block Count 100 99 100
取れた!
WEB経由でも取得する事ができた。
ちなみに、以下のページアクセスすると…
https://(ESXi)/host
以下のようなページが表示され、ログや設定情報を参照する事ができる。
この情報ページに組み込むこともできるようだ。
このページに表示されている情報は、以下のファイルにに定義されている。
/etc/vmware/hostd/webAccessibleConfigFiles.xml
このファイルに定義を追加する。
<configFileInfo>
<uriReference>/host/disk-status-raid</uriReference>
<path>/*****/disk-status-raid.txt</path>
<displayName>Disk Status (RAID DISK)</displayName>
<mimeType>text/plain</mimeType>
<method>GET</method>
<method>HEAD</method>
<method>PUT</method>
</configFileInfo>
<configFileInfo>
<uriReference>/host/disk-status-ata</uriReference>
<path>/*****/disk-status-ata.txt</path>
<displayName>Disk Status (ATA DISK)</displayName>
<mimeType>text/plain</mimeType>
<method>GET</method>
<method>HEAD</method>
<method>PUT</method>
</configFileInfo>
サーバを再起動する。
# /etc/init.d/hostd restart
情報ページにアクセスする。
https://(ESXi)/host
定義した「Disk Status (RAID DISK)」と「Disk Status (ATA DISK)」が表示されている。
クリックすると、内容も表示される。
これにより、https経由でESXiから情報をダウンロードする事ができる。
更に、CGIも探してみる。
あった。CGIは「/usr/lib/vmware/hostd/cgi-bin/」の配下だ。
# find / -type f -name "*.cgi"
/usr/lib/vmware/hostd/cgi-bin/esxcli.cgi
/usr/lib/vmware/hostd/cgi-bin/esxcfg-info.cgi
/usr/lib/vmware/hostd/cgi-bin/vm-support.cgi
今回は試していないが、CGIでスクリプトを実行し、動的に状態を生成する事も可能だろう。
もしかしたら、ESXi側から他のサーバに情報をWEB経由でプッシュする事も可能かもしれない。
機会があったら試してみようと思う。
一連記事: