3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Instanaのカスタムダッシュボードで複数の仮想マシンのメトリックを比較する

Last updated at Posted at 2025-11-19

はじめに

Instanaでは標準のダッシュボードでインフラのメトリックをグラフで確認することが可能です。

例:仮想マシンAの直近1時間のCPU負荷
image.png

しかし、グラフのスケール(最大値)は動的に変わるため、例の仮想マシンAのCPU負荷では 0.46 が最大値として表示されていますが、別の仮想マシンBを見てみると 0.16 となっています。

例:仮想マシンBの直近1時間のCPU負荷
image.png

例として別の仮想マシンを題材としましたが、同じ仮想マシンでも別の時間帯を参照してみると使用率の上限が変わることもあります。

例:仮想マシンAの直近12時間のCPU負荷
image.png
最大値が0.74になっていますね

これでは「複数のマシンのグラフを並べて参照したい」「先週の値との違いを確認したい」と言った場合、縦軸のスケールが異なるので比較がしにくいです。

そんな時には、カスタムダッシュボードを使うことで解決できるので、設定例を交えてご紹介します。

やってみよう

今回使用する仮想マシン

今回は以下の仮想マシンのメトリックを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

image.png

カスタムダッシュボードの作成

メニュー > カスタム・ダッシュボード から、[作成 ダッシュボード+]をクリックします。
image.png

ダッシュボードの名前を入力して、[作成]をクリックします。
image.png

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

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

データ・セットには、使用するメトリックや、データソースの絞り込み条件、グルーピング条件などを指定します。
ここでは冒頭の例で出したCPU負荷のダッシュボードを作成してみましょう。

項目 設定値 補足
データ・ソース インフラストラクチャ&プラットフォーム
メトリック Others > Host > Load
集約 最大 平均やnパーセンタイルなど、グラフで表示したい値を指定してください。
フィルター Other > Zone = alex OR Othe > Zone = japan-demo ゾーン指定で楽をしていますが、仮想マシンのFQDNで絞り込むなども可能です。
また、ANDやORを使用することで複雑な絞り込みも可能です。
グループ Host > name グルーピングの条件を指定します。
今回は仮想マシンごとのCPU負荷を表示したいので、ホスト名を指定します。
上位5件 対象がVM5台だけなのでデフォルトの上位5件のまま。
必要に応じて20件など指定してください。
タイム・シフト このデータ系列にタイムシフトを適用 : ON ONの場合 : 前日や先週など過去の値がグラフに表示されます。
OFFの場合 : 現在値が表示されます。
先週
現行値の表示 : ON タイムシフトをONにすると、現行値を表示するかが指定可能になります。
ONの場合 : グラフに現在の値と、過去の値が一緒に表示されます。
OFFの場合 : 過去の値のみが表示されます。
名前 CPU負荷 グラフにプロットするデータセットの名前を変更したい場合は指定します。
※CPU負荷 xxxのように表示されます。
image.png

設定し切るとこの様になります。
image.png

次に軸の構成を指定します。

項目 設定値 補足
グラフ 折れ線
フォーマッター 数値。例: 42.15 小数点以下まで表示する場合はこちら。
最小 0 グラフの縦軸のスケールを指定します。
0(0%)〜1(100%)
最大 1 同上。
今回は0〜100%の間でプロットします。

image.png

ウィジェット名を入力して、プレビューを確認します。
問題なく仮想マシン5台分のCPU負荷が現在の値・先週の値ともに表示されていますね。
問題なければ、[作成]をクリックします。
image.png

ダッシュボードにウィジェットが追加されました。
image.png

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

小ネタ
ダッシュボード上部のフィルターを設定することで、ウィジェット内で表示するデータを絞り込むことが可能です。
普段はalexjapan-demoというゾーンに属する仮想マシンを表示していますが、一時的にalexに属する仮想マシンだけをみたい…と言った時に使えますね。
image.png

カスタムダッシュボードの公開

カスタムダッシュボードは作成時、Privateなボードとして作成され、作成者のみ参照が可能な状態です。
他のメンバーも参照可能にしたい場合はPublicに変更しましょう。

画面右上の3点リーダーから[アクセス権の編集]をクリックします。
image.png

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

[変更の保存]を忘れずにクリックします。
image.png

保存が完了すると、PrivateからSharedに変わっています。
これで他のメンバーもこのダッシュボードを参照可能になりました。
image.pngimage.png

さいごに

複数のメトリックを同じスケールで確認できる様にしたい場合のダッシュボードの作成方法をご紹介しましたがいかがでしたか?

実はカスタムダッシュボードはJSONでも作成・編集できます。(以下画像より)
そのため、誰かが作ったダッシュボードのJSONを貰えば、別のInstanaに流用することがとても簡単にできますし、Gitなどのツールを使えば変更管理などもできちゃったりします。
image.pngimage.png

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
}
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?