Custom Stat
SQLまたはShell Scriptを利用してユーザーが直接指標を定義し、作成した指標を収集するスケジュールを登録して定期的に収集する画面です。収集した指標は、アラーム設定とダッシュボードモニタリングに活用できます。
左側メニューで Profile > Setting > Custom Stat を選択してください。

画面は Create Stat、Collection Schedule Management の2つのタブで構成されます。
数値で表現される指標のみ作成できます。
Create Statでユーザー定義指標を作成する
左側の Scripts to Create Stat 一覧でフォルダ・スクリプトを検索するか、[New Script] で新しいスクリプトを、[Create Folder] で新しいフォルダを作成できます。有効化された収集スケジュールで使用中のスクリプトには Activated バッジが表示されます。一覧でスクリプトをクリックすると、右側に該当スクリプトの内容が開きます。
右側の編集エリアは ①Write a Script → ②Test Script → ③Define Stat の3段階で構成され、作成が完了したら右上の [Save](新規保存は [Save As...])で保存します。
①Write a Script段階でスクリプトを作成する
Script Type で Shell Script または SQL のいずれかを選択し、隣のドロップダウンでスクリプトを実行する OS(Shell Scriptの場合はWindows/Linux)または DBMS種類(SQLの場合)を選択します。
Select Test Target でスクリプトをテスト実行する対象をツリーから選択します。同じ指標にすでに適用されている対象は選択リストから除外されます。選択した対象は下部の Selected に表示され、Your Recent Script ドロップダウンで最近使用したスクリプトを呼び出したり、[Clear All] で選択を初期化したりできます。
- Shell Script: 結果値を区切り文字で並べるスクリプトを作成します。Delimiter(区切り文字、必須)と Host Encoding Type を指定します。
- SQL: 照会クエリを作成します。Parsing Criteria で照会結果を Column Index (Horizontal)(カラム基準)でマッピングするか Row Index (Vertical)(行基準)でマッピングするかを選択し、[Formatting] でクエリを整形できます。

②Test Script段階でスクリプトをテストする
Script Timeout(Shell Script)または Query Timeout(SQL)を指定した後 [Run Test] をクリックすると、選択した対象で実際にスクリプトを実行した結果を確認できます。SQLの場合は Row Count、Execution Time とともに結果をグリッドで表示し、[Export to Excel] でエクスポートできます。
③Define Stat段階で指標を定義する
スクリプトが返す結果値の順序どおりに指標を定義します。スクリプトの出力順序とマッピング順序が異なるとデータが誤って表示される場合があるため、順序を合わせる必要があります。

- Data ID: 指標を区別する固有IDです。最大20文字、半角英小文字・数字・アンダースコア(_)のみ入力でき、他の指標と重複できません。
- Stat Name: 指標選択画面に表示される名前です。
- Description: 指標に関する説明です。
- Unit: Time、Data (binary)、%、Count、String の中から選択します。
[Add Data] をクリックすると指標定義行が追加され、1つのスクリプトで複数の指標を一度に定義できます(最大100個)。
Collection Schedule Managementで収集スケジュールを管理する
Create Statで作成した指標を実際に定期的に収集するには、このタブで収集スケジュールを登録する必要があります。

- Collection Schedule Group: スケジュールをグループでまとめて管理します。Default グループは標準で提供され、名前の修正のみ可能で削除はできません。グループカードには、グループに属するスケジュールのうち有効化された数(Active n/m)が表示されます。[Add Group] でグループを追加し、ユーザーが作成したグループは [Edit]/[Delete] アイコンで修正・削除できます。
- Collect Schedule List: 選択したグループのスケジュール一覧です。上部の All/View Activated Only/View Disabled Only で有効化状態に応じてフィルタリングし、[Add Schedule] で新しいスケジュールを追加したり、チェックボックスで選択したスケジュールを [Move Group]/[Delete] したりできます。
一覧のスケジュール名をクリックすると、収集設定を修正するウィンドウが開きます。

- ①Collection Setting: Schedule Name、Description、Schedule Group と Collection Interval(収集周期)、Timeout(秒)を設定します。
- ②Collection Data Setting: 収集する Custom Stat(Create Statで作成した指標)と Target(収集対象)を選択します。
- ③Collection Test: [Run Test] で実際の収集を事前に実行して結果を確認し、Activate collection トグルでこのスケジュールの有効化可否を設定します。トグルをオンにした状態で保存すると、選択した対象への再接続が発生し、5〜10秒程度収集が一時中断される場合があります。
View Logで収集履歴を確認する
一覧の [View Log] ボタンをクリックすると、該当スケジュールの収集履歴を確認できます。

- Info: スケジュール名、収集周期、タイムアウト、収集対象を表示します。
- Access log list: 収集時刻(Collection Time)別に Script Execution Result(成功可否)と Metric Validity(収集値の有効性)を確認できます。Metric Mapping Value をクリックすると、該当時点に実際に収集された Data ID 別の値を確認できます。

ユーザー定義指標を活用する
Create Statで作成した指標は、Query Managerで作成した指標と同じ方法でダッシュボードウィジェットとアラームで使用できます。
ダッシュボードウィジェットで使用する
タイムシリーズ(Timeseries)などグラフウィジェットの Chart Data 設定で Use Query stat チェックボックスをオンにすると、Stat Name フィールドで指標を選択できます。Stat Name フィールドをクリックすると開く Stat setting ポップアップの Category ツリーで [Custom] Custom Stat_{スクリプトタイプ}(例: Windows、Linux/Unix、Oracle、PostgreSQL、MySQL)カテゴリーを展開すると、スクリプトが属するフォルダ名とスクリプト名でまとめられたサブ項目の下で、Define Stat段階で作成した Stat Name を見つけて選択できます。

指標を選択すると、Define Stat段階で指定した Unit が自動的に入力されます。
アラーム指標として使用する
Alert > User Alert の Metric タイプルールでも Alert Setting の Stat Name フィールドが上記と同じ Stat setting ポップアップを使用するため、同じ [Custom] Custom Stat_{スクリプトタイプ} カテゴリーからユーザー定義指標を選択して閾値アラームを設定できます。アラームルール設定項目の詳細については、User Alertドキュメントを参照してください。
主な注意事項
- ユーザー定義指標は、Host Agentがインストールされたサーバー(Shell Script)または登録されたDBインスタンス(SQL)を対象に収集できます。
- ユーザー定義指標の作成および収集スケジュール管理は、Master、Admin権限を持つユーザーのみ可能です。
- 収集された値が数値の場合、改行文字は収集前に除去されます。