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.
You can create a metric from an analytics search for the functions shown in this table. SeeMetric Data Resolution over Time.
| Function | Metric Rollup Type | Example |
|---|---|---|
| count(* | field_name) | sum | SELECT count( activeMacUsers) FROM dummyTransactions |
distinctcount(field_name) | average | SELECT distinctcount(activeMacUsers) FROM dummyTransactions |
sum(numeric_field_name) | sum | SELECT 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. |
分析メトリックの作成
メトリックは過去 1 分間にパブリッシュされたイベントに対して作成されるため、タイムスタンプメトリックは常にその時点(1 分間)からイベントを集約します。
eventTimestamp フィールドに値を指定した場合、新しいメトリックのタイムスタンプ値は、pickupTimestamp フィールドのイベントの集約を使用します。
eventTimestampたとえば、前日のイベントの を設定します。次に、今日のイベントのメトリックを作成します。メトリックは、その時点(1 分間)からではなくなるため、明示的な eventTimestamp を使用しません。メトリックは、pickupTimestamp を使用してイベントを集約します。pickupTimestamp は明示的に変更できないため、これにより、メトリックのタイムスタンプがその時点(1 分間)に基づいていることが保証されます。
分析イベント API 分析イベント API
複数のイベントからのメトリックの関連付け
クエリを作成すると、Splunk AppDynamics は全体的なメトリックを生成します。クエリされたデータはさまざまなイベントから取得されているため、イベントサービスは、このセグメント化されたデータを取得し、つなぎ合わせて単一のメトリックを生成する必要があります。イベントサービスは、相関イベントを検出するまで待機します。最大待機時間は、イベントタイプによって次のように異なります。
- モバイルおよびブラウザセッションイベント:2 分。
- トランザクションイベント:10 秒
イベントサービスが相関イベントを検出すると、待機時間がリセットされます。
最大待機時間の後にイベントが到着した場合、イベントはクエリで正しく結合されません。たとえば、次のクエリでは、fieldA と fieldB は別々ですが相関イベントです。
select count(*) from transactions where fieldA = "foo" and fieldB = "bar"イベントサービスは fieldA を検出し、相関イベントを 10 秒間待機します。fieldB が fieldA の 15 秒後に到着した場合、イベントサービスは両方のイベントを関連付けません。両方のイベントが関連付けられていないため、カウントメトリックは不正確となります。
分析メトリックのモニタリング
パフォーマンス上の理由により、分析メトリックで使用されるスケジュールされたクエリは、次のように無効になる場合があります。
- イベントサービスを呼び出した結果、10 回連続してエラーが発生した場合、クエリは無効になります。
- メンテナンス期間やアップグレード期間など、イベントサービスにコントローラから到達できない場合、クエリは無効になりません。
- コントローラを再起動すると、連続して失敗したためにシステムによって無効にされたクエリは再び有効になります。
- ユーザが無効にしたクエリは、システムの再起動後も無効のままになります。
メトリックをモニタするには:
メトリック集約がタイムアウトした場合、アプリケーションは分析メトリックを表示しない場合があります。管理者は、コントローラでメトリック集約を再試行するアプリケーションを指定できます。
-
管理者コンソールにログインします。
http:<controller-hostname>:<controller-port>/controller/admin.js - [Controller Settings] で、
appdynamics.controller.apps.metric.refill.enabled.listフラグを検索します。 - メトリック集約がタイムアウトした場合、コントローラは、このコントローラ設定フラグで指定されたアプリケーションでのみメトリック集約を再試行します。