vSAN Observerのオフラインバンドル取得について
"名前は聞いたことある"という方も多い vSAN Observer について、
備忘録を兼ねて採取手順をメモしておきます。
実行環境
■ ESXi, vCenter 6.7 U3
※ vSAN observerはvCenterにバンドルされているため、
ツールを新規インストールする必要はありません。
■ バンドル閲覧ブラウザ:Opera browser
採取手順
vSAN Observerをバンドル化し手元の環境で閲覧するためには
RVC (Ruby vSphere Console) からの操作が必要となります。
(vSAN Informationバンドル等もRVCから取得可能ですね。)
まずは通常の手順でRVCにログイン。
(RVCにログインできない際、多くの場合は末尾の"@localhost" 忘れによるものなので
普段RVCに積極的にログインしない方は気をつけておきましょう)
今更いいかなとも思いましたが、RVCにログインすると、数字を選択していくことで配下のディレクトリに
移動することができます。
これから実行するコマンドはログイン直後のディレクトリでもpathが通っているので、
特段特殊なアクションは必要ないです。
実際にコマンドの入力と、出力される直後は以下のような感じです。
このオプションについては
> vsan.observer localhost/<DC名>/computers/<vSAN Cluster名> となりますが
太字部分の "localhost" , "computers" は通常の環境であれば固定になります。
DC名とクラスタ名は何を入れればいいか...参考程度にGUIでキャプチャしてきました。
検証した手持ちの環境の場合、DC名 = "test-DC" , Clsuter名 = "test-vSAN" となります。
オプションで指定している "--run-webserver" ですが、これは単に"リアルタイム取得" を示しています。
多くの場合はこのオプションを付けての採取になるかなーと思います。
"--force" はイメージそのまま、エラーが出ても採取を続ける選択肢です。
"-g" は HTMLバンドルとしてエクスポートする選択肢になります。
今回はvSAN上で採取したものを手持ちの管理端末で閲覧したかった為、この選択肢を追加しています。
※ 余談ですが非省略形は"--generate-html-bundle"
今回入力した "-g /tmp" というオプションは
"今回の採取結果をHTMLバンドル化し、vCenter上の/tmpに保存する" という意味合いになります。
"--interval" はイメージ通り、採取調査間隔となります。
指定する数値は <sec> 単位となります。
※ 今回指定している "--interval 15" は "15秒おきのスポット取得" となります。
今回は指定していないですが、"--max-runtime" オプションを入力する事で
最大何時間採取するかを指定することが可能です。
指定する数値は <hour> 単位となります。
※ 後述しますがリアルタイム統計採取はいつでも中断が可能な上、
デフォルト(オプション無し) では2時間の採取となるので、特殊な状況でない限りは
あまり指定しなくていいかなと...。
ちなみに "-e" を指定すると、明示的にユーザが採取を止めるまで無限に採取を続けます。
このオプションを指定する必要がある場合はくれぐれも中断忘れにご注意を...。
実際に取得を始めると、おおよそ事前に指定したIntervalおきに、
以下のような感じで取得が進みます。
採取終了方法は "Ctrl + C" の入力です( CLI上にも都度都度その旨が表示されます)。
※ 中断されると、その時点までのログバンドルが作成されます。
中断するとHTML化がキャンセルされるわけではありません。
以下、Ctrl+Cを押下した後の出力。
※ Ctrl + C押下がわかりにくかったので赤枠で囲んでます。
プロンプトが戻ってくる直前の最終行に、ログの保管場所が指定されていることがわかります。
ちなみにご経験された事にある方も多いと思いますが、vCSAのAppliance Shellはデフォルトで
WinSCPなどが使えません。
vCSA上でBASHシェルをデフォルト化するなど対処策も多く共有がされていますが、
今回私は vCSA > ESXiへSCPコマンドでバンドルを送付し、
Host Client GUIからダウンロードしています。
今回のように小さいファイルであれば、BASHシェルをデフォルト化するよりも工数が少ないので
Tips程度のテクニックですが覚えておいて損は無いと思います。
管理端末まで引っ張ってきた後に解凍すると、以下のようなファイル群が見受けられます。
(今回私は数分間のテスト実行でしたので、一般的にはこれより大きなサイズになるかと思います。)
フォルダの中に存在する"stats.html"をブラウザで読み込ませるとグラフが出てくるようになります。
が、残念ながらデフォルト設定のままでは、多くのブラウザでグラフが出てこないと思います。
読み込ませる手順として、Google Chromeや今回使用したOpera Browserでは
以下のようにブラウザを開く事でグラフを閲覧する事が可能になります。
(Users配下のブラウザは都合により黒塗りしています。)
キーとなるのが "--allow-file-access-from-files" の追加です。
これで開かれたブラウザに対してstats.htmlファイルを読み込ませると...
無事にグラフが出てきました。
ちなみに”Full size graphs”を押してみると、さらに見やすいグラフで出てきます。
実際にグラフを見てみるとIOPSやLatency、Outstanding IOなどのパフォーマンス項目ばかりなので
トラブルシュートとして使用されることは少ないかなと思いますが、
異常が起きた際の再現テスト時などに裏でObserverを動かしておくと
解決の糸口が見つかるかもしれませんね。