管理プラグインがデプロイされてターゲット・インスタンスが作成されると、基本的なデフォルトのターゲット・ホームページが自動的に生成されます。管理プラグインのフレームワークによって、パフォーマンスおよび構成データをグラフ(円、棒および時系列)を使用して表示できるため、このページの有用性が向上します。グラフをターゲット・ホームページに追加することで、ターゲットに関する主要な監視情報を直観的な読みやすい形式で表示できます。また、管理者はターゲット・インスタンスを簡単に監視および管理できます。グラフの追加によって、特殊なレポートの作成が不要になる場合もあります。
この章の内容は次のとおりです。
デフォルトのターゲット・ホームページでは、「可用性」、「稼働中」/「停止中」ステータス、および「アラート」などのターゲット・ステータスに関する基本情報が提供されます。管理プラグインが提供する監視サポートのレベルに応じて、その他のセクションが表示される場合があります。ほとんどすべての情報が表形式になっています。
ターゲット・ホームページにグラフを追加すると、Enterprise Managerレポートに通常、表示されるグラフィカルな基本情報をターゲット・ホームページで簡単に入手できます。
グラフ定義のXMLファイルを管理プラグイン・アーカイブに追加することで、任意の数のグラフ(円、棒および時系列)をターゲット・ホームページに指定できるようになります。
他の管理プラグイン・ファイルと同様に、ホームページのグラフ・ファイルの定義に使用されるXMLは簡潔で比較的コンパクトです。このファイルは、ターゲットに対するメトリックまたはSQLデータソースを使用したグラフのレンダリングに使用される、メタデータを定義します。
ホームページのグラフ・ファイル構造
例に示されているように、ホームページのグラフ定義ファイルの基本構造は、ターゲット・ホームページ上のグラフ位置に従って構成されます。1つのグラフは、ページの最上部の、一般情報リージョンの右側に表示される場合があります(TopPane)。この領域の真下にレンダリングされる行には、任意の数のグラフを表示できます(MiddlePane)。
追加できるグラフの数に技術的な制限はありませんが、実質的には、MiddlePaneに適切に表示できるグラフの数は多くても3〜4個です。
ホームページのグラフ・ファイルは、XMLファイルをプラグインのグラフ定義ファイルとして認識するため、先頭行と最終行をHomepageChartsタグにする必要があります。次のサンプルに示すように、先頭行のHomepageChartsタグではTARGET_TYPEプロパティを指定する必要があります。このプロパティは、管理プラグインのターゲット・タイプ・メタデータ・ファイルにある、TargetMetadataタグのTYPEパラメータで定義されるターゲット・タイプです。ターゲット・タイプ・メタデータ・ファイルの詳細は、「ターゲット定義ファイル」を参照してください。
<HomepageCharts TARGET_TYPE="my_plugin_target_type"> ...</HomepageCharts>
先頭行と最終行のHomepageChartsタグの間でグラフを定義し、オプションとして、グラフをターゲット・ホームページに表示する場合をChartSetタグを使用して定義します。ChartSetタグは、ターゲット・ホームページにレンダリングされるすべてのグラフのコンテナとして機能します。ホームページのグラフ定義ファイル内では複数のChartSetコンテナを定義できます。オプションのMETA_VERパラメータの使用によって、特定のバージョンの管理プラグイン・ターゲット・タイプに対してターゲット・ホームページでレンダリングされるように、各種のグラフ・セットを指定する(またはグラフをまったく指定しない)ことができます。3つの実装可能なChartSetタグを次に示します。
<HomepageCharts TARGET_TYPE="my_plugin_target_type"> <ChartSet META_VER="1.0"> ... </ChartSet> <ChartSet> ... </ChartSet> <ChartSet META_VER="2.0"/> </HomepageCharts>
この例の中で、実装された各ChartSetタグは次のように動作します。
<ChartSet META_VER="1.0">
このセットで定義されたグラフは、バージョン1.0の管理プラグインのターゲット・タイプに対してターゲット・ホームページに表示されます。
<ChartSet>
このセットで定義されたグラフは、バージョン1.0またはバージョン2.0ではない、すべての管理プラグインのターゲット・タイプに対してターゲット・ホームページに表示されます(デフォルトで表示されるグラフ)。
<ChartSet META_VER="2.0" />
バージョン2.0の管理プラグインのターゲット・タイプに対して、ターゲット・ホームページに表示されるグラフはありません。
各ChartSetブロックには、TopPaneとMiddlePaneの2つの位置にグラフを定義するオプションがあります。TopPaneは「一般」メトリック・セクションの横にある、ターゲット・ホームページの最上部の右側を示します。この領域に表示できるグラフは1つのみです。MiddlePaneはこの領域の真下にある行を示します。どちらかの領域、または両方の領域のグラフを定義できます。
<HomepageCharts TARGET_TYPE="my_plugin_target_type"> <ChartSet> <TopPane> ... </TopPane> <MiddlePane> ... </MiddlePane> </ChartSet> </HomepageCharts>
グラフを表示する場合と位置を決定したら、実際のグラフを定義する必要があります。各ペインの中で、Chartタグを使用して、レンダリングされるグラフのタイプ、グラフ属性、およびグラフのレンダリングに必要なデータ取得メソッドを指定します。
<HomepageCharts TARGET_TYPE="my_plugin_target_type"> <ChartSet> <TopPane> <Chart TYPE="timeSeriesChart"> ... </Chart> </TopPane> <MiddlePane> <Chart TYPE="pieChart"> ... </Chart> <Chart TYPE="barChart"> ... </Chart> </MiddlePane> </ChartSet> </HomepageCharts>
例に示されているように、各Chartタグは次のいずれかのTYPEプロパティを指定する必要があります。このプロパティは、ターゲット・ホームページにレンダリングされるグラフのタイプ(円、時系列、棒)を定義します。
timeSeriesChart
pieChart
barChart
次の例ではVMwareターゲット・タイプに対するグラフの実装を示します。図3-5に示されているように、stacked、timeGranularity、shadowEffect、xAxisLabel、yAxisLabelなどの幅広いオプションのグラフ・プロパティを利用して、棒グラフと時系列グラフの両方が作成されています。グラフの定義に使用されたコードを例3-1に示します。
例3-1 VMwareに対するホームページのグラフのXML
<HomepageCharts TARGET_TYPE="vmware_esx_server"> <ChartSet> <TopPane> <Chart TYPE="timeSeriesChart"> <ChartProperty NAME="metric">HostSummCPU</ChartProperty> <ChartProperty NAME="column">host_cpu_usage</ChartProperty> <ChartProperty NAME="width">375</ChartProperty> <ChartProperty NAME="height">150</ChartProperty> <ChartProperty NAME="legendPosition">south</ChartProperty> <ChartProperty NAME="titleVisible">true</ChartProperty> <ChartProperty NAME="title">ESX CPU Usage</ChartProperty> <ChartProperty NAME="subtitle"> </ChartProperty> <ChartProperty NAME="destination">metricDetail</ChartProperty> <ChartProperty NAME="yAxisLabel">percent</ChartProperty> </Chart> </TopPane> <MiddlePane> <Chart TYPE="timeSeriesChart"> <ChartProperty NAME="metric">HostSummMem</ChartProperty> <ChartProperty NAME="column">host_mem_usage</ChartProperty> <ChartProperty NAME="width">375</ChartProperty> <ChartProperty NAME="height">150</ChartProperty> <ChartProperty NAME="legendPosition">south</ChartProperty> <ChartProperty NAME="titleVisible">true</ChartProperty> <ChartProperty NAME="title">ESX Memory Usage</ChartProperty> <ChartProperty NAME="subtitle"> </ChartProperty> <ChartProperty NAME="destination">metricDetail</ChartProperty> <ChartProperty NAME="timeGranularity">days</ChartProperty> </Chart> <Chart TYPE="barChart"> <ChartProperty NAME="sql">select vm, cpu_usage from (select key_value as vm, value as cpu_usage from mgmt$metric_current where metric_name = 'VMSummCPU' and metric_column = 'vm_virtual_cpu_usage' and target_guid = ??HC_TARGET_GUID?? order by to_number(value) desc) where rownum < 6</ChartProperty> <ChartProperty NAME="width">275</ChartProperty> <ChartProperty NAME="height">150</ChartProperty> <ChartProperty NAME="orientation">horizontal</ChartProperty> <ChartProperty NAME="titleVisible">true</ChartProperty> <ChartProperty NAME="title">Top 5 VM CPU Usage</ChartProperty> <ChartProperty NAME="legendPosition">south</ChartProperty> <ChartProperty NAME="barLegendLabel1">CPU Usage %</ChartProperty> <ChartProperty NAME="destination">reportTab</ChartProperty> <ChartProperty NAME="reportTitle">ESX Server CPU Usage</ChartProperty> <ChartProperty NAME="xAxisLabel">%</ChartProperty> <ChartProperty NAME="stacked">true</ChartProperty> </Chart> <Chart TYPE="barChart"> <ChartProperty NAME="sql">select vm, mem_usage from (select key_value as vm, value as mem_usage from mgmt$metric_current where metric_name = 'VMSummMem' and metric_column = 'vm_mem_usage' and target_guid = ??HC_TARGET_GUID?? order by to_number(value) desc) where rownum < 6</ChartProperty> <ChartProperty NAME="width">275</ChartProperty> <ChartProperty NAME="height">150</ChartProperty> <ChartProperty NAME="orientation">horizontal</ChartProperty> <ChartProperty NAME="titleVisible">true</ChartProperty> <ChartProperty NAME="title">Top 5 VM Memory Usage</ChartProperty> <ChartProperty NAME="legendPosition">south</ChartProperty> <ChartProperty NAME="barLegendLabel1">Memory Usage %</ChartProperty> <ChartProperty NAME="destination">reportTab</ChartProperty> <ChartProperty NAME="reportTitle">ESX Server Memory Usage</ChartProperty> <ChartProperty NAME="shadowEffect">3d</ChartProperty> </Chart> </MiddlePane> </ChartSet> </HomepageCharts>
先頭行と最終行のChartタグの間で、ChartPropertyタグを使用してグラフ・プロパティを指定することで、グラフがどのようにレンダリングされるかを定義します。次に例を示します。
<ChartProperty NAME="legendPosition">default</ChartProperty>
表示するグラフのタイプのレンダリングに必要な数のChartPropertyタグを指定できます。
次の表に、すべてのグラフ・タイプに適用されるグラフ・プロパティの一覧を示します。
重要: ChartProperty値では大文字/小文字が区別されます。 |
表3-1 グラフ・プロパティ
オプション | 必須 | 値 | デフォルト | 説明 |
---|---|---|---|---|
chartType |
はい |
pieChart barChart timeSeriesChart |
NA |
グラフの表示タイプ(棒、時系列または円)を定義します。 |
width |
いいえ |
NA |
グラフ図の幅を定義します。このプロパティが制御するのはグラフ図のサイズのみで、グラフとともにレンダリングされるその他の要素(タイトルやサブタイトルなど)は制御しません。 |
|
height |
いいえ |
NA |
グラフ図の高さを定義します。この属性が制御するのはグラフ図のサイズのみで、グラフとともにレンダリングされるその他の要素(タイトルやサブタイトルなど)は制御しません。 |
|
timeGranularity |
いいえ |
SECOND MINUTE HOUR DAY WEEK MONTH YEAR |
HOUR |
時系列グラフのデータの表示に使用される単位を定義します。 |
legendPosition |
いいえ |
円グラフの場合:
時系列グラフ/棒グラフの場合:
|
デフォルト |
グラフの位置を制御します。 |
legendVisible |
いいえ |
true/false/external |
true |
グラフの凡例を表示するかどうかを判断します。凡例を非表示にする場合はこのプロパティをfalseに設定します。凡例をグラフの境界外に配置する場合は、このプロパティをexternalに設定します。イメージのサイズを凡例のサイズとは別に制御する場合は、凡例をグラフの外側に配置します。externalの凡例は、テキストを切り捨てずにあらゆる長さの任意の数のエントリを含むことができます。legendVisible="external"と設定すると、最初のパスでイメージが生成されます。 |
legendWidthFraction |
いいえ |
> 0 <= 1 |
NA |
凡例によって使用される、グラフの幅全体に対する割合を指定します。デフォルトはありません。 |
legendHeightFraction |
いいえ |
> 0 <= 1 |
NA |
凡例によって使用される、グラフの高さ全体に対する割合を指定します。デフォルトはありません。 |
title |
いいえ |
テキスト |
NA |
グラフ図の上のヘッダー要素に表示されるタイトル文字列を定義します。 |
titleVisible |
いいえ |
true/false |
false |
グラフとともに作成されるタイトル(ヘッダー)の表示を無効にします。これによって、title属性を表示せずに指定することが可能になります。titleプロパティはADA準拠に必要です。 |
subtitle |
いいえ |
テキスト |
NA |
タイトルを含むヘッダー要素の真下にあり、グラフ図の上にあるサブタイトルに表示されるテキスト。 |
orientation |
いいえ |
horizontal vertical |
vertical |
グラフの表示方向を定義します。 有効値はhorizontalまたはverticalです。この属性は、chartType属性がbarChartまたはtimeSeriesChartに設定されている場合にのみ有効で、pieChartには影響しません。 |
shadowEffect |
いいえ |
none shadow 3d デフォルト |
デフォルト |
グラフを影付き、または3D効果で表示するかどうかを判断します。このプロパティは棒グラフおよび円グラフのみに適用されます。この属性には次の3種類の値を指定できます。
棒グラフのデフォルト設定はnoneで、円グラフのデフォルト設定は3dです。 |
noDataMessage |
いいえ |
テキスト |
現在使用できるデータはありません。 |
データソースから使用できるデータがない場合に、グラフの場所に表示されるメッセージを指定します。メッセージを指定しない場合は、デフォルト・メッセージの「使用可能なデータがありません」が表示されます。 データソースによって例外メッセージが生成された場合は、このメッセージのテキストがグラフ図の場所に表示されます。 |
sql |
いいえ |
有効なSQL |
グラフ生成用のデータの取得に使用されるSQL問合せを定義します。グラフのタイプに応じて、SQL問合せは次の列を返します。
注意: SQLテキストにXML構文の文字が含まれる場合は、SQLテキストをCDATAブロックに埋め込みます。また、SQL問合せでターゲット・インスタンスGUIDが必要な場合は、HC_TARGET_GUIDを使用できます。 |
|
axisMin |
いいえ |
Integer |
Y軸の最小値を定義します。 |
|
axisMax |
いいえ |
Integer |
Y軸の最大値を定義します。 |
|
xAxisLabel |
いいえ |
テキスト |
NA |
棒グラフおよび線グラフに対して、X軸(文字系列または時系列の軸)に沿って表示されるラベル。 |
showXAxisLabels |
いいえ |
true/false |
true |
X軸ラベルの表示を制御します。falseに設定すると、X軸の値の表示が無効になります(現在は棒グラフのみに適用されます)。 |
yAxisLabel |
いいえ |
テキスト |
NA |
棒グラフおよび線グラフに対して、Y軸(数値軸)に沿って表示されるラベル。 |
yAxisVisible |
いいえ |
true/false |
false |
Y軸の表示を無効にします。有効値はtrueまたはfalse(デフォルト)です。 |
destination |
いいえ |
metricDetail keyedMetricDetail reportTab |
グラフのハイパーリンクを定義します。詳細は「グラフから他の接続先へのリンク」を参照してください。 |
|
reportTitle |
いいえ |
テキスト |
NA |
ターゲットの「レポート」ページにあるドロップダウン・メニューのグラフ・タイトルのエントリを定義します。このプロパティは、 |
fill |
いいえ |
none absolute cumulative |
none |
線グラフの場合、fillによって、線と同じ色で線の下の領域を塗りつぶす(単色)ことができます。fillプロパティでは積上げ面グラフの作成も指定できます。 有効値:
fillプロパティを使用する際は、グラフ内のデータがcumulativeとabsoluteのどちらであるかについてユーザーが混乱しないようにしてください。 |
グラフ・タイプ固有のプロパティ
次の表に、3種類の各グラフ・タイプ(円、時系列および棒)に固有のグラフ・プロパティの一覧を示します。
表3-2 時系列グラフのプロパティ
オプション | 必須 | 値 | デフォルト | 説明 |
---|---|---|---|---|
metric |
はい |
テキスト |
NA |
メトリックおよび列を指定するか、SQL文が適切に書式設定されたデータを返す必要があります。 |
column |
はい |
テキスト |
NA |
|
yAxisWidth |
いいえ |
Y軸の幅を固定サイズにします。これによって、コール元が垂直方向に積み上げられた多数のグラフに同じ幅を指定できるため、軸が整列されます。 |
オプション | 必須 | 値 | デフォルト | 説明 |
---|---|---|---|---|
pieValuesInLegend |
いいえ |
value percent none |
none |
円スライスの値が円スライスのラベルとともに凡例に含まれるかどうかを定義します。この属性のデフォルト値はnoneです。percentまたはvalueを指定した場合は、数値が円スライス・ラベルとともに「円スライス・ラベル(数値)」という形式で表示されます。percentが指定されている場合は、すべてのスライス値の合計に対する割合が計算されて表示されます。それ以外の場合は、スライスのRAW値が表示されます。 pieValuesInLegendプロパティは、pieChart以外のchartTypesに対しては、またlegendVisible属性がfalseに設定されている場合は、無視されます。 |
pieSlicesFromColumn |
いいえ |
true/false |
false |
円グラフでの表示のため、データをデータソースからどのように取得するかを判断します。詳細は「グラフから他の接続先へのリンク」を参照してください。この属性は、pieChart以外のchartTypesに対しては無視されます。 |
showSlicePercentLabels |
いいえ |
true/false |
false |
各スライスに割合値でラベルが付けられるかどうかを判断します。このプロパティは、pieChart以外のchartTypesに対しては無視されます。 |
showSliceValueLabels |
いいえ |
true/false |
false |
各スライスにそのスライスのRAW数値でラベルが付けられるかどうかを判断します。この属性は、pieChart以外のchartTypesに対しては無視されます。 |
hideZeroSlices |
いいえ |
true/false |
false |
このプロパティがtrueに設定されていると、値ゼロのスライスに対する凡例からエントリを削除します。 |
ターゲット・ホームページに表示されるグラフはすべて、詳細情報を示す別の接続先にリンクすることができます。これによって、ユーザーは簡単に関連情報にドリルダウン・アクセスできるようになります。
グラフからのリンクを可能にするには、destination
グラフ・プロパティを設定します。管理プラグインのフレームワークでは、3つの接続先のいずれかにグラフをリンクできます。
keyedMetricDetail: キーを使用するメトリックに対する「メトリック詳細」ページにグラフをリンクします。各キーの値を示す表が表示されます。
reportTab: ターゲットの「レポート」ページ(「レポート」サブタブ)に表示するため、登録済の管理プラグイン用に開発されたレポートにグラフをリンクします。レポートを表示するには、管理者が登録されている必要があります。
次の例では、レスポンスの「メトリック詳細」ページにリンクされる時系列グラフを実装します。
<Chart TYPE="timeSeriesChart"> <ChartProperty NAME="metric">Response</ChartProperty> <ChartProperty NAME="column">Load</ChartProperty> <ChartProperty NAME="width">300</ChartProperty> <ChartProperty NAME="height">150</ChartProperty> <ChartProperty NAME="legendPosition">south</ChartProperty> <ChartProperty NAME="titleVisible">true</ChartProperty> <ChartProperty NAME="title">CPU 1 Minute Load Average</ChartProperty> <ChartProperty NAME="subtitle"> </ChartProperty> <ChartProperty NAME="destination">metricDetail</ChartProperty> </Chart>
接続先に必要なグラフ・プロパティの値
接続先のタイプに応じて、リンクされたグラフには特定のグラフ・プロパティがグラフ定義とともに含まれている必要があります。
metricDetailとkeyedMetricDetail
「メトリック詳細」ページまたはキーに対する「メトリック詳細」ページのどちらかにグラフをリンクするために、必要となるグラフ・プロパティはcolumn、metricおよびtimeGranularityです。
metricプロパティとcolumnプロパティの両方がすでに定義されている場合は、これらの値がそのメトリックに対するリンクの生成に使用されます。適切な接続先のタイプ(metricDetailまたはkeyedMetricDetail)のみ指定する必要があります。この方法でリンクを実装すると、カスタムSQL問合せによって「メトリック詳細」ページにリンクできるグラフの作成が可能になります(metricプロパティおよびcolumnプロパティが通常指定されない場合)。
timeGranularityプロパティは、グラフ定義の一部として明示的に定義されていない場合、デフォルトのHOURになります。ただし、このプロパティがグラフ定義ですでに指定されている場合は、リンクについても同様に使用されます。
reportTab
グラフをレポートにリンクするには、reportTitleグラフ・プロパティが必要です。
ホームページ・グラフのファイルの定義が終了したら、Enterprise Managerコマンドライン・インタフェース(EMCLI)のadd_mp_to_mpa
動詞を使用して、管理プラグイン・アーカイブに新規のホームページ・グラフ定義ファイルを追加します。次の例に示すように、ホームページ・グラフ定義ファイルをプラグイン・アーカイブに追加するには、HOMEPAGE_DEFINITIONをファイル・タイプとして指定します。
例3-2 EMCLIを使用した管理プラグイン・アーカイブの作成
./emcli add_mp_to_mpa
-mpa=host_sample.jar -mp_version=1.0
-ttd=host_sample_ttd.xml
-dc=host_sample_dc.xml
-file="MONITORING_SCRIPT:data_collector.pl"
-file="REPORT_DEFINITION:host_sample_perf_report.sql"
-file="REPORT_DEFINITION:host_sample_config_report.sql"
-file="HOMEPAGE_DEFINITION:host_sample_homepage_charts.xml"
-func_desc="Demo Plug-in: Linux host monitoring."
-req_desc="Requirements: Requires that the Agent that hosts the target instances be running on Linux. If the 'Use Fake Data' property is set when adding a target instance, then all data provided will be generated and a Linux Agent is not required.";
これで、Enterprise Managerを使用して新規管理プラグインをインポートおよびデプロイする準備が整いました。プラグイン・ターゲット・タイプのターゲット・インスタンスを追加すると、新規に定義されたグラフがターゲット・ホームページに表示されます。