はじめに
Instanaでは標準のダッシュボードでインフラのメトリックをグラフで確認することが可能です。
しかし、グラフのスケール(最大値)は動的に変わるため、例の仮想マシンAのCPU負荷では 0.46 が最大値として表示されていますが、別の仮想マシンBを見てみると 0.16 となっています。
例として別の仮想マシンを題材としましたが、同じ仮想マシンでも別の時間帯を参照してみると使用率の上限が変わることもあります。
これでは「複数のマシンのグラフを並べて参照したい」「先週の値との違いを確認したい」と言った場合、縦軸のスケールが異なるので比較がしにくいです。
そんな時には、カスタムダッシュボードを使うことで解決できるので、設定例を交えてご紹介します。
やってみよう
今回使用する仮想マシン
今回は以下の仮想マシンのメトリックを1つの表で確認してみます。
| Zone | ホスト |
|---|---|
| alex | rhel-mq31.fyre.ibm.com |
| alex | rhel-mq941.fyre.ibm.com |
| japan-demo | itzvsi-3100008gyq-cysv1nbj |
| japan-demo | itzvsi-3100008gyq-dhuh5a1h |
| japan-demo | itzvsi-3100008gyq-nwy2ldrk |
カスタムダッシュボードの作成
メニュー > カスタム・ダッシュボード から、[作成 ダッシュボード+]をクリックします。

ダッシュボードが作成されたら、画面右上の[ウィジェットの追加+]をクリックします。

ウィジェットの種類は チャート: 時系列 を選択し、[次へ]をクリックします。

データ・セットには、使用するメトリックや、データソースの絞り込み条件、グルーピング条件などを指定します。
ここでは冒頭の例で出したCPU負荷のダッシュボードを作成してみましょう。
次に軸の構成を指定します。
| 項目 | 設定値 | 補足 |
|---|---|---|
| グラフ | 折れ線 | |
| フォーマッター | 数値。例: 42.15 | 小数点以下まで表示する場合はこちら。 |
| 最小 | 0 | グラフの縦軸のスケールを指定します。 0(0%)〜1(100%) |
| 最大 | 1 | 同上。 今回は0〜100%の間でプロットします。 |
ウィジェット名を入力して、プレビューを確認します。
問題なく仮想マシン5台分のCPU負荷が現在の値・先週の値ともに表示されていますね。
問題なければ、[作成]をクリックします。

必要に応じてウィジェットのサイズを右下をドラッグ&ドロップして変更しましょう。
[変更の保存]はお忘れなく。

カスタムダッシュボードの公開
カスタムダッシュボードは作成時、Privateなボードとして作成され、作成者のみ参照が可能な状態です。
他のメンバーも参照可能にしたい場合はPublicに変更しましょう。
画面右上の3点リーダーから[アクセス権の編集]をクリックします。

アクセス権を パブリック・ダッシュボード に変更して[保存]をクリックします。
※ダッシュボードの編集者を追加したい場合は編集者の追加で追加しましょう。

保存が完了すると、PrivateからSharedに変わっています。
これで他のメンバーもこのダッシュボードを参照可能になりました。
→ 
さいごに
複数のメトリックを同じスケールで確認できる様にしたい場合のダッシュボードの作成方法をご紹介しましたがいかがでしたか?
実はカスタムダッシュボードはJSONでも作成・編集できます。(以下画像より)
そのため、誰かが作ったダッシュボードのJSONを貰えば、別のInstanaに流用することがとても簡単にできますし、Gitなどのツールを使えば変更管理などもできちゃったりします。


IaC化が進んでいる場合は、以下の記事のようにTerraformでカスタムダッシュボードを作ってみる。というのも面白いですね。
参考程度に今回作成したダッシュボードのJSONファイルを貼り付けてこの記事はおわりにします。
それではみなさん、良いInstanaライフを!
{
"rbacTags": [],
"accessRules": [
{
"accessType": "READ_WRITE",
"relationType": "USER",
"relatedId": "63d894bbd328ec0001795091"
},
{
"accessType": "READ",
"relationType": "GLOBAL",
"relatedId": ""
}
],
"id": "l7RDM6JOTseJUxfzYZjNNQ",
"title": "Qiita Sample",
"widgets": [
{
"width": 7,
"x": 0,
"y": 0,
"id": "L11bkTV7PNe_ZKVw",
"title": "仮想マシンごとのCPU負荷(先週比)",
"type": "chart",
"config": {
"shareMaxAxisDomain": false,
"y1": {
"formatter": "number.detailed",
"renderer": "line",
"min": 0,
"max": 1,
"metrics": [
{
"lastValue": false,
"color": "",
"compareToTimeShifted": true,
"threshold": {
"critical": "",
"warning": "",
"thresholdEnabled": false,
"operator": ">="
},
"aggregation": "MAX",
"label": "CPU負荷",
"source": "INFRASTRUCTURE_METRICS",
"type": "host",
"metricPath": [
"Others",
"Host"
],
"grouping": [
{
"maxResults": 5,
"by": {
"tagDefinition": {
"path": [
{
"label": "Host"
},
{
"label": "name"
}
],
"name": "host.name",
"availability": [],
"type": "STRING"
},
"groupbyTag": "host.name",
"groupbyTagEntity": "NOT_APPLICABLE",
"groupbyTagSecondLevelKey": ""
},
"includeOthers": false,
"direction": "DESC"
}
],
"formatter": "number.compact",
"unit": "number",
"metric": "load.1min",
"timeShift": -604800000,
"tagFilterExpression": {
"logicalOperator": "OR",
"elements": [
{
"tagDefinition": {
"path": [
{
"label": "Other"
},
{
"label": "zone"
}
],
"name": "zone",
"availability": [],
"type": "STRING"
},
"name": "zone",
"type": "TAG_FILTER",
"value": "alex",
"entity": "NOT_APPLICABLE",
"operator": "EQUALS"
},
{
"tagDefinition": {
"path": [
{
"label": "Other"
},
{
"label": "zone"
}
],
"name": "zone",
"availability": [],
"type": "STRING"
},
"name": "zone",
"type": "TAG_FILTER",
"value": "japan-demo",
"entity": "NOT_APPLICABLE",
"operator": "EQUALS"
}
],
"type": "EXPRESSION"
},
"allowedCrossSeriesAggregations": [],
"metricLabel": "Load",
"crossSeriesAggregation": "MAX"
}
],
"formatterSelected": false
},
"y2": {
"formatter": "number.detailed",
"renderer": "line",
"metrics": []
},
"type": "TIME_SERIES"
},
"height": 20
}
],
"ownerId": "63d894bbd328ec0001795091",
"writable": true
}










