WavefrontでPCFを監視してみる

Pivotal Cloud Foundry（PCF)をWavefront(Tanzu Observability)で監視するためのセットアップ時のメモです。

# 手順

まず、OpsManagerにWavefront by VMware Nozzle for PCFをインストールします。
すると、以下のようにMissing stemcellとでてきます。

<img width="1303" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666491/b11d4c24-587d-fe43-fc67-0412b21e57f8.png">

pivnet cliで必要なStemcellを見つけます。

```
% pivnet release-dependencies --product-slug='wavefront-nozzle' --release-version='2.1.2'
...
| 698176 |               250.201 |        233 | Pivotal Stemcells (Ubuntu      |
|        |                       |            | Xenial)                        |
```

上記によるとproduct 233のバージョン250.201が最新とわかりました。
されにProduct番号を探ります。

```
% pivnet product-files -p 233 -r 250.201
...
| 740609 | Ubuntu Xenial Stemcell for     |      250.201 | Software            | b148cfaba9d5d33e1a4d59f0336103012bbdcd1414ae2caeb40cf8d36f80d19a | product-files/stemcells-ubuntu-xenial/bosh-stemcell-250.201-vsphere-esxi-ubuntu-xenial-go_agent.tgz        |
|        | vSphere 250.201                |              |                     |                                                                  |                                                                                                            |
```

私の環境では、vSphere用が必要なのでダウンロードします。

```
% pivnet download-product-files -p 233 -r 250.201 -i 740609
2020/07/29 10:37:36 Downloading 'bosh-stemcell-250.201-vsphere-esxi-ubuntu-xenial-go_agent.tgz' to 'bosh-stemcell-250.201-vsphere-esxi-ubuntu-xenial-go_agent.tgz'
 361.91 MiB / 549.44 MiB [=========================>------------]  65.87% 00m22s
```
ダウンロード完了したらOpsManagerにもう一度、ログインしてStemCellをインストールします。

<img width="759" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666491/06ba1049-ff75-4b7c-7612-9ef3d2475f99.png">

次にWavefront用のユーザーを作成します。

```
% uaac target https://XXXXXX --skip-ssl-validation

% uaac  token client get admin -s "XXXXXX"

% uaac -t user add wavefront-nozzle --password PASSWORD --emails na

% uaac -t member add cloud_controller.admin_read_only wavefront-nozzle
```

Wavefrontの設定をします。
まずデプロイ先のネットワークを選択します。

<img width="726" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666491/1b9ce912-3bcf-c28b-db39-424680f3ba3f.png">

次に接続用の情報を入力します。

<img width="646" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666491/7c5969a1-3ecb-d03f-f21f-31bca3bc9f93.png">

Wavefront Nozzleには先ほど作成したユーザー情報などを埋め込んでいきます。
<img width="630" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666491/723b4456-7ade-85cd-bfa3-9831878b4411.png">


すべてセーブしたら、OpsManagerからデプロイを開始します。

<img width="1183" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666491/83459af9-7f6f-12f0-5137-6f00de5ad1f6.png">

インストール手順はシンプルなものでここまでです。
しばらくすると、いかのようにWavefrontでみえるようになります。


<img width="1256" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666491/90eae09e-8121-8a03-9ffc-72434e8b927e.png">

# Bindサービスとして、アプリから利用

Wavefront Proxyをインストールすると、Bindサービスとしてアプリ側から利用することもできます。
この場合、BindサービスからProxyの接続情報がみえるようになります。これを利用することでアプリケーションのメトリックスをWavefrontに送ることができます。


<img width="658" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666491/e8384022-667e-4431-3283-cc9c681bac83.png">
<img width="675" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666491/73cd74c9-674a-50c2-3565-30846689575f.png">

<img width="758" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666491/b9e8ae2f-cf30-174b-8b57-3bd305835754.png">

# まとめ

WavefrontとPCFは簡単に接続できます。