Turbonomic のOpenShiftへのインストール (Instana連携編）

# 1. はじめに
本投稿では、TurbonomicをInstanaに接続し、TurbonomicがInstanaが取得したメトリックを収集して、
OpenShiftクラスターで動作するPodのリソース管理を行うための設定を行います。

- [Turbonomic](https://www.turbonomic.com/)はアプリケーション・リソース管理(ARM)ツールで
アプリケーション、インフラストラクチャを検出、監視を行います。 リソースの使用状況に応じて、　リソースの増減を提案・自動変更を行うことができます。 また、リソース使用量・クラウドの利用料金を使ったWhat-if分析を用いたコストの最適化レポートがダッシュボードで表示されるので、視覚的にどれくらいコスト削減できるのかがわかる機能もあります。

- [Instana](https://www.instana.com/): アプリケーション・パフォーマンス管理(APM)ツールの１つで
サービスに問題が発生した時に、インフラからアプリまでの依存関係を視覚化し、どこのサービスで、ソースコードの何行目が問題があるのか原因究明コストを大幅に削減できるのが特徴なツールです。

### なぜ、TurbonomicとInstanaの連携が必要なのか？
Turbonomicは１０分単位、 Instanaは、１秒単位でメトリクス取得になってます。
InstanaはAPM(アプリケーション・パフォーマンス・モニタリング）製品なので、Turbonomicの取得する全てのメトリクス(アプリからインフラ[仮想・物理・ストレージなど]）は網羅しませんが、TurbonomicとInstanaを連携することで、細かい粒度で、意思決定することができます。

# 2. 前提条件
この投稿を実行する為には、Qiita記事「 [Turbonomic のOpenShiftへのインストール Operator版](https://qiita.com/daihiraoka/items/d9ee4ea61d18b85c8dfc)」 でTurbonomicのインストールが必要です。

#3. 手順
１． Turbonomicのコンソール画面で "SETTINGS"、"NEW TARGET"の順番にクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/452f6018-45de-9015-28a3-a74f82be5fdb.png)

２．Choose Taget Categoryで"Applications and Database"をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/3cb3f15c-8a91-381b-69f1-5a881f97db96.png)

３．"Instana"をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/90a7ce23-70e8-e59e-7281-09e76d6e31a0.png)

４．EDIT Instana Tagetにて、赤枠の"HOSTNAME OR IP ADDRESS"に Instanaの管理コーンソールのFQDN、"API TOKEN"は、Instanaの管理コンソールで作成した API TOKENを入力して、"SAVE"ボタンをクリックして保存します。
（補足）Instana管理コンソール > Settings > Team Settings > API Token > Add API Token で作成したもの。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/ac26873f-dad2-690c-0061-86d65f868c54.png)

５．これで、TurbonomicでInstanaのメトリック情報が取得できるようになりました。例えば、下記画像で表示されている
３つのBusiness Applications名の下に、赤線を引いている箇所で Instanaと表示されているものが、Instanaがデーターソースのアプリケーションになります。
また、この段階で、 "Pending Actions"では、 Turbonomicが Instanaのメトリックを基に、VCPUのRequests、Limit、VMemの変更の提案を表示しています。　これらの機能は、また別投稿で記述したいと思います。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/e73ab2a6-42a9-4cc1-3d96-c60c9662de13.png)

６．左上の赤枠の"on"をクリックして、Turbonomicが取得している情報のサマリーが表示されます。
左側のツリー構造の図では、上から下へアプリケーション、Service、Container、VirtualMachine、 Container Clustomr、Volume（ストレージ）と関連性と状態を緑・赤・黄で表しています。
右側では、アプリケーションのサマリーが表示され、赤枠の"tok04-bee-travels"をクリックすると

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/d8ed742f-ab1b-517b-8f10-3a0b0f8374ce.png)

７．Instanaから取得した"tok04-bee-travels"のメトリック情報が、図で表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/bac4d985-065c-1291-52de-5175c595807c.png)

８．そして、左下の赤枠 "Container Clustonr"をクリックすると今回は、Turbonomicを導入したOpenShiftクラスタのメトリックが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/34c939f7-4101-1504-9ba6-fb6a007efc3a.png)

# ４. 最後に
TurbonomicとInstanaと連携する事によって、 TurbonomicはInstanaが取得するすべてのメトリックを取得できるようになりました。
これは、Turbonomicが導入していない環境でも、Instanaがメトリックを取得している環境ならば、 Turbonomicでメトリックを表示する事ができるということです。

また、最初にも書きましたが、Turbonomicは１０分単位、 Instanaは、１秒単位でメトリクス取得なので
InstanaはAPM(アプリケーション・パフォーマンス・モニタリング）製品なので、Turbonomicの取得する全てのメトリクスは網羅しませんが、TurbonomicとInstanaを連携することで、細かい粒度で、意思決定することができるようになります。

次の投稿からは、今回導入した環境を使って、
Turbonomicを使ったOpenShiftクラスタ上で動作するPodのリソース管理・配置を試したいと思います。