Create Analytics Metrics From Scheduled Queries

This page describes how to create analytics metrics from scheduled queries.

If you want to execute an analytics search repeatedly to monitor its value, you can create a metric from the search. The search will execute once per minute and report the results as a metric. You can create alerts on the metric in the usual way using Health Rules to trigger Policies and Actions. The analytics metric list is searchable.

You can create metrics for all Analytics event types - Browser, Mobile, Transaction, Log, and Custom.

Note: Although the metrics calculated by scheduled queries may have decimal point precision, we only save and report whole numbers.

You can create a metric from an analytics search for the functions shown in this table. SeeMetric Data Resolution over Time.

FunctionMetric Rollup TypeExample
count(* | field_name)sumSELECT count( activeMacUsers) FROM dummyTransactions

distinctcount(field_name)

averageSELECT distinctcount(activeMacUsers) FROM dummyTransactions

sum(numeric_field_name)

sumSELECT sum(responseTime)where userExperience = "NORMAL" FROM transactions

avg(numeric_field_name)

average

SELECT avg(responseTime) FROM transactions
min(numeric_field_name)

average

SELECT min(responseTime) FROM transactions

max(numeric_field_name)

average

SELECT max(responseTime) FROM transactions
(exp1)/(exp2)average

SELECT (count(activeMacUsers)) / (avg(activeWindowsUsers)) FROM dummyTransactionsSELECT (avg(responseTime)*2)/((avg(segments.transactionTime)+3)/2) FROM transactionsSELECT (sum(responseTime)*2)/(filter(sum(responseTime), where userExperience = "NORMAL") + 0.5) FROM transactions

Note: Each side of the expression must be enclosed in parenthesis.
Attention: You must have Manage Metrics permission and View access to Analytics to create metrics from analytics searches. See

Analytics and Data Security

and Transaction Analytics Permissions .

分析メトリックの作成

  1. [Analytics] > [Search] エディタを使用し、検索条件を設定して該当するデータを選択します。
  2. 検索アクションツールバーで [Actions] > [Create Metric] の順にクリックします。
  3. ポップアップウィンドウで、メトリックに名前と説明を指定します。[Metrics] パネルとメトリックブラウザでメトリックがどのように表示されるかは、名前によって決まります。次のことに注意してください。
    • メトリックは、整数値に切り捨てられます。したがって、1 未満の値はゼロに切り捨てられます。これを回避するには、必要な小数精度のレベルに応じて、10、100、1000 などの係数を numeric_field_name に乗算します。この係数はメトリックの表示名に追加することをお勧めします。これは、メトリックが表す内容を他のユーザが理解できるようにするためです(例:Display Name = Metric (Factor 1000))。値がパーセンテージであり、100 で乗算して変換する場合は、暗黙的であるため、メトリック名に係数を入れる必要はありません(Metric %)。
    • 算術演算は、集計関数内でのみサポートされます。たとえば、 count(numeric_field_name * 10) from transactions.
メトリックのタイムスタンプ

メトリックは過去 1 分間にパブリッシュされたイベントに対して作成されるため、タイムスタンプメトリックは常にその時点(1 分間)からイベントを集約します。

eventTimestamp フィールドに値を指定した場合、新しいメトリックのタイムスタンプ値は、pickupTimestamp フィールドのイベントの集約を使用します。

eventTimestampたとえば、前日のイベントの を設定します。次に、今日のイベントのメトリックを作成します。メトリックは、その時点(1 分間)からではなくなるため、明示的な eventTimestamp を使用しません。メトリックは、pickupTimestamp を使用してイベントを集約します。pickupTimestamp は明示的に変更できないため、これにより、メトリックのタイムスタンプがその時点(1 分間)に基づいていることが保証されます。

分析イベント API 分析イベント API

複数のイベントからのメトリックの関連付け

クエリを作成すると、Splunk AppDynamics は全体的なメトリックを生成します。クエリされたデータはさまざまなイベントから取得されているため、イベントサービスは、このセグメント化されたデータを取得し、つなぎ合わせて単一のメトリックを生成する必要があります。イベントサービスは、相関イベントを検出するまで待機します。最大待機時間は、イベントタイプによって次のように異なります。

  • モバイルおよびブラウザセッションイベント:2 分。
  • トランザクションイベント:10 秒

イベントサービスが相関イベントを検出すると、待機時間がリセットされます。

最大待機時間の後にイベントが到着した場合、イベントはクエリで正しく結合されません。たとえば、次のクエリでは、fieldAfieldB は別々ですが相関イベントです。

select count(*) from transactions where fieldA = "foo" and fieldB = "bar"

イベントサービスは fieldA を検出し、相関イベントを 10 秒間待機します。fieldBfieldA の 15 秒後に到着した場合、イベントサービスは両方のイベントを関連付けません。両方のイベントが関連付けられていないため、カウントメトリックは不正確となります。

分析メトリックのモニタリング

パフォーマンス上の理由により、分析メトリックで使用されるスケジュールされたクエリは、次のように無効になる場合があります。

  • イベントサービスを呼び出した結果、10 回連続してエラーが発生した場合、クエリは無効になります。
  • メンテナンス期間やアップグレード期間など、イベントサービスにコントローラから到達できない場合、クエリは無効になりません。
  • コントローラを再起動すると、連続して失敗したためにシステムによって無効にされたクエリは再び有効になります。
  • ユーザが無効にしたクエリは、システムの再起動後も無効のままになります。

メトリックをモニタするには:

  1. 左のナビゲーションバーで、[Metrics] をクリックします。
  2. [Metrics list] からメトリックを検索、編集、有効化、無効化、または削除します。
    警告:
    • 選択したメトリックの説明のみを編集できます。

    • Metric Consumer Count0 の場合にのみメトリックを削除できます。Metric Consumer Countは、メトリックを使用しているサービスの合計数を表します。たとえば、正常性ルール、ダッシュボードなどです。

  3. メトリックをまとめてアクティブ化または非アクティブ化するには、グリッドで該当する行を選択し、ツールバーの [Enable] または [Disable] ボタンをクリックします。複数の行を選択するには、Shift または Command を押した状態で行をクリックします。
    警告: 「Disabled due to repetitive failures」というステータスが表示された場合は、[Enable] をクリックして再度有効にすることができます。
  4. メトリックブラウザでメトリックを表示するには、[Metric Browser] をクリックします。詳細については、「メトリックデータポイントの詳細」セクションを参照してください。
注:

メトリック集約がタイムアウトした場合、アプリケーションは分析メトリックを表示しない場合があります。管理者は、コントローラでメトリック集約を再試行するアプリケーションを指定できます。

  1. 管理者コンソールにログインします。

    http:<controller-hostname>:<controller-port>/controller/admin.js
  2. [Controller Settings] で、appdynamics.controller.apps.metric.refill.enabled.list フラグを検索します。
  3. メトリック集約がタイムアウトした場合、コントローラは、このコントローラ設定フラグで指定されたアプリケーションでのみメトリック集約を再試行します。