

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Enterprise データソースに接続する
<a name="AMG-data-sources-enterprise"></a>

以下のデータソースは、Amazon Managed Grafana Enterprise プラグインにアップグレードされたワークスペースでサポートされています。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。

Enterprise プラグインは定期的に更新されますが、既存のプラグインが更新されたり、場合によっては新しいデータソースが追加されることもあります。このドキュメントで紹介するデータソースがすべてではない可能性があります。現在 Amazon Managed Grafana Enterprise プラグインでサポートされている Enterprise プラグインのリストについては、*Grafana ドキュメント*の「[Grafana Enterprise プラグイン](https://grafana.com/docs/plugins/)」を参照してください。

バージョン 9 以降をサポートするワークスペースでは、エンタープライズデータソースはデフォルトではインストールされていません。適切なデータソースプラグインをインストールする必要があります。ここに記載されていないものを含め、すべての Enterprise データソース用のプラグインをインストールできます。また、インストール済みのプラグインのバージョンを上げることもできます。プラグインの管理の詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

**Topics**
+ [AppDynamics](appdynamics-AMG-datasource.md)
+ [Databricks](AMG-databricks-datasource.md)
+ [Datadog](AMG-datadog-datasource-plugin.md)
+ [Dynatrace](dynatrace-AMG-datasource.md)
+ [GitLab](gitlab-AMG-datasource.md)
+ [Honeycomb](honeycomb-AMG-datasource.md)
+ [Jira](jira-AMG-datasource.md)
+ [MongoDB](AMG-mongodb-datasource.md)
+ [New Relic](new-relic-data-source.md)
+ [Oracle Database](oracle-datasource-AMG.md)
+ [Salesforce](salesforce-AMG-datasource.md)
+ [SAP HANA](saphana-AMG-datasource.md)
+ [ServiceNow](grafana-enterprise-servicenow-datasource.md)
+ [Snowflake](snowflake-datasource-for-AMG.md)
+ [Splunk](splunk-datasource.md)
+ [Splunk Infrastructure Monitoring](AMG-datasource-splunkinfra.md)
+ [Wavefront](wavefront-datasource-for-AMG.md)

# AppDynamics データソースに接続する
<a name="appdynamics-AMG-datasource"></a>

 Amazon Managed Grafana の AppDynamics データソースを使用すると、Metrics API を使用して AppDynamics からメトリクスをクエリし、Grafana ダッシュボードで視覚化できます。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## データソースの設定に関する注意事項
<a name="note-on-the-datasource-config"></a>

 サーバー (プロキシ) アクセス (CORS やユーザーがパスワードを検索できないようにするため) と Basic 認証を使用します。ユーザー名は「user@account」の形式で設定します (例: my.name@customer1 または my\$1user@saas\$1account\$1name)。

 次の手順に従い、パスワードを設定します。

1.  [https://accounts.appdynamics.com/subscriptions](https://accounts.appdynamics.com/subscriptions) に移動します。

1.  サブスクリプションの行の「**名前**」列のリンクを選択します。

1.  ページ上部のタブを選択して、「**ライセンスの詳細**」に移動します。

1.  アクセスキーフィールドに [**表示**] ボタンがあります。**[表示]** ボタンを選択してアクセスキーを表示します。

1.  Grafana の設定ページにある「Basic 認証の詳細」の「パスワード」フィールドにアクセスキーをコピーします。

 次の手順を実行して、Amazon Managed Grafana のユーザーとロールを設定します。

1.  AppDynamics で、[設定]、[管理] の順に移動します。

1.  [**ロール**] タブを選択して [＋] ボタンを選択し、新しいロール (例: `grafana_readonly.`) を作成します。

1.  ロールの作成 セクションの [**アカウント**] タブで、 アクセス権限 `View Business Flow` を追加します。

1.  [**アプリケーション**] タブで、[**表示**] チェックボックスをオンにして、Grafana がアプリケーションデータを表示できるようにします。

1.  [**データベース**] タブで、[**表示**] チェックボックスをオンにして、Grafana がデータベースデータを表示できるようにします。

1.  [**分析**] タブで、[**すべてのアプリケーションからデータを表示できる**] チェックボックスをオンにして、Grafana がアプリケーション分析データを表示できるようにします。

1.  管理ページの**ユーザー**タブで、新しいユーザー (例: `grafana`) を作成します。新しいユーザー (またはユーザーが属するグループ) を、先ほど作成したロール (例: `grafana_readonly`) に割り当てます。

## テンプレート作成
<a name="appdynamics-templating"></a>

 現在サポートされているテンプレートクエリは次のとおりです。

1.  `Applications` (すべてのアプリケーション) 

1.  `AppName.BusinessTransactions` (アプリケーション名のすべての BT) 

1.  `AppName.Tiers` (アプリケーション名のすべての階層） 

1.  `AppName.Nodes` (アプリケーション名のすべてのノード） 

1.  `AppName.TierName.BusinessTransactions` (特定の階層のすべての BT) 

1.  `AppName.TierName.Nodes` (特定の階層のすべてのノード） 

1.  `AppName.Path.<Any Metric Path>` (任意のメトリクスパスの指定が可能） 

## 凡例キー
<a name="legend-keys"></a>

 凡例キーのデフォルトはかなり長くなることがありますが、このフォーマットはカスタマイズが可能です。

 `App on legend` オプションを選択すると、アプリケーション名を凡例キーの前に追加できます。例: `MyApp - Overall Application Performance|Average Response Time (ms)`。

 クエリが単一統計などのパネル用で凡例キーが見えない場合は、「Show Metadata」(メタデータを表示) オプションを選択することで、クエリの凡例キー (エイリアスとも呼ばれます) を確認することができます。

 凡例ドロップダウンリストには、`Full Path`、`Segments`、`Custom` の 3 つのオプションがあります。

### 凡例オプション – フルパス
<a name="legend-option---full-path"></a>

 凡例キーは、完全なメトリクスパス (例: `Overall Application Performance|Average Response Time (ms)`) です。

### 凡例オプション – セグメント
<a name="legend-option---segments"></a>

 メトリクス名は複数のセグメントで構成されます。どのセグメントを表示するかの選択が可能です。

 例えば、メトリクス名が次の場合: 

 `Errors|mywebsite|Error|Errors per Minute` 

 セグメントフィールドに `2,4` と入力すると `mywebsite|Errors per minute` が返されます。

 インデックスは 1 で始まるため、`1` と入力すると `Errors` が返されます。

### 凡例オプション – カスタム
<a name="legend-option---custom"></a>

 テキストを次のエイリアスパターンと組み合わせてカスタム凡例を作成し、メトリクスメタデータを混在させることができます。
+  `{{app}}` はアプリケーション名を返します 
+  `{{1}}` は、メトリクスパスからセグメントを返します。

   例えば、メトリクス `Overall Application Performance|Average Response Time (ms)` には 2 つのセグメントがあります。 `{{1}}` は最初のセグメントを返し、`{{2}}` は 2 番目のセグメントを返します。

 以下は凡例キーのパターン例と生成される凡例キーです：
+  `custom legend key` => `custom legend key` 
+  `App: {{app}} MetricPart2: {{2}}` => `App: myApp MetricPart2: Average Response Time (ms)` 

# Databricks データソースに接続する
<a name="AMG-databricks-datasource"></a>

Databricks データソースを使用すると、Amazon Managed Grafana 内の Databricks データをクエリおよび視覚化できます。クエリのフォーマットやカラーコードを設定できる SQL エディタも付属しています。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## Databricks データソースの追加
<a name="AMG-databricks-add-datasource"></a>

以下に Grafana コンソールに Databricks データソースを追加する手順を紹介します。

**データソースの追加方法**

1. 上部ヘッダーの Grafana アイコンを選択して、サイドメニューを開きます。

1. サイドメニューの [**ダッシュボード**] リンクから [**データソース**] を選択します。
**注記**  
[**データソース**] リンクが表示されていない場合は、Grafana の `Admin` ロールが付与されていません。

1. 上部ヘッダーの [**\$1 データソースの追加**] ボタンを選択します。

1. [**タイプ**] ドロップダウンリストから [**Databricks**] を選択します。
**注記**  
Databricks が表示されない場合、Grafana Enterprise にアップグレードする必要があります。

1. データに接続して編集するオプションを選択します。

## Databricks データソースを使用する際の注意事項
<a name="AMG-databricks-notes"></a>

**時系列**

時系列の視覚的表現は、クエリに `datetime` フィールドを追加するときに選択できます。このフィールドは、シリーズのタイムスタンプとして使用されます。フィールドで特にタイムゾーンが指定されていない場合、Grafana はその時間を UTC として扱います。

**複数行の時系列**

複数行の時系列の視覚的表現を作成するには、クエリに以下の順序で少なくとも 3 つのフィールドを含める必要があります。

1. エイリアスが `time` の `datetime` フィールド。

1. `GROUP BY` の値。

1. 視覚化する 1 つ以上のメトリクス値。

以下は、複数行の時系列オプションを返すクエリの例です。

```
SELECT log_time AS time, machine_group, avg(disk_free) AS avg_disk_free
FROM mgbench.logs1
GROUP BY machine_group, log_time
ORDER BY log_time
```

# Datadog データソースに接続する
<a name="AMG-datadog-datasource-plugin"></a>

 Datadog データソースを使用すると、Amazon Managed Grafana の Datadog モニタリングサービスのメトリクスを視覚化できます。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## 使用方法
<a name="datadog-usage"></a>

### キャッシュ
<a name="datadog-caching"></a>

 Datadog API を使用することで、大量のクエリを行う大規模ダッシュボードのレート (Datadog API が許可する 1 時間あたりの API 呼び出しの最大数) を制限することができます。一意のクエリはキャッシュ機能により 60 秒間キャッシュされます。この間隔は、設定ページで長くしたり短くしたりすることができます。

### クエリエディタ
<a name="datadog-query-editor"></a>

 操作は簡単。集約とメトリクスを選択します。選択したタグ (複数可) で結果をフィルタリングすることができます。

 Datadog データソースは、Datadog クエリエディタがサポートするすべての高度な関数をサポートします。ドロップダウンリストから関数名を選択して配置します。

 **フィールド別のエイリアスの使用方法:** 
+  「エイリアス方法」フィールドにエイリアスを入力します。
+  スコープ付き変数を使用: 
  +  `$__metric` = メトリクス名に置き換えます 
  +  `$__display_name` = メトリクス名に置き換えます 
  +  `$__expression` = 完全なメトリクス式に置き換えます 
  +  `$__aggr` = メトリクス集計関数に置き換えます (例: avg、max、min、sum) 
  +  `$__scope` = メトリクススコープ (リージョン、サイト、環境、ホストなど) に置き換えます 
+  正規表現を使用: 
  +  正規表現を「Alias RegExp」フィールドに `/you regexp here/flags` 形式で入力します。
  +  「エイリアス方法」フィールドが空の場合、RegExp の結果は次のように結合されます。例: メトリクス式 = `avg:system.load.5{*}` :「エイリアス方法」フィールド入力：「」「Alias RegExp」フィールド入力: `avg:(.+)\.(\d)` 結果: `system.load, 5` 
  +  「エイリアス方法」フィールドで `$<group_number>` 変数を使用します。例: メトリクス式 = `avg:system.load.5{*}` :「エイリアス方法」フィールド入力：`$1: $2 seconds`「Alias RegExp」フィールド入力: `avg:(.+)\.(\d)` 結果: `system.load: 5 seconds` 
  +  `$0` を使用して式全体を取得します。例: メトリクス式 = `datadog.dogstatsd.packet.count{*}` :「エイリアス方法」フィールド入力：`Expression: $0`「Alias RegExp」フィールド入力: `DOGstatsd\.(.*)\.(.*){\*}/i` 結果: `Expression: datadog.dogstatsd.packet.count{*}` 

   注: 存在しないグループ番号を使用すると、エラーが発生します。

#### メトリクス演算
<a name="datadog-metric-arithmetic"></a>

 メトリクス演算を使用するには、*[クエリタイプ]* を *[演算]* に設定します。`#` 記号を使用して、必要なメトリクスにリンクします。例えば、`#A * 2` はクエリ `A` の結果を 2 倍にします。同様の方法で 2 つのメトリクス間の演算も可能です。`#A / #B` のように、計算に使用する結果を含むクエリを追加し、3番目のクエリでこれらのメトリックにリンクします。

### ‏注釈
<a name="datadog-annotations"></a>

 注釈はグラフの上に重ねて表示されるイベント (デプロイメントや障害など) です。このデータソースを使用すると、Datadog からイベントを取得し、そのイベントを Amazon Managed Grafana のグラフの上に重ねて表示することができます。注釈のイベントは、ソース、タグ、または優先度でフィルタリングできます。

### テンプレート作成
<a name="datadog-templating"></a>

 テンプレート変数の値を取得するためのオプションには、メトリクスとタグがあります。利用可能なメトリクスのリストを取得するには、[*Query*] (クエリ) フィールドに `*` を指定します。

 すべてのタグを返すには、値に `tag` または `scope` を使用します。

 指定したタググループのタグを返すには、次のデフォルトカテゴリ値のいずれかを使用します。
+  `host` 
+  `device` 
+  `env` 
+  `region` 
+  `site` 
+  `status` 
+  `version` 

 カスタムタググループの場合は、タググループ名を入力するだけです。例えば、カスタムタググループ名が `subscription_name` の場合、その名前を [*Query*] (クエリ) フィールドに入力します。

 *[Regex]* (正規表現) フィールドを使用して結果をフィルタリングします。タグを使用する場合、複数値の変数がサポートされます。選択したタグの複数の値は、カンマ区切りのタグリストに変換されます。

#### アドホックフィルター
<a name="datadog-ad-hoc-filters"></a>

 Grafana には、*[アドホックフィルター]*と呼ばれる新しい特殊なタイプのテンプレート変数があります。この変数は、ダッシュボード内の*すべて*の Datadog クエリに適用されます。これにより、クイックフィルターのように使用できます。Datadog のアドホック変数は、タグからすべてのキーと値のペア (例: `region:east, region:west`) を取得し、クエリタグとして使用します。この変数を作成するには、[*アドホックフィルター*] タイプを選択し、Datadog データソースを選択します。この変数には任意の名前を設定できます。

# Dynatrace データソースに接続する
<a name="dynatrace-AMG-datasource"></a>

[https://www.dynatrace.com/](https://www.dynatrace.com) 向けのデータソース。このデータソースの使用には、Dynatrace アカウントが必要になります。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

**既知の制限事項**

テンプレート変数は複数選択できません。単一選択のみがサポートされています。

v2 メトリクス API のみがサポートされています。

## 機能
<a name="features"></a>

### 主要機能
<a name="core-features"></a>
+  テンプレート変数 
  +  メトリクス名 
  +  単一選択のみ (**複数選択不可**) 
  +  アドホックフィルター 
+  ‏注釈 
  +  現在サポートされていません 
+  エイリアス定義 
  +  メトリクス名 
  +  集計 
  +  [Display Name] (表示名) 
  +  ホスト 
  +  説明 
+  [アラート] 
  +  アラートの完全サポート 

### Dynatrace 固有の機能
<a name="dynatrace-specific-features"></a>

 Dynatrace メトリクス v2 API により、ビルトインのメトリクスとカスタムメトリクスの両方をサポートします。詳細については、「Dynatrace ドキュメント: [Metrics API v2](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/metric-v2/)」と[「Metric Ingestion](https://www.dynatrace.com/support/help/how-to-use-dynatrace/metrics/metric-ingestion/)」を参照してください。

メトリクスによっては、API が追加の変換オプションをサポートする場合があります。

## Dynatrace の権限
<a name="dynatrace-permissions"></a>

 Dynatrace では、「API V2 (metrics.read) 権限を使用したメトリクスの読み取り権限」、「API V2 (entities.read) 権限を使用したエンティティの読み取り権限」が必要になります。

## Dynatrace から API キーを取得する
<a name="dynatrace-apikey"></a>

API トークンを設定するには、「[Dynatrace API - トークンと認証](https://www.dynatrace.com/support/help/dynatrace-api/basics/dynatrace-api-authentication/?api-token%3C-%3Epersonal-access-token=api-token)」を参照してください。

API トークンの `metrics.read` と `entities.read` の権限を設定します。

### 設定
<a name="configuration"></a>

1.  論理 Grafana サーバー UI で [**設定/データソース**]、[**データソースの追加**] の順に選択します。

1.  [**データソースの追加**] ページで、**Dynatrace** でフィルタリングして Dynatrace プラグインを選択します。

1. Dynatrace データソースの設定では、以下のパラメータを設定する必要があります。
   +  `Name` - Dynatrace データソースに適用する名前 (デフォルト: Dynatrace)。
   +  `Dynatrace API Type` - 接続先の Dynatrace インスタンスの種類。これは `SaaS` または `Managed Cluster` のいずれかになります。
   +  `Dynatrace API Token` - 前のステップで生成した API トークンです。

   以下の 2 つの設定は、Dynatrace SaaS か マネージドかによって異なります
   + `yfc55578.live.dynatrace.com` の SaaS の例では、**環境 ID** は `yfc55578` になります。
   + `yd8888.managed-sprint.dynalabs.io/e/abc99984-3af2-55tt-72kl-0672983gc45` のマネージドの例では、**環境 ID** は `abc99984-3af2-55tt-72kl-0672983gc45` で、**ドメイン**は `yd8888.managed-sprint.dynalabs.io` になります

1.  すべての設定値の設定が完了したら、[**保存とテスト**] を選択して設定を検証し、変更を保存します。

### データソースのクエリ
<a name="dynatrace-usage"></a>

Dynatrace のメトリクスと問題のクエリには、クエリエディタを使用します。クエリの種類は `metric` または `problem` です。

**メトリクスクエリタイプ**
+ `Metric` — 表示するメトリクスを選択します。Dynatrace からメトリクスリストを再度取得するには、[**更新**] ボタンを選択します。
+ `Aggregations` — 特定のメトリクスに使用する集計を選択します。集計値を選択して集計タイプを変更するか、**＋** を選択して別の集計を追加します。
+ `Transformations`— クエリエディタで変換を選択することができます。選択した変換にいくつかのパラメータを入力します。現在、マージ変換のみがサポートされています。マージ変換の詳細については、 ユーザーガイドの「[マージ変換](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/metric-v2/metric-selector/#merge-transformation)」を参照してください。
+ `Filters` — Dynatrace データソースは、各メトリクスに適したフィルターを動的にクエリします。フィルターを追加するには、Dynatrace クエリエディタの **[フィルター]** ラベルの横にある **[\$1]** を選択し、フィルタリングするフィールド、使用する演算子、フィルタリングする値の順に選択します。Dynatrace データソースでは、フィルターグループを作成し、それらを組み合わせて複雑な論理比較を作成することができます。ほとんどのユースケースでは、フィルターグループは必要ありません。Dynatrace では、タグでフィルターを作成する際に選択した組み合わせに関係なく、常に AND 演算子が使用されます。Dynatrace では、タグを使用したフィルタリングに OR 演算子をサポートしていません。
+ `Alias` — Dynatrace データソースを使用していると、2 種類のエイリアスを目にすることがあります。1 つ目は静的エイリアスです。エイリアス名は小文字で始まり、構築するすべてのクエリで使用できます。2 つ目は動的エイリアスで、エイリアス名は大文字で始まり、クエリで使用しているメトリクスに基づいて変更されます。Dynatrace プラグインは、`Metric Names`、`Aggregation`、`Display Name`、`Host`、`Description` の数種類のエイリアスをサポートしています。


|  名前  |  値  | 
| --- | --- | 
|  \$1name  |  builtin:apps.other.keyUserActions.reportedErrorCount.os  | 
|  \$1aggregation  |  自動,値  | 
|  \$1displayName  | 報告されたエラー数 (キーユーザーアクション、OS 別) [モバイル、カスタム] | 

**問題クエリタイプ**
+ `Problem Query Type` — 問題クエリタイプを選択します。現在、フィード問題クエリタイプのみがサポートされています。フィード問題クエリタイプの詳細については、「[マージ変換](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/metric-v2/metric-selector/#merge-transformation)」を参照してください。
+ `Status Filter` — ステータスで結果問題をフィルタリングします。
+ `Impact Filter` — 影響レベルで結果問題をフィルタリングします。
+ `Severity Filter` - 結果の問題を重要度レベルでフィルタリングします。
+ `Expand Details` — 設定されている場合、レスポンスに関連するイベントを含めます。

#### テンプレート変数の使用
<a name="using-template-variables"></a>

 新しい Dynatrace クエリ変数を追加するには、[「新しいテンプレート変数の追加](variables-types.md#add-a-query-variable)」を参照してください。Dynatrace データソースを、以下の使用可能なクエリのデータソースとして使用します。
+ `Query type` — クエリタイプを選択します。クエリタイプは、一部のデータを一部のキーまたは記述子に関連付けます。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/grafana/latest/userguide/dynatrace-AMG-datasource.html)
+ `Regex` — (オプション) クエリから返された値を正規表現でフィルタリングします。

**注記**  
`Multi-value` および `Include All option` は現在、Dynatrace データソースではサポートされていません。

作成した変数は、[**メトリクス**] ドロップダウンメニューに表示されます。

##### Dynatrace のダッシュボードをインポートする
<a name="dynatrace-import"></a>

ダッシュボードをインポートするには、「[ダッシュボードのインポート](dashboard-export-and-import.md#importing-a-dashboard)」を参照してください。インポートされたダッシュボードは、[**設定**] > **[データソース]** > Dynatraceデータソースを選択 > **[ダッシュボード]**] タブにあり、事前作成済みのダッシュボードとして使用することができます。

# GitLab データソースへの接続
<a name="gitlab-AMG-datasource"></a>

GitLab データソースを使用すると、上位の寄与者、1 日あたりのコミット数、1 日あたりのデプロイ数など、GitLab の詳細な統計を追跡できます。プロジェクトなどのテンプレート変数を使用すると、ダッシュボードのフィルターを設定することもできます。GitLab API のデータは他のソースのデータと組み合わせることができます。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## 既知の制限事項
<a name="gitlab-known-limitations"></a>

GitLab API の未加工データから意味のある集計メトリクスを取得する唯一の方法は変換ですが、アラートクエリでは変換がサポートされていないため、このプラグインではアラートがまだサポートされていません。

## データソースの追加
<a name="gitlab-adding-the-data-source"></a>

1.  Amazon Managed Grafana ワークスペースで Grafana コンソールを開いて、ログインしていることを確認します。

1.  [**設定**] (歯車アイコン) のサイドメニューで、[**データソース**] を選択します。

1.  **[データソースの追加]** を選択します。
**注記**  
 サイドメニューに **[データソース]** リンクが表示されていない場合は、現在のユーザーに `Admin` ロールが付与されていないことを意味します。

1.  データソースのリストから **[GitLab]** を選択します。

1. 次の情報を入力します。
   + **[名前]** に、この GitLab データソースの名前を入力します。
   + **[URL]** に、**https://gitlab.com/api/v4** などの GitLab インスタンスのルート URL を入力します。
   + **[アクセストークン]** に、GitLab パーソナルアクセストークンを入力します。

## GitLab データソースのクエリ
<a name="gitlab-query"></a>

GitLab クエリエディタから、コミット、問題点、リリースなどの、さまざまなリソースタイプを選択できます。

**プロジェクトのフィルタリングおよび表示**

1.  ドロップダウンリストから、**[プロジェクト]** を選択します。

1.  (オプション) 所有するプロジェクトでフィルタリングします。

1.  ドロップダウンを使用して、**[あり]** または **[いいえ]** を選択して結果をフィルタリングします。
**注記**  
 すべてのプロジェクトの取得 **[所有 = いいえ]** には時間がかかる場合があります。

**コミットのフィルタリングおよび表示**

1.  ドロップダウンメニューから、**[コミット]** を選択します。

1.  入力フィールドを使用してプロジェクト ID を追加します。

1.  (オプション) ブランチ/タグでフィルタリングするには、入力フィールドを使用してブランチ/タグのリファレンスを追加します。

**問題点のフィルタリングおよび表示**

1.  ドロップダウンメニューから、**[問題点]** を選択します。

1.  入力フィールドを使用してプロジェクト ID を追加します。

1.  (オプション) タイトル/説明でフィルタリングするには、入力フィールドを使用して、**[タイトル]** と **[説明]** に基づいて問題を検索します。

**リリースの表示**

1.  ドロップダウンメニューから **[デプロイ]** を選択します。

1.  入力フィールドを使用してプロジェクト ID を追加します。

1.  (オプション) 環境/ステータスでフィルタリングするには、入力フィールドを使用します。**[ステータス]** は、`created`、`running`、`success`、`failed`、`canceled` のいずれかの値になります。

**ラベルの表示**

1.  ドロップダウンメニューから、**[ラベル]** を選択します。

1.  入力フィールドを使用してプロジェクト ID を追加します。

## テンプレートおよび変数
<a name="gitlab-templates"></a>

新しい GitLab クエリ変数を追加するには、「[クエリ変数の追加](variables-types.md#add-a-query-variable)」を参照してください。ご使用の GitLab データソースをデータソースとして使用します。リソースタイプを **[リリース]**、**[プロジェクト]**、または **[ラベル]** から選択します。

プロジェクト、ラベルなどの動的リストを選択して取得するには、クエリタイプ変数を作成します。クエリタイプの変数は GitLab クエリエディタを使用して、プロジェクト、ラベルなどをクエリして返します。次の例では、ご使用のクエリをパラメータ化するプロジェクト変数を作成します。

**クエリをパラメータ化するプロジェクト変数の作成**

1.  **project** という名前の **[クエリ]** タイプの変数を追加します。

1.  GitLab データソースを選択して **[ダッシュボード上のロード]** を更新します。

1.  **[プロジェクト]** リソースタイプを選択し、**[所有]** に **[あり]**、**[表示フィールド]** に **[名前]**、**[値フィールド]** に **[ID]** を選択します。

1. **[更新]** を選択してダッシュボードに変数を追加します。

1. ダッシュボードに新しいパネルを追加して、**\$1project** をプロジェクト ID として使用します。

   ドロップダウンから選択すると、そのプロジェクトに属する結果を得られるようになりました。

## Grafana からの変換を使用して一般的な質問に答える
<a name="gitlab-transformations"></a>

これで、基本的な GitLab クエリを実行してコミットや問題点などを検索できるようになりました。変換を使用してデータセットを視覚化、集計、グループ化、結合したり、他のタイプの変換を使用して単純な結果を複雑な質問に対する回答に変換したりできます。以下は、いくつかの一般的な質問と、変換を使用して回答する方法です。

**プロジェクトでのコミット/問題点/デプロイは 1 日に何回ですか?**

1.  クエリを追加します。リソースタイプの **[コミット]** を選択してプロジェクト ID を追加します。

1.  新しい **[グループ化の条件]** 変換を追加: **[グループ化の条件]** では、**[create\$1at\$1date]** を選択してから **[(Count)=id]** を計算します。

1. **[グラフ]** の視覚化を選択します。

**プロジェクトで問題点を終了するまでの平均時間はどのくらいですか?**

1.  クエリを追加します。リソースタイプの **[問題点]** を選択してプロジェクト ID を追加します。

1.  新しい **[計算変換からフィールドを追加]** 変換を追加: **[モード]** で **[バイナリオペレーション]** を選択し、**[オペレーション]** で **[closed\$1at = created\$1at]** を選択し、**[エイリアス]** で **[resolution\$1time]** を選択します。

1.  新しい **[計算変換からフィールドを追加]** 変換を追加: **[モード]** で **[バイナリオペレーション]** を選択し、**[オペレーション]** で **[resolution\$1time / 86400000]** を選択し、**[エイリアス]** で **[resolution\$1time]** を選択します。

   **[すべてのフィールド を置き換え]** で **[真]** を選択します。

1. **[統計]** 視覚化を選択します。
   + 表示 = 計算
   + 計算 = 平均
   + フィールド = **[resolution\$1time]**

# Honeycomb データソースへの接続
<a name="honeycomb-AMG-datasource"></a>

Honeycomb データソースを使用すると、Amazon Managed Grafana 内から Honeycomb メトリクスをクエリおよび視覚化し、Honeycomb トレースにリンクできます。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## 既知の制限事項
<a name="honeycomb-known-limitations"></a>
+  このデータソースではアドホッククエリをサポートしていません。
+  API の制限により、変数エディタは選択列の最初の 1000 個の一意の値のみ返すことができます。
+  API の制限により、データソースは過去 7 日間のデータのみクエリできます。

## データソースの追加
<a name="honeycomb-adding-the-data-source"></a>

1.  Amazon Managed Grafana ワークスペースで Grafana コンソールを開いて、ログインしていることを確認します。

1.  [**設定**] (歯車アイコン) のサイドメニューで、[**データソース**] を選択します。

1.  **[データソースの追加]** を選択します。

1.  データソースのリストから **[Honeycomb]** を選択します。

**注記**  
 サイドメニューに **[データソース]** リンクが表示されていない場合は、現在のユーザーに `Admin` ロールが付与されていないことを意味します。

**[Honeycomb 設定]**


|  名前  |  説明  | 
| --- | --- | 
|  Name  |  データソース名。これはパネル、クエリ、Explore でデータソースを表示する方法です。 | 
|  Honeycomb API key  |  Honeycomb から取得した API キー。 | 
|  URL  |  Honeycomb API の URL。例えば、https://api.honeycomb.io。 | 
|  Team  |  API キーに関連付けられた Honeycomb チーム。 | 

## Honeycomb データソースのクエリ
<a name="honeycomb-query"></a>

メトリクスをクエリするため、エディタフィールドに値を入力します。
+  データセットを選択します。
+  デフォルトのクエリは、選択したデータセットの上の `COUNT` です。
+  クエリを絞り込むには、**[視覚化]** 、**[視覚化]**、**[場所]**、**[制約事項]** 、**[グループ化の条件]**、 **[順]**、**[制限]** などの、残りのフィールドの値を選択します。

## テンプレートおよび変数
<a name="honeycomb-templates"></a>

新しい Honeycomb クエリ変数を追加するには、「[クエリ変数の追加](variables-types.md#add-a-query-variable)」を参照してください。

データセット、列、または列の値を含む変数を作成できます。
+  データセットを選択しない場合は、変数にデータセットが含まれます。
+  データセットのみを選択した場合は、変数には列名が含まれます。
+  データセットと列の両方を選択した場合は、変数に列値が含まれます。エディタの **[場所]** フィールドを使用して、列の値をさらに制限できます。

## Honeycomb UI でのクエリの表示
<a name="honeycomb-view"></a>

Honeycomb UI で作成したクエリをダッシュボードパネルから表示するには、グラフ内の任意のポイントを選択し、**[Honeycomb で開く]** を選択します。

クエリエディタから Honeycomb UI で作成したクエリを表示するには、**[Honeycomb で開く]** を選択します。

## Honeycomb のダッシュボードのインポート
<a name="honeycomb-import"></a>

ダッシュボードをインポートするには、「[ダッシュボードのインポート](dashboard-export-and-import.md#importing-a-dashboard)」を参照してください。

インポートしたダッシュボードを検索するには、**[設定]**、**[データソース]** を選択します。

使用可能な事前作成ダッシュボードを表示するには、Honeycomb データソースを選択して **[ダッシュボード]** タブを選択します。

# Jira データソースへの接続
<a name="jira-AMG-datasource"></a>

Jira の問題データを他のソースのアプリケーションパフォーマンスデータと組み合わせ、開発プロセスの全体像を取得します。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。
+ 問題の作成または解決に基づき注釈を作成し、問題とメトリクスの関係を確認します。
+ 平均解決時間や問題スループットなどの、詳細な Jira 統計を追跡します。

Jira データソースを使用するには、Jira プロジェクトへのアクセス許可を持つ Atlassian アカウントが必要です。

## 既知の制限事項
<a name="jira-known-limitations"></a>

Jira アドオンのカスタムフィールドタイプはサポートされない場合があります。

## データソースの追加
<a name="jira-adding-the-data-source"></a>

1.  Amazon Managed Grafana ワークスペースで Grafana コンソールを開いて、ログインしていることを確認します。

1.  [**設定**] (歯車アイコン) のサイドメニューで、[**データソース**] を選択します。

1.  **[データソースの追加]** を選択します。
**注記**  
 サイドメニューに **[データソース]** リンクが表示されていない場合は、現在のユーザーに `Admin` ロールが付与されていないことを意味します。

1.  データソースのリストから **[Jira]** を選択します。

1. 次の情報を入力します。
   + **[名前]** に、この Jira データソースの名前を入力します。
   + **[URL]** に、**https://bletchleypark.atlassian.net** などの Atlassian インスタンスのルート URL を入力します。
   + **[E メール]** に、ユーザー/サービスアカウントの E メールアドレスを入力します。
   + **[API トークン]** に、ユーザー用に生成された API トークンを入力します。

## Jira データソースのクエリ
<a name="jira-query"></a>

Jira クエリエディタからフィールドとクエリの問題を選択できます。

Jira データソースは、Jira のバグ、ユーザーストーリー、サポートチケット、またはその他のタスクを表す可能性のある問題についてクエリします。

**問題点のフィルタリングおよび表示**

1.  **[フィールド]** を選択してドロップダウンを選択し、先行入力を使用し、カスタムフィールドを含む Jira インスタンス内の任意のフィールドから選択します。一部の試すフィールド: 
   + **[概要]** — 問題の名前
   + **[エピック名]** — 問題が属するエピック
   + **[ストーリーポイントの推定]** — チームが問題に関して推定したストーリーポイント数

1.  問題をフィルタリングまたはソートします。これを実行するには、有効な JQL 式を入力して、Atlanssian クエリ言語 JQL で **[プロジェクト]** 、**[担当者]** 、**[スプリント]** などのフィールドに基づき問題をフィルタリングまたはソートします。

ここから、テーブルにデータを表示、または Grafana 変換を使用してその問題データを操作し、計算を実行し、データを時系列グラフに変換できます。詳細については、「[変換の適用](panel-transformations.md#apply-a-transformation)」を参照してください。

## 時系列クエリ
<a name="jira-timeseries-query"></a>

時系列データを表示するためには、数値フィールドとともに **[日付]** フィールドを選択してから、グラフの視覚化に切り替えます。例: **[スプリント開始日]**、**[ストーリーポイントの見積り]**。

上記の例は、それだけではあまり役に立ちません。数値フィールドは、(多くの場合) 変換から計算されます。**[グループ化の条件]** に変換を使用すると、**[スプリント開始日]** 別にグループ化し、**[ストーリーポイントの見積り]** を要約し、スプリントごとにストーリーポイントを経時的に視覚化できます。変換の詳細については、「[変換の適用](panel-transformations.md#apply-a-transformation)」をご参照ください。

## テンプレートおよび変数
<a name="jira-templates"></a>

新しい Jira クエリ変数を追加するには、「[クエリ変数の追加](variables-types.md#add-a-query-variable)」を参照してください。ご使用の Jira データソースをデータソースとして使用します。

ダッシュボードで変数を定義して JQL 式で参照できます。例えば、プロジェクトのステータスダッシュボードを作成してプロジェクト間から選択、またはエピックのステータスダッシュボードを作成して異なるエピックを選択、またはタスクのステータスダッシュボードを作成して異なる担当者を選択できます。

プロジェクト、エピック、担当者などの動的リストを選択して取得するには、クエリタイプ変数を作成します。クエリタイプの変数は JQL を使用して問題をクエリし、プロジェクト、エピック、担当者、または問題に関係するものすべてを返します。以下に例を示します。

**担当者変数を作成して担当者ごとの問題ステータスを取得**

1.  **assignee** という名前の **[クエリ]** タイプの変数を追加します。

1.  **[フィールド: 担当者]** を選択します。

1.  (オプション) JQL フィルター **[project = 'your project']** を追加します。

1.  **[実行]** を選択して担当者のリストを表示します。

1. **[更新]** を選択してダッシュボードに変数を追加します。

1. ダッシュボードに新しいパネルを追加して JQL を編集し、新しい変数 **[assignee = \$1assignee]** を使用してフィルタリングします。

   ドロップダウンから選択すると、そのユーザーに割り当てられた問題のみが表示されるようになります。

複数値の変数を使用すると複数のオプションを選択でき、IN 句の一部として使用できます。例えば、**[assignee IN (\$1assignee)]** などです。

## Grafana からの変換を使用して一般的な質問に答える
<a name="jira-macros"></a>

マクロはダッシュボードの時間ウィンドウを参照する変数であり、ダッシュボードウィンドウの範囲内でのみ問題をフィルタリングできます。以下の 2 つのマクロがあります。
+ **\$1\$1\$1timeFrom**
+ **\$1\$1\$1timeTo**

次の JQL クエリ例では、ダッシュボードの時間ウィンドウ `createdDate >= $__timeFrom AND createdDate <= $__timeTo` 内に作成された問題をフィルタリングします。

## データソースの最大限の活用
<a name="jira-getmost"></a>

Grafana の変換やその他の組み込み機能を使用すると、Jira データの表示に便利です。

### 変換を使用した JQL の拡大
<a name="gitlab-transformations-JQL"></a>

Grafana では多くの変換を選択できますが、以下のような、一部の SQL の機能/能力を JQL に提供する強力な拡張が用意されています。

**[グループ化の条件]** この変換は、標準 Jira JQL 構文の一部ではない主な機能である、グループ化を提供します。**[グループ化の条件]** 変換を使用すると、スプリントまたは他の問題フィールドでグループ化して、グループ別に集計し、速度およびストーリーポイントの見積もり対スプリントでの実際の計算などのメトリクスを取得できます。

**外部結合** SQL 結合と同様に、共通フィールドで 2 つ以上のクエリを結合できます。これにより、クエリのデータセットを組み合わせ、他の変換を使用して、複数のクエリ/データセットからの値を計算できます。

**[計算からフィールドを追加]** SQL 式と同様に、この変換を使用すると、他のフィールドの計算に基づいてデータセットに新しいフィールドを追加できます。計算で使用するフィールドは、単一のクエリから、または結合したクエリからのフィールドである可能性があります。また、計算を連結して、計算フィールドから計算を実行できます。

### Grafana からの変換を使用して一般的な質問に答える
<a name="gitlab-transformations-common"></a>

変換を使用してデータセットを視覚化、集計、グループ化、結合したり、他のタイプの変換を使用して単純な結果を複雑な質問に対する回答に変換したりできます。

**スプリントあたりの速度を表示するにはどうすればよいですか?**

1.  **[スプリント名]**、**[ストーリーポイントの見積り]** の各フィールドを選択します。

1.  JQL フィルター `project = "Your Project" AND type != epic AND status = done order by created ASC` を追加します。

1.  **[グループ化の条件]** 変換を追加します: 
   + スプリント名 \$1 グループ化の条件
   + ストーリーポイントの見積り \$1 計算 \$1 合計

1. **[棒ゲージ]** 視覚化を選択します。

**スプリントでの完了済み対推定の内容を表示するにはどうすればよいですか?**

1.  クエリを追加します。まず、**[スプリント名]**、**[スプリント開始日]**、**[ストーリーポイントの見積り]** の各フィールドを選択します。

   次に、JQL フィルター `project = 'Your Project' AND type != epic` を追加します。

1.  2 つ目のクエリを追加します。まず、**[スプリント名]**、**[スプリント開始日]**、**[ストーリーポイントの見積り]** の各フィールドを選択します。

   次に、JQL フィルター `project = 'Your Project' AND type != epic AND status = done` を追加します。

1.  **[グループ化の条件]** 変換を追加します: 
   + スプリント名 \$1 グループ化の条件
   + スプリント開始日 \$1 グループ化の条件
   + ストーリーポイントの見積り \$1 計算 \$1 合計

1. **[グラフ]** の視覚化を選択します。

**プロジェクトで問題点を閉じるまでの平均時間はどのくらいですか?**

1.  クエリを追加します。まず、**[作成日]**、**[ステータスカテゴリ変更済み]** の各フィールドを選択します。

   次に、JQL フィルター `project = 'Your Project' AND type != epic AND status = done` を追加します。

1.  変換を追加: **[計算からフィールドを追加]**
   + モード = 行を減らす
   + 計算 = 差分

1.  変換を追加: **[計算からフィールドを追加]**
   + モード = バイナリオペレーション
   + オペレーション = 差/86000000
   + エイリアス = 日数

1.  変換の追加: **[フィールドの整理]**
   + 異なるフィールドを非表示

1.  変換の追加: **[値によるデータのフィルタリング]**
   + フィルタータイプ = 含める
   + 条件 = いずれかに一致
     + フィールド = 日数 \$1 一致 = より大きい \$1 値 = 1

1.  変換の追加: **[削減]**
   + モード = シリーズから行
   + 計算 = 平均

1. **[統計]** 視覚化を選択します。

# MongoDB データソースに接続する
<a name="AMG-mongodb-datasource"></a>

 MongoDB データソースを使用すると、Amazon Managed Grafana の MongoDB からのデータを視覚的に表現することができます。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## 使用方法
<a name="mongo-usage"></a>

### クエリエディタ
<a name="mongo-query-editor"></a>

 クエリエディタは、MongoDB Shell と同じ構文をサポートしていますが、いくつかの制限があります。\$1 実行できるのは 1 つのコマンド/クエリのみです。\$1 **find** (検索) と **aggregate** (集計)の読み取り専用のコマンドのみがサポートされています。\$1 *ほとんどの*オブジェクトコンストラクターはサポートされていません (**ISODate** は例外としてサポートされています） 

 エディタは次の方法で MongoDB Shell 構文を拡張します。
+  **データベースの選択** — 通常の「db」の代わりにデータベースの名前を指定できます。
**注記**  
「db」を引き続き使用できます。接続文字列のデフォルトデータベースを参照します。

  ```
  sample_mflix.movies.find()
  ```
+  **集計のソート** – 通常、ソートは集計パイプライン内のステップで行われますが、MongoDB Atlas の無料プランではソートは実行できません。そのため、無料プランを利用しているユーザー向けに構文を拡張しました。
**注記**  
この構文でソートを実行するのは MongoDB ではなく、ソートは、コレクションから結果がクエリされた後に行われます。

  ```
  sample_mflix.movies.aggregate({}).sort({"time": 1})
  ```
+  エディタが空の状態で **[Ctrl \$1 スペース]** を押すと、使用可能なすべてのデータベースの選択肢が表示されます。
+  データベースの後にドットを入力すると、そのデータベースで使用可能なすべてのコレクションの選択肢が表示されます。
+  コレクションの後にドットを入力すると、使用可能なクエリメソッドが表示されます。
+  クエリメソッドの後にドットを入力すると、追加の関数 (sort/limit) が表示されます。

#### クエリの実行
<a name="mongo-running-the-query"></a>

 **Cmd \$1 S** を押すとクエリが実行されます。

### 時系列
<a name="mongo-time-series"></a>

 時系列データを視覚化する場合、プラグインにどのフィールドを時間として使用するかを伝える必要があります。これは、単純にそのフィールドを「time」という名前のエイリアスで投影するだけです。このフィールドのデータ型は日付型である必要があります。

 日付型以外のデータ型を強制的に日付型にすることができます。これにより、日付以外のフィールドを時系列時間として使用できるようになります。以下に、MongoDB \$1dateFromParts パイプライン演算子を使用して、int フィールド「year」を日付型に変換した「time」として射影する例を示します。

```
sample_mflix.movies.aggregate([
{"$match": { "year": {"$gt" : 2000} }},
{"$group": { "_id": "$year", "count": { "$sum": 1 }}},
{"$project": { "_id": 0, "count": 1, "time": { "$dateFromParts": {"year": "$_id", "month": 2}}}}
]
).sort({"time": 1})
```

### 診断
<a name="mongo-diagnostics"></a>

 [診断コマンド](https://docs.mongodb.com/manual/reference/command/nav-diagnostic/) 

 現時点で、「stats」、「serverStatus」、「replSetGetStatus」、「getLog」、「connPoolStats」、「connectionStatus」、「buildInfo」、「dbStats」、「hostInfo」、「lockInfo」の診断コマンドがサポートされています。

 例: 

```
admin.connectionStatus()  // run the connectionStatus command
admin.connectionStatus({"authInfo.authenticatedUserRoles": 1})  // run and only return the "authInfo.authenticatedUserRoles" field
admin.connPoolStats({arg: "pool"})  // run the connPoolStats command and pass 1 argument
admin.serverStatus({args: {repl: 0, metrics:0}})  // run the serverStatus command and pass multiple args
```

### マクロ
<a name="mongo-macros"></a>

 クエリ内でダッシュボードの時間範囲をすることが参照できます。
+ ` $__timeFrom `— ダッシュボードの開始時刻を参照するマクロ
+ ` $__timeTo `— ダッシュボードの終了時刻を参照するマクロ

```
          $__timeTo -  ``` sample_mflix.movies.find({released: {$gt:
          "$__timeFrom"}}).sort({year: 1})
```

#### テンプレート変数
<a name="mongo-variables"></a>

MongoDB では「複合変数」という概念がサポートされており、これを使用することで 1 つの変数を複数の変数として扱い、複雑な複数キーのフィルターを実行することができます。

複合変数を作成するには、`_var1_var2` のように変数をアンダースコアで区切る命名規則を使用します（アンダースコアで始める必要があります)。クエリを実行する際、応答は `val1-val2` の形式である必要があります。

**例:結果を「映画のタイトル」と「年」の両方でフィルタリングしたい場合。**

1. クエリ型の変数 `_movie_year` を作成します。

1. 変数クエリを設定して、以下の例のように「movie-year」プロパティを持つアイテムの配列を返すクエリにします。

   ```
   // Example sample_mflix.movies.aggregate([
             {"$match": {year: {"$gt": 2011}}},
             {"$project": {_id: 0, movie_year: {"$concat":
             ["$title", " - ", {"$toString":"$year"}]}}}
             ])
   ```

   ```
    // [{"movie-year": "Ted - 2016"},
             {"movie-year": "The Terminator -
             1985"}]
   ```

1. これで、クエリ内で「Movie」と「Year」をそれぞれ別のテンプレート変数として、「\$1\$1variable」構文を使用して参照できます。

##### アドホックフィルターの使用
<a name="mongo-adhoc"></a>

任意の名前の標準の「ad-hoc filter」型変数に加えて、2 番目のヘルパー変数を作成する必要があります。これは「mongodb\$1adhoc\$1query」という名前の「定数」型で、クエリエディタと互換性のある値でなければなりません。クエリの結果は、選択可能なフィルターを埋めるために使用されます。この変数はそれ以上の目的がないため、非表示にすることもできます。

```
          sample_mflix.movies.aggregate([
          {"$group": { "_id": "$year"}},
          {"$project": { "year": "$_id","_id":
          0 }} ] )
```

# New Relic データソースへの接続
<a name="new-relic-data-source"></a>

 このセクションでは、New Relic [APM](https://newrelic.com/products/application-monitoring) と Grafana 用 [Insights](https://newrelic.com/products/insights) について説明します。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## 機能
<a name="newrelic-features"></a>
+  テンプレート変数 
  +  メトリクス名 
  +  メトリクス値 
+  ‏注釈 
+  エイリアス定義 
  +  メトリクス名 
  +  メトリクス値 
+  アドホックフィルター 
  +  現在サポートされていません 
+  [アラート] 

## 設定
<a name="newrelic-configuration"></a>

 データソースを追加して、[[管理者 API キー]](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#admin)、[[個人用 API キー]](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#personal-api-key)、および[[アカウント ID]](https://docs.newrelic.com/docs/accounts/install-new-relic/account-setup/account-id) の各フィールドに入力します。

## 使用方法
<a name="newrelic-usage"></a>

### サービスカテゴリ
<a name="newrelic-service-types"></a>
+  **メトリクス**: New Relic の [REST API](https://docs.newrelic.com/docs/apis/rest-api-v2) を介して New Relic APM をクエリする場合。
+  **Insights**: [NRQL](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/nrql-resources/nrql-syntax-components-functions) 経由で New Relic Insights をクエリする場合。

### Aliases
<a name="newrelic-aliases"></a>

 プレーンテキストを次の変数と組み合わせてカスタム出力を生成できます。


|  可変  |  説明  |  値の例  | 
| --- | --- | --- | 
|  \$1\$1\$1nr\$1metric  |  メトリクス名  |  CPU/ユーザー時間  | 
|  \$1\$1\$1nr\$1metric\$1value  |  メトリクス値  |  average\$1value  | 

例えば、次のようになります。

```
    <para>
      Server: $__nr_server Metric: $__nr_metric
    </para>
    <programlisting>
```

### テンプレートおよび変数
<a name="newrelic-templates-and-variables"></a>

1.  ダッシュボード用テンプレート変数を作成します。詳細については、「[テンプレートおよび変数](templates-and-variables.md)」を参照してください。

1.  「クエリ」タイプを選択します。

1.  「New Relic」データソースを選択します。

1.  相対 [REST API](https://docs.newrelic.com/docs/apis/rest-api-v2) エンドポイント (ファイル拡張子を除く) を使用してクエリを定式化します。

使用可能なアプリケーションのリスト:

```
    <para>
      applications
    </para>
    <programlisting>
```

アプリケーションで使用可能なメトリクスのリスト:

```
    <para>
      applications/{application_id}/metrics
    </para>
    <programlisting>
```

### NRQL マクロ
<a name="nrql-macros"></a>

 New Relic クエリ言語 (NRQL) のクエリを作成するときの書き込みエクスペリエンスを向上させるため、エディタは事前定義マクロをサポートしています。
+  `$__timeFilter` (または `[[timeFilter]]`) は、ダッシュボードの時間範囲に基づいて `SINCE &lt;from&gt; UNTIL &lt;to&gt;` を変更します。

例:

```
    <para>
      SELECT average(value) FROM $event_template_variable
      $__timeFilter TIMESERIES
    </para>
    <programlisting>
```

 マクロ変数およびテンプレート変数の使用方法の詳細については、エディタのヘルプセクションを参照してください。

### アラートイベント
<a name="newrelic-alert-events"></a>

 New Relic のデータソースを選択して追加のフィルターを設定します。フィルターを設定しない場合は、すべてのイベントが返されます。

 *エンティティ ID* でイベントをフィルタリングする場合は、ID の代わりにエンティティ名を選択できる、テンプレート変数を使用します。例えば、特定のアプリケーションのイベントをフィルタリングするには、アプリのリストを取得して*エンティティ ID* フィルターとして使用する変数 `_$app_` を作成します。

### デプロイイベント
<a name="newrelic-deployment-events"></a>

 *アプリケーション ID* は必須のフィールドです。

# Oracle Database のデータソースへの接続
<a name="oracle-datasource-AMG"></a>

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## データソースの追加
<a name="datasource-configuration"></a>

 Grafana の左側パネルで **[データソース]** を選択します。

 以下のようにデータソースの追加を選択します。

 **oracle** を入力してデータソースを検索します。

 Oracle サーバーの詳細を入力します。

 ホスト名 (または IP アドレス) とポート番号、接続するユーザー名およびパスワードを入力します。

 tnsnames オプションのトグルを使用すると、tnsnames.ora の設定ファイルにある有効なエントリを、基本認証とともに使用できます。

 前の例と似ていますが、認証には Kerberos を使用しています。OS または docker コンテナで kerberos を使用するための設定方法については、kerberos 固有のセットアップガイドを参照してください。

 必要に応じて、Oracle サーバーへの接続に使用、およびタイムゾーン対応マクロで使用される、タイムゾーンを変更します。デフォルト設定は UTC です。

 データソースを保存してテストすると、「データベース接続 OK」という緑のメッセージが表示されます。

## 使用方法
<a name="usage-4"></a>

### マクロ
<a name="macros-1"></a>

 構文を簡素化し、日付範囲フィルターなどの動的部分を許可するため、クエリにマクロを含めることができます。列名は二重引用符 (`"`) 内に含める必要があります。


|  マクロの例  |  説明  | 
| --- | --- | 
|  \$1\$1\$1\$1time(dateColumn)\$1 \$1 列の名前を「time」に変更した式に置き換えられます。例えば、`dateColumn as time` \$1\$1\$1\$1timeEpoch(dateColumn)\$1 は  |  列の名前を time に変更し、値を Unix タイムスタンプ (ミリ秒単位) に変換する式に置き換えられます。 | 
|  \$1\$1\$1\$1timeFilter(dateColumn)\$1 \$1 指定された列名を使用して時間範囲フィルターに置き換えられます。例えば、`dateColumn BETWEEN TO\$1DATE('19700101','yyyymmdd') \$1 (1/24/60/60/1000) \$1 1500376552001 AND TO\$1DATE('19700101','yyyymmdd') \$1 (1/24/60/60/1000) \$1 1500376552002` \$1\$1\$1\$1timeFrom()\$1 は  |  DATE データ型に変換された現在アクティブな時間選択の開始に置き換えられます。例えば、TO\$1DATE('19700101','yyyymmdd') \$1 (1/24/60/60/1000) \$1 1500376552001。 | 
|  \$1\$1\$1\$1timeTo ()\$1 \$1 現在アクティブな時間選択の末尾が「DATE」のデータ型に変換されます。`DATE` data type. \$1\$1\$1\$1timeGroup(dateColumn,"5m")\$1 は  |  GROUP BY 句で使用できる式に置き換えられます。 | 
|  \$1\$1\$1\$1timeGroup(dateColumn,"5m"[, fillvalue])\$1 は  |  GROUP BY 句で使用できる式に置き換えられます。fillValue に NULL または浮動値を指定すると、時間範囲内の空のシリーズにその値が自動的に入力されます。例えば、timeGroupcreatedAt, ′1m′, 0.\$1\$1\$1timeGroup(dateColumn,"5m", 0)\$1. | 
|  \$1timeGroup(dateColumn, ‘5m’, NULL) \$1 \$1SameasabovebutNULLwillbeusedasvalueformissingpoints.\$1\$1\$1timeGroup(dateColumn,"5m", previous)\$1  |  上記と同じですが、しのシリーズの前の値がフィル値として使用されます。まだ値が見つからない場合は NULL が使用されます。 | 
|  \$1\$1\$1\$1unixEpochFilter(dateColumn)\$1 \$1 指定された列名を使用して、Unix タイムスタンプとして表される時間 (ミリ秒単位) で時間範囲フィルターに置き換えられます。例えば、`dateColumn >= 1500376552001 AND dateColumn <= 1500376552002` \$1\$1\$1\$1unixEpochFrom()\$1 は  |  現在アクティブな時間選択の開始が Unix タイムスタンプに置き換えられます。例えば、1500376552001。 | 
|  \$1\$1\$1\$1unixEpochTo()\$1 は  |  現在アクティブな時間選択の最後が Unix タイムスタンプに置き換えられます。例えば、1500376552002。 | 

 プラグインは中括弧 `{}` を使用した表記もサポートしています。パラメータ内でクエリが必要な場合はこの表記を使用します。

**注記**  
クエリごとに 1 つの表記タイプを使用します。クエリに中括弧が必要な場合、クエリ内のすべてのマクロで中括弧を使用する必要があります。

```
$__timeGroup{"dateColumn",'5m'}
$__timeGroup{SYS_DATE_UTC("SDATE"),'5m'}
$__timeGroup{FROM_TZ(CAST("SDATE" as timestamp), 'UTC'), '1h'}
```

 クエリエディタには、パネル編集モードでクエリが実行された後に表示される **[生成 SQL]** リンクがあります。リンクを選択すると、リンクが展開されて実行済みの未加工の補間 SQL 文字列が表示されます。

### テーブルクエリ
<a name="table-queries"></a>

 **[Format as]** クエリオプションが **[テーブル]** に設定されている場合は、基本的に任意のタイプの SQL クエリを実行できます。テーブルパネルにはクエリが返す列と行の結果が自動的に表示されます。テーブルパネルの列名は、通常の `as` SQL 列選択構文を使用して制御できます。

### 時系列クエリ
<a name="time-series-queries"></a>

 例えば Graph パネルで使用するために **[Format as]** を **[時系列]** に設定した場合、クエリは SQL 日時または Unix エポック (秒単位) を表す任意の数値データ型を返す `time` という名前の列を返す必要があります。Grafana は明示的なタイムゾーンがない DATE 列と TIMESTAMP 列を UTC として解釈します。`time` および `metric` を除くすべての列は、値列として扱われます。値列のメトリクス名として使用される `metric` という名前の列を返すことができます。

 次のコード例は、`metric` 列を示しています。

```
SELECT
  $__timeGroup("time_date_time", '5m') AS time,
  MIN("value_double"),
  'MIN' as metric
FROM test_data
WHERE $__timeFilter("time_date_time")
GROUP BY $__timeGroup("time_date_time", '5m')
ORDER BY time
```

### その他のクエリ – oracle-fake-data-gen を使用します
<a name="more-queries---using-oracle-fake-data-gen"></a>

```
SELECT
  $__timeGroup("createdAt", '5m') AS time,
  MIN("value"),
  'MIN' as metric
FROM "grafana_metric"
WHERE $__timeFilter("createdAt")
GROUP BY $__timeGroup("createdAt", '5m')
ORDER BY time
```

 次のコード例は偽データの時系列を示しています。

```
SELECT
  "createdAt",
  "value"
FROM "grafana_metric"
WHERE $__timeFilter("createdAt")
ORDER BY "createdAt" ASC
```

```
SELECT
  "createdAt" as time,
  "value" as value
FROM "grafana_metric"
WHERE $__timeFilter("createdAt")
ORDER BY time ASC
```

 次の例は便利なテーブルの結果を示しています。

```
select tc.table_name Table_name
,tc.column_id Column_id
,lower(tc.column_name) Column_name
,lower(tc.data_type) Data_type
,nvl(tc.data_precision,tc.data_length) Length
,lower(tc.data_scale) Data_scale
,tc.nullable nullable
FROM all_tab_columns tc
,all_tables t
WHERE tc.table_name = t.table_name
```

### テンプレート作成
<a name="templating-3"></a>

 メトリクスクエリではサーバー、アプリケーション、センサー名などをハードコーディングする代わりに、変数を使用できます。変数は、ダッシュボードの上部にドロップダウン選択ボックスとして表示されます。これらのドロップダウンボックスを使用すると、ダッシュボード内に表示されるデータを簡単に変更できます。

#### クエリ変数
<a name="query-variable-1"></a>

 タイプ `Query` のテンプレート変数を追加すると、測定名、キー名、ドロップダウン選択ボックスとして表示されるキー値などを返すことができる Oracle クエリを記述できます。

 例えば、テンプレート変数の*クエリ*設定でこのようなクエリを指定した場合、テーブル内の `hostname` 列のすべての値を含む変数を指定できます。

```
SELECT "hostname" FROM host
```

 クエリは複数の列を返すことができ、Grafana はそれらの列からリストを自動的に作成します。例えば、次のクエリは、 `hostname` と `hostname2` の値を含むリストを返します。

```
SELECT "host.hostname", "other_host.hostname2" FROM host JOIN other_host ON host.city = other_host.city
```

 クエリで `$__timeFilter("time_column")` などの時間範囲依存マクロを使用するには、テンプレート変数の更新モードを *[時間範囲変更]* に設定する必要があります。

```
SELECT "event_name" FROM event_log WHERE $__timeFilter("time_column")
```

 もう 1 つのオプションは、キー/値変数を作成できるクエリです。クエリは、 `__text` と `__value` という名前の 2 つの列を返します。`__text` 列の値は一意である必要があります (一意でない場合は、最初の値が使用されます)。ドロップダウンリストのオプションには、わかりやすい名前をテキストとして、ID を値として指定できるテキストと値があります。次のコード例は、`hostname` をテキストとして、`id` を値として持つクエリを示しています。

```
SELECT "hostname" AS __text, "id" AS __value FROM host
```

 ネストされた変数も作成できます。例えば、`region` という名前の別の変数がある場合です。次に、ホスト変数に、このようなクエリを含む、現在選択されているリージョンからのホストのみを表示させることができます (`region` が複数値変数の場合は、`=` を使用して複数の値と照合するのではなく、`IN` 比較演算子を使用します)。

```
SELECT "hostname" FROM host WHERE region IN('$region')
```

#### クエリでの変数の使用
<a name="using-variables-in-queries-1"></a>

 テンプレート変数の値は、テンプレート変数が `multi-value` の場合にのみ引用符で囲まれます。

 変数が複数値の変数の場合は、`=` を使用して複数の値と照合するのではなく、`IN` 比較演算子を使用します。

 2 つの構文があります。

 `$<varname>` `hostname` という名前のテンプレート変数の例: 

```
SELECT
  "atimestamp" as time,
  "aint" as value
FROM table
WHERE $__timeFilter("atimestamp") AND "hostname" IN('$hostname')
ORDER BY "atimestamp" ASC
```

 `[[varname]]` `hostname` という名前のテンプレート変数の例: 

```
SELECT
  "atimestamp" as time,
  "aint" as value
FROM table
WHERE $__timeFilter("atimestamp") AND "hostname" IN('[[hostname]]')
ORDER BY atimestamp ASC
```

# Salesforce データソースへの接続
<a name="salesforce-AMG-datasource"></a>

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

Salesforce データソースを使用すると、Amazon Managed Grafana 内で Salesforce のデータを視覚化できます。

このデータソースを使用するには、[Salesforce](https://www.salesforce.com/) アカウントと [Salesforce 接続アプリ](https://help.salesforce.com/articleView?id=sf.connected_app_overview.htm&type=5)が必要です。

## 既知の制限事項
<a name="salesforce-known-limitations"></a>
+  アドホックフィルターは未サポートです。
+  現在、SOQL クエリ、および SOQL 経由でアクセスできるデータのみがサポートされています。SOSL および SAQL のクエリ形式は未サポートです。

## 必須の設定
<a name="salesforce-settings"></a>

次のオプション設定が必要です。

**注記**  
プラグインは現在、OAuth 2.0 のユーザー名パスワードフローを使用しています。接続アプリに必要なコールバック URL は使用しません。したがって、有効な任意の URL に設定することができます。


|  名前  |  説明  | 
| --- | --- | 
|  Enable OAuth settings  |  OAuth を有効にするにはこれをチェックする必要があります。 | 
|  Callback URL  |  このプラグインでは使用されないため、有効な任意の URL を指定できます。 | 
|  Selected OAuth Scopes (minimum requirements)  | データ (api) にアクセスして管理します。 | 
|  Require Secret for Refresh Token Flow  |  これは有効化または無効化のいずれかを選択できます。 | 

## データソースの追加
<a name="salesforce-adding-the-data-source"></a>

1.  Amazon Managed Grafana ワークスペースで Grafana コンソールを開いて、ログインしていることを確認します。

1.  [**設定**] (歯車アイコン) のサイドメニューで、[**データソース**] を選択します。

1.  **[データソースの追加]** を選択します。
**注記**  
 サイドメニューに **[データソース]** リンクが表示されていない場合は、現在のユーザーに `Admin` ロールが付与されていないことを意味します。

1.  データソースのリストから **[Salesforce]** を選択します。

1. 次の情報を入力します。
   + **[ユーザー名]** に、Salesforce の接続とクエリに使用する Salesforce アカウントのユーザー名を入力します。
   + **[パスワード]** にユーザーのパスワードを入力します。
   + **[セキュリティトークン]** に、そのユーザーのセキュリティトークンを入力します。
   + **[コンシューマーキー]** に、Salesforce に接続するコンシューマーキーを入力します。これは Salesforce 接続アプリから取得できます。
   + **[コンシューマーシークレット]** に、Salesforce に接続するコンシューマーシークレットを入力します。これは Salesforce 接続アプリから取得できます。
   + **[サンドボックスを使用]** をは、Salesforce サンドボックスを使用する場合に選択します。

## Salesforce データソースのクエリ
<a name="salesforce-query"></a>

クエリエディタはクエリビルダーと SOQL エディタのモードをサポートしています。SOQL は [Salesforce Object Query Language](https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql.htm) の略です。

### クエリビルダー (SOQL ビルダー)
<a name="salesforce-query-builder"></a>

クエリビルダーは SOQL クエリ構築用の使いやすいインターフェイスです。SOQL クエリの記述に慣れていない場合は、このモードを使用して SOQL を構築し Salesforce オブジェクトをクエリできます。クエリビルダーの **[FROM]** フィールドは Salesforce のエンティティ (1 つ以上) を参照します。クエリビルダーで他の操作を行う前に、**[FROM]** フィールドを選択する必要があります。**[FROM]** フィールドを選択したら、ビルダーモードを選択する必要があります。SOQL ビルダーは現在次のモードをサポートしています。
+ `List` — 選択したテーブル/salesforce のフィールドを含む項目を一覧表示します。このモードを使用して、「この四半期に作成された機会のリストを、名前、値、ステージとともに表示」などの結果を取得します。
+ `Aggregate` — エンティティ内の項目を集約します。このモードを使用して、「先月作成された機会をカウント」 または「ステージ名によりグループ化した機会の合計値」などの結果を取得します。
+ `Trend` — 集計結果を経時的に表示します。このモードを使用して、「CreatedDate による機会数のカウント」 または「機会によりグループ化された値の合計数」などの結果を取得します。

クエリエディタで `Entity/FROM` と **[モード]** を選択してから、次のオプションを使用してクエリを構築します。


|  **フィールド**  |  **適用対象**  |  **説明**  | 
| --- | --- | --- | 
|  SELECT |  すべて  |  表示するフィールドのリストを選択します。集計ビューまたはトレンドビューで、値の集計方法も選択します。 | 
|  WHERE |  すべて  |  (オプション) フィルター条件を指定します。結果は選択した条件に基づいてフィルタリングされます。 | 
|  ORDER BY |  LIST、AGGREGATE  |  (オプション) 結果に使用するフィールド名とソート順序を選択します。 | 
|  LIMIT |  LIST、AGGREGATE  |  (オプション) 返される結果数を制限します。デフォルトは 100 です。 | 
|  グループ化の条件 |  AGGREGATE  |  (オプション) 集計値を特定のフィールドで分割する場合にフィールドを選択します。 | 
|  時間フィールド |  トレンド  |  結果をグループ化するための日付フィールドを指定します。結果は Grafana のタイムピッカー範囲に基づいてフィルタリングされます。 | 

クエリエディタで前述のフィールドを設定すると、生成された SOQL のプレビューもクエリエディタの下に表示されます。クエリビルダーの制限でブロックされる場合は、安全に SOQL エディタに切り替えることができます。SOQL エディタでは生成された SOQL クエリをカスタマイズできます。

### SOQL エディタ
<a name="salesforce-SOQL-editor"></a>

未加工 SOQL エディタには、 未加工の SOQL クエリを介して Salesforce オブジェクトをクエリするオプションがあります。SOQL エディタには、テーブルごとに使用可能なエンティティや対応するフィールドなどの、自動入力の提案が用意されています。テーブルごとに使用可能なエンティティを表示するには、SELECT または WHERE の後に Ctrl\$1スペースを使用します。エンティティ名の後にドットを入力すると、使用可能なフィールドが表示されます。

**ショートカット**

CTRL \$1 スペースを使用すると、使用可能なコンテキストオプションを示すコード完了が表示されます。

CMD \$1 S ではクエリを実行します。

**時系列としてクエリ**

日付フィールドを時間に、メトリクスフィールドをメトリクスにエイリアシングして時系列クエリを作り、メトリクスと日付でグループ化します。以下に例を示します。

```
SELECT sum(Amount) amount, CloseDate time, Type metric from Opportunity
group by Type, CloseDate
```

**マクロ**

ダッシュボードの時間範囲によりフィルタリングする場合は、SOQL クエリでマクロを使用できます。
+ `$__timeFrom` — `time` データ型に変換された現在アクティブな時間選択の開始に置き換えられます。
+ `$__timeTo` — `time` データ型に変換された現在アクティブな時間選択の終了に置き換えられます。
+ `$__quarterStart` — 会計四半期の開始 (SalesForce 会計年度設定から派生)。
+ `$__quarterEnd`— 会計四半期の終了 (SalesForce 会計年度設定から派生)。

```
SELECT UserId, LoginTime from LoginHistory where LoginTime > $__timeFrom
```

## テンプレートおよび変数
<a name="salesforce-templates"></a>

新しい Salesforce クエリ変数を追加するには、「[クエリ変数の追加](variables-types.md#add-a-query-variable)」を参照してください。Salesforce データソースをデータソースとして使用します。ここでは任意の SOQL クエリを使用できます。

ユーザー ID やユーザー名など、名前/値のペアを使用する場合は、SOQL クエリから 2 つのフィールドを返します。最初のフィールドは ID として使用されます。これはクエリエディタ SOQL のキー (ID など) でフィルタリングする場合に実行します。

変数構文を使用して SOQL クエリで 変数を使用します。詳細については、「[変数構文](templates-and-variables.md#variable-syntax)」を参照してください。

# SAP HANA データソースへの接続
<a name="saphana-AMG-datasource"></a>

[SAP HANA](https://www.sap.com/products/technology-platform/hana.html) は、データ駆動型のリアルタイムの決定と \$1 アクションを高速化する、高性能のインメモリデータベースです。SAP によって開発、販売されています。SAP HANA データソースプラグインは、SAP HANA インスタンスを Grafana に接続するために役立ちます。

SAP HANA Grafana Enterprise プラグインを使用すると、ご使用の SAP HANA データを Grafana の他のすべてのデータソースと一緒に視覚化し、コンテキスト内のログデータとメトリクスデータを視覚化できます。このプラグインにはビルトインのクエリエディタが含まれており、注釈がサポートされ、アラートしきい値の設定、アクセスの制御、アクセス許可の設定などを実行できます。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## 機能
<a name="saphana-features"></a>
+ **[クエリエディタ]** — プラグインには、時系列またはテーブルデータを視覚化し、基本的な Grafana マクロを自動補完できる、構文強調表示付きの SQL クエリエディタが組み込まれています。
+ **[データソースのアクセス許可]** — Grafana で SAP HANA データを表示またはクエリできるユーザーを制御します。
+ **[注釈]** — SAP HANA イベントまたはデータを Grafana グラフにオーバーレイして、イベントを他のグラフデータに関連付けます。
+ **[アラート]** — SAP HANA にアラートベースのメトリクスストアを設定します。
+ **[クエリの変数]** — Grafana に SAP HANA データに基づくテンプレート変数を作成し、SAP HANA クエリに変数を含めてダッシュボードをインタラクティブにします。

## データソースの追加
<a name="saphana-adding-the-data-source"></a>

1.  Amazon Managed Grafana ワークスペースで Grafana コンソールを開いて、ログインしていることを確認します。

1.  [**設定**] (歯車アイコン) のサイドメニューで、[**データソース**] を選択します。

1.  **[データソースの追加]** を選択します。
**注記**  
 サイドメニューに **[データソース]** リンクが表示されていない場合は、現在のユーザーに `Admin` ロールが付与されていないことを意味します。

1.  データソースのリストから **[SAP HANA]** を選択します。

1. Config エディタで、以下の情報を入力します。
   + **[サーバーアドレス]** には、SAP HANA インスタンスのアドレスを指定します。例えば、`xxxxxxx-xxxx-xxxx-xxxx-xxxxxxx.hana.trial-us10.hanacloud.ondemand.com` などです。
   + **サーバーポート]** には、SAP HANA インスタンスのポートを指定します。
   + **[ユーザー名]** には、SAP HANA インスタンスへの接続に使用するユーザー名を入力します。
   + **[パスワード]** には、このユーザーのパスワードを入力します。
   + (オプション) TLS 検証をスキップする場合は **[TLS 検証のスキップ]** を有効にします。
   + (オプション) クライアント証明書とキーを指定する必要がある場合は、**[TLS クライアント認証]** を有効にします。
   + (オプション) 自己署名 TLS 証明書の認証を有効にする場合は、**[CA 証明書を使用]** を有効にします。
   + (オプション) **[デフォルトスキーマ]** には、使用するデフォルトスキーマを入力します。これを省略すると、すべてのクエリでスキーマを指定する必要があります。

**アクセスおよび許可**

Grafana を SAP HANA に接続するには、専用の認証情報を使用します。ユーザーに必要なアクセス許可のみを提供します。まず、ユーザー名とパスワードを使用して制限付きユーザーを作成します。次のクエリは制限付きユーザーの作成例です。このクエリではパスワード変更の強制も無効になります。

```
CREATE RESTRICTED USER <USER> PASSWORD <PASSWORD> NO FORCE_FIRST_PASSWORD_CHANGE;
```

次に、Grafana などのクライアントを介して、システムを以下に接続することをユーザーに許可します。

```
ALTER USER <USER> ENABLE CLIENT CONNECT;
```

最後に、必要なビュー、テーブル、スキーマへのアクセス許可をユーザーに付与します。

```
ALTER USER <USER> GRANT ROLE PUBLIC;
GRANT SELECT ON SCHEMA <SCHEMA> TO <USER>;
```

**ユーザーレベルのアクセス許可**

データソース設定ページの [アクセス許可] タブをクリックして、データソースのアクセス許可を有効にすることで、SAP HANA へのアクセスを制限します。アクセス許可ページでは、管理者はアクセス許可を有効にし、クエリのアクセス許可を特定のユーザーとチームに制限できます。

## クエリエディタ
<a name="saphana-queryeditor"></a>

SAP HANA Grafana プラグインには、任意の HANA クエリを入力できる SQL クエリエディタが用意されています。クエリが時系列データを返す場合は、グラフパネルでそれらを視覚化するための時系列としてフォーマットできます。クエリエディタには、サポートされている Grafana マクロと SQL クエリの構文強調表示の自動補完が用意されています。

## ‏注釈
<a name="saphana-annotations"></a>

SAP HANA クエリは Grafana 注釈のソースとして使用できます。注釈クエリは、少なくとも 1 つの時間列と 1 つのテキスト列を返す必要があります。注釈の詳細については、「[‏注釈](dashboard-annotations.md)」を参照してください。

**SAP HANA から注釈を作成する方法**

1.  **[ダッシュボード設定]** 歯車アイコンを選択します。

1.  左メニューから、**[注釈]**、**[新規]** を選択します。

1.  **[データソース]** ドロップダウンメニューから、SAP HANA データソースのインスタンスを選択します。

1.  **[クエリ]** フィールドに、少なくとも 1 つの時間フィールドと 1 つのテキストフィールドを返す SAP HANA クエリを入力します。

1.  **[フォーマット形式]** で、**[時系列]** を選択します。

1.  注釈ごとに、**[From]** フィールドを設定します。

## テンプレートおよび変数
<a name="saphana-templates"></a>

新しい SAP HANA クエリ変数を追加するには、「[クエリ変数の追加](variables-types.md#add-a-query-variable)」を参照してください。SAP HANA データソースをデータソースとして使用します。

次のクエリ例では、 `users` テーブルの `username` の個別のリストを返します。

```
select distinct("username") from "users"
```

**注記**  
変数クエリでは必ず 1 つの列のみを選択してください。クエリが 2 つの列を返す場合は、最初の列は表示値として使用され、2 番目の列は変数の実際の値として使用されます。クエリが 3 つ以上の列を返す場合、それらは拒否されます。

### テンプレートおよび変数
<a name="saphana-Grafana-variables"></a>

クエリでは任意の Grafana 変数を使用できます。次の例は、クエリで単一/複数の変数を使用する方法を示しています。

```
-- For example, following query
select * from "users" where "city" = ${city}
-- will be translated into
select * from "users" where "city" = 'london'
--- where you can see ${city} variable translated into actual value in the variable
```

テキストと同様に、変数は数値フィールドでも機能します。次の例で、`${age}` は、数値を受け入れ、テーブル内の数値フィールドと比較するテキストボックスの変数です。

```
select * from "users" where "age" > ${age}
--- wil be translated into
select * from "users" where "age" > '36'
```

変数が複数の値を返す場合は、次のような SAP HANA クエリの `in` 条件で使用できます。SAP HANA で `where in` 条件を有効にするための、変数を囲む角括弧に注意してください。

```
select * from "users" where "city" in (${cities})
--- will be translated into
select * from "users" where "city" in ('london','perth','delhi')
--- where you can see ${cities} turned into a list of grafana variables selected.
--- You can also write the same query using shorthand notation as shown below
select * from "users" where "city" in ($cities)
```

### マクロ
<a name="saphana-macros"></a>
+ `$__timeFilter(<time_column>)` — 未加工のクエリで使用する場合、Grafana の時間範囲を指定列に適用します。time/timestamp/long 時間列に適用されます。
+ `$__timeFilter(<time_column>, <format>)` - 上記と同じ。ただし、データベースに保存される time\$1column の形式を指定できます。
+ `$__timeFilter(<time_column>, "epoch", <format>)` — 上記と同じですが、時間列がエポックであるときに使用できます。 形式は、「s」、「ms」、「ns」のいずれかです。
+ `$__fromTimeFilter(<time_column>)` — 上記と同じですが、時間列がエポックであるときに使用できます。 形式は、「s」、「ms」、「ns」のいずれかです。
+ `$__fromTimeFilter(<time_column>, <comparison_predicate>)` — 上記と同じですが、 comparison\$1predicate を指定できます。
+ `$__fromTimeFilter(<time_column>, <format>)` — 上記と同じですが、時間列の形式を指定できます。
+ `$__fromTimeFilter(<time_column>, <format>, <comparison_predicate>)` — 上記と同じですが、 comparison\$1predicate を指定できます。
+ `$__toTimeFilter(<time_column>)` — grafana の [to time over a time] フィールドに基づく時間条件を返します。
+ `$__toTimeFilter(<time_column>, <comparison_predicate>)` — 上記と同じですが、 comparison\$1predicate を指定できます。
+ `$__toTimeFilter(<time_column>, <format>)` — 上記と同じですが、時間列の形式を指定できます。
+ `$__toTimeFilter(<time_column>, <comparison_predicate>)` — 上記と同じですが、 comparison\$1predicate を指定できます。
+ `$__timeGroup(<time_column>, <interval>)` — 時間列を間隔グループに展開します。time/timestamp/long 時間列に適用されます。

**\$1\$1\$1timeFilter(<time\$1column>) マクロ**

次の例では、`$__timeFilter(<time_column>)` マクロについて説明します。

```
- In the following example, the query
select ts, temperature from weather where $__timeFilter(ts)
--- will be translated into
select ts, temperature from weather where ts > '2021-02-24T12:52:48Z' AND ts < '2021-03-24T12:52:48Z'
--- where you can see the grafana dashboard's time range is applied to the column ts in the query.
```

**\$1\$1\$1timeFilter(<time\$1column>, <format>) マクロ**

場合によっては、データベース内の時間列がカスタム形式で保存されます。次の例では、`$__timeFilter(<time_column>, <format>)` マクロについて説明します。このマクロは、grafana のタイムピッカーに基づいてカスタムタイムスタンプをフィルタリングするのに役立ちます。

```
SELECT TO_TIMESTAMP("TS",'YYYYMMDDHH24MISS') AS METRIC_TIME , "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TS","YYYYMMDDHH24MISS") -- TS is in 20210421162012 format
SELECT TO_TIMESTAMP("TS",'YYYY-MON-DD') AS METRIC_TIME , "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TS","YYYY-MON-DD") -- TS is in 2021-JAN-15 format
```

そのマクロでは、形式をタイムスタンプ列に一致するいずれかの有効な HANA 形式にすることができます。例えば、`YYYYMMDDHH24MISS` はデータが `20210421162012` 形式で保存される場合に有効な形式です。

**\$1\$1\$1timeFilter(<time\$1column>, "epoch" <format>) マクロ**

場合によっては、タイムスタンプはデータベースにエポックタイムスタンプとして保存されます。次の例では、`$__timeFilter(<time_column>, "epoch" <format>)` マクロについて説明します。このマクロは、grafana のタイムピッカーに基づいてエポックタイムスタンプをフィルタリングするのに役立ちます。マクロでは、形式は ms、s、または ns のいずれかです。指定しない場合、s がデフォルトの形式として扱われます。

```
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP") AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch") -- Example : TIMESTAMP field stored in epoch_second format 1257894000
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP") AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","s") -- Example : TIMESTAMP field stored in epoch_second format 1257894000
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","ms") -- Example : TIMESTAMP field stored in epoch_ms format 1257894000000
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000000000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","ns") -- Example : TIMESTAMP field stored in epoch_nanoseconds format 1257894000000000000
```

\$1\$1\$1timeFilter に 3 番目の引数を使用する代わりに、epoch\$1s、epoch\$1ms、または epoch\$1ns のいずれかを 2 番目の引数として使用できます。

```
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","ms")
-- is same as
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch_ms")
```

**\$1\$1\$1fromTimeFilter() および \$1\$1\$1toTimeFilter() マクロ**

`$__fromTimeFilter()` マクロは、Grafana タイムピッカーの from 時間に基づく時間フィールドにわたる条件に拡張されます。

これには 3 つのパラメータを使用できます。最初のパラメータは時間フィールドの名前です。2 番目の引数として、comparison\$1predicate または時刻列の形式を渡すことができます。その両方を渡す場合、format が 2 番目のパラメータとなり、3 番目のパラメータとして comparison\$1predicate を使用します。

**<format>** 形式が指定されない場合、プラグインは時間列が timestamp/date タイプであると想定します。時間列が timestamp/date 以外の形式で保存されている場合は、その形式を 2 番目の引数として渡します。<format> は、epoch\$1s、epoch\$1ms、epoch\$1ns、または YYYY-MM-DD などの他のカスタム形式のいずれかになります。

**<comparison\$1predicate>** オプションパラメータ。渡されない場合、プラグインは比較述語として > を使用します。<comparison\$1predicate> は =、\$1=、<>、＜、<=、＞、>= のいずれかになります。

`$__toTimeFilter()` は、\$1\$1\$1fromTimeFilter() と同じように機能します。Grafana の from 時間を使用する代わりに、to 時間を使用します。また、デフォルトの比較述語は < になります。

**\$1\$1\$1timeGroup(<time\$1column>, <interval>)** 

例えば、マクロ \$1\$1\$1timeGroup(timecol,1h) はクエリで SERIES\$1ROUND("timecol", 'INTERVAL 1 HOUR') に拡張されます。

次の例では `$__timeGroup(<time_column>, <interval>) macro.` について説明します。

```
SELECT $__timeGroup(timestamp,1h),  "user", sum("value") as "value"
FROM "salesdata"
WHERE $__timeFilter("timestamp")
GROUP BY $__timeGroup(timestamp,1h), "user"
ORDER BY $__timeGroup(timestamp,1h) ASC
```

これは次のクエリに変換され、`$__timeGroup(timestamp,1h)` は `SERIES_ROUND("timestamp", 'INTERVAL 1 HOUR')` に拡張されます。

```
SELECT SERIES_ROUND("timestamp", 'INTERVAL 1 HOUR') as "timestamp",  "user", sum("value") as "value"
FROM "salesdata"
WHERE "timestamp" > '2020-01-01T00:00:00Z' AND "timestamp" < '2020-01-01T23:00:00Z'
GROUP BY SERIES_ROUND("timestamp", 'INTERVAL 1 HOUR'), "user"
ORDER BY "timestamp" ASC
```

**注記**  
グループを \$1\$1\$1timeGroup マクロで使用する場合は、選択した [並べ替え] フィールドが [group by] フィールドと同じ名前になっていることを確認してください。異なる場合は、HANA がクエリを認識しない可能性があります。

\$1\$1\$1timeGroup() 関数で間隔をハードコーディングしない場合は、間隔として \$1\$1\$1interval を指定して Grafana に残すことができます。Grafana はダッシュボードの時間範囲からその間隔を計算します。クエリの例:

```
SELECT $__timeGroup(timestamp, $__interval), sum("value") as "value"
FROM "salesdata"
WHERE $__timeFilter("timestamp")
GROUP BY $__timeGroup(timestamp, $__interval)
ORDER BY $__timeGroup(timestamp, $__interval) ASC
```

このクエリはダッシュボードの時間範囲に基づいて後続クエリに変換されます。

```
SELECT SERIES_ROUND("timestamp", 'INTERVAL 1 MINUTE'), sum("value") as "value"
FROM "salesdata"
WHERE "timestamp" > '2019-12-31T23:09:14Z' AND "timestamp" < '2020-01-01T23:17:54Z'
GROUP BY SERIES_ROUND("timestamp", 'INTERVAL 1 MINUTE')
ORDER BY SERIES_ROUND("timestamp", 'INTERVAL 1 MINUTE') ASC
```

### [アラート]
<a name="saphana-alerting"></a>

**Grafana で SAP HANA アラートを設定する方法**

1. ダッシュボード内にグラフパネルを作成します。

1. 時系列形式で SAP HANA クエリを作成します。

1. **[アラート]** タブを選択してアラート条件を指定します。

1. **[ルールのテスト]** を選択してアラートクエリをテストします。

1. アラートの受信者、メッセージ、エラー処理を指定します。

1. ダッシュボードを保存します。

#### 時系列以外のデータのアラート
<a name="saphana-alerting-nontimeseries"></a>

時系列以外のデータをアラートするには、`TO_TIMESTAMP('${__to:date}')` マクロを使用して時系列以外のメトリクスを時系列にします。これによりメトリクスが単一ポイントの時系列クエリに変換されます。クエリの形式は以下のようになります。

```
SELECT TO_TIMESTAMP('${__to:date}'),  <METRIC> FROM <TABLE≶ WHERE <YOUR CONDITIONS>
```

次の例では、テーブルにユーザー名、年齢、都市、ロールという 4 つのフィールドがあります。このテーブルには時間フィールドがありません。開発ロールを持つユーザー数が 3 未満になったときに通知させます。

```
SELECT  TO_TIMESTAMP('${__to:date}'), count(*) as "count" FROM (
   SELECT 'John' AS "username", 32 AS "age", 'Chennai' as "city", 'dev' as "role" FROM dummy
   UNION ALL SELECT 'Jacob' AS "username", 32 AS "age", 'London' as "city", 'accountant' as "role" FROM dummy
   UNION ALL SELECT 'Ali' AS "username", 42 AS "age", 'Delhi' as "city", 'admin' as "role" FROM dummy
   UNION ALL SELECT 'Raja' AS "username", 12 AS "age", 'New York' as "city", 'ceo' as "role" FROM dummy
   UNION ALL SELECT 'Sara' AS "username", 35 AS "age", 'Cape Town' as "city", 'dev' as "role" FROM dummy
   UNION ALL SELECT 'Ricky' AS "username", 25 AS "age", 'London' as "city", 'accountant' as "role" FROM dummy
   UNION ALL SELECT 'Angelina' AS "username", 31 AS "age", 'London' as "city", 'cxo' as "role" FROM dummy
) WHERE "role" = 'dev'
```

# ServiceNow データソースへの接続
<a name="grafana-enterprise-servicenow-datasource"></a>

これは、ServiceNow インスタンスへの接続に使用する ServiceNow データソースです。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## 機能
<a name="features-1"></a>
+  クエリ 
  +  統計 API クエリ 
  +  テーブル API クエリ 
    +  インシデント、変更、その他のテーブル 
+  アラート 
+  注釈 (ベータ版機能) 
+  テンプレート変数 

## 設定
<a name="configuration-2"></a>

 Grafana の左側パネルでデータソースを選択します。

 以下のようにデータソースの追加を選択します。

 **servicenow** を入力してデータソースプラグインを検索します。

 ServiceNow URL を入力します。

 **[保存してテスト]** を選択します。「ServiceNow 接続 OK」という緑色のメッセージが表示されます。

### ダッシュボードの例
<a name="example-dashboards"></a>

 事前に作成されたダッシュボードがプラグインと共に含まれており、ダッシュボードタブのデータソース設定ページからインポートできます。

## 使用方法
<a name="usage-2"></a>

 クエリエディタでデータを返す 2 つの方法があります。
+  TableAPI 
+  AggregateAPI 

 現在ユーザーは次のような事前定義されたテーブルのクエリを選択できます。
+  変更 
+  インシデント 

 または、`v1.4.0` では、**[その他 (カスタムテーブル)]** オプションを使用したテーブルとフィールドの API 駆動型リストです。このオプションを使用すると、ServiceNow データソースのセットアップに使用したユーザーが利用可能なテーブルのデータをクエリできます。

 **[カスタムテーブル]** オプションは、事前定義されたテーブルリストと同じ機能をすべてサポートしている必要があります。

### TableAPI クエリ
<a name="tableapi-queries"></a>

 TableAPI はテーブルパネルの表示に適したデータを返します。これにより、順番に選択したフィールドに追加のフィルタリングオプションを表示できるようになります。クエリエディタには、クエリにより返される行数を制限するためのフィールドも用意されています。

 前のクエリの結果を示すテーブルパネル例。

#### [表示]
<a name="show"></a>

 *表示*行には、表示するフィールドのセレクターが表示されます。また、複数のフィールドを指定できます。フィールドは指定された順序で返されます。

#### 値の表示
<a name="display-values"></a>

 *値の表示*フラグでは、数値の代わりに人間にわかりやすい値でクエリが返されるか、値が表示されます。

 例えば、このフラグがない `1` の重要度では、`1` のみが表示されます。フラグが有効な場合、表示される値は `1 - High` になります。

 [ServiceNow API ドキュメント](https://developer.servicenow.com/dev.do#!/reference/api/orlando/rest/c_TableAPI)によると、これによりパフォーマンスに悪影響が及ぶ可能性があります。

**注記**  
 表示値を示す […] では、データベースから直接読み取られず、他のフィールドやレコードの参照が含まれる可能性があるため、パフォーマンスの問題が発生する可能性があります。

#### フィルター (全般)
<a name="filters-general"></a>

 *フィルター*行では、複数のフィールドと値の条件に基づき、表示される行を絞り込むことができます。

 すべてのフィルターは *AND* または *OR* オペレーションと組み合わされます。

 カスタムテーブルを使用しない場合は次のフィールドを使用できます (このリストは今後拡張されます)。

```
Active
Asset
Group
Assigned To
Escalation
Issue Number
Description
Priority
State
Type
Change Risk
Change State
Start Date
End Date
On Hold
```

 カスタムテーブルを選択すると、Service Now API からフィールドに自動入力されます。

##### 日付フィルター
<a name="date-filters"></a>


|  時間フィールド  |  オペレータ  |  値  | 
| --- | --- | --- | 
|  Opened At  |  今日または以前 今日以外 当日または以前 当日または以降  |  timestamp javascript:gs.daysAgo(30)  | 
|  Activity Due  |   |   | 
|  Closed At  |   |   | 
|  Due Date  |   |   | 
|  Expected Start  |   |   | 
|  Reopened Time  |   |   | 
|  Resolved At  |   |   | 
|  Work End  |   |   | 
|  Work Start  |   |   | 
|  Ignore Time  |   |   | 

 その他の日付値の詳細については、以下を参照してください: https://developer.servicenow.com/app.do\$1\$1/api\$1doc?v=newyork&id=r\$1SGSYS-dateGenerate\$1S\$1S 

##### 演算子 (全般、文字列ベース)
<a name="operators-generalstring-based"></a>
+  先頭が一致 
+  Ends With 
+  Like 
+  Not Like 
+  Equals 
+  Not Equals 
+  Is Empty 

##### 演算子 (時間ベース)
<a name="operators-time-based"></a>
+  Today 
+  Not Today 
+  Before 
+  今日または以前 
+  After 
+  At or After 

##### [Values] (値)
<a name="values"></a>

 値の選択は選択したフィルターのタイプによって異なります。
+  ブールフィルターには、真/偽 オプションがあります 
+  テキストフィルターでは、任意の値を入力できます 
+  エスカレーション、優先度には固定された数値セットがあります 

#### 並べ替え
<a name="sort-by"></a>

 *並び替え*行では、複数のフィールドと値の条件に基づき、表示される行を絞り込むことができます。

 すべてのフィルターは *AND* オペレーションと組み合わされます。さらに演算子のサポートが追加されます。

#### 制限
<a name="limit"></a>

 行の制限を指定して、返されるデータ量を制限できます。デフォルト値は 25 です。

#### 時間フィールド
<a name="time-field"></a>

 `Time Field` では、クエリされたデータを時系列に変換します。データが時系列として処理されると、選択した「時間フィールド」の値がダッシュボード/パネルの時間範囲にない場合は表示されません。

 デフォルトの時間フィールドは「Opened At」ですが、使用可能な時間値を持つ任意のフィールドに変更できます。

 「Ignore Time」という特別な値では、「up until now」の結果を使用でき、フィルターを使用して表示するデータを制御できます。

### AggregateAPI クエリ (統計)
<a name="aggregateapi-queries-stats"></a>

 AggregateAPI は常にメトリクスを返し、avg、min、max、sum の集計が含まれます。また、フィルタリングはクエリを絞り込むためにも使用できます。

#### [表示]
<a name="show-1"></a>

 *表示*行には、表示するメトリクスのセレクターが表示されます。また、複数のメトリクスを指定できます。

#### フィルター (全般)
<a name="filters-general-1"></a>

 集計*[フィルター]*には、テーブルオプションのような、フィールドと値の基準に基づいて表示メトリクスを絞り込む機能が用意されています。

 すべてのフィルターは *AND* オペレーションと組み合わされます。さらに演算子のサポートが追加されます。

 統計フィルターオプションは TableAPI と同じです。

#### 集計
<a name="aggregation"></a>

 メトリクスの集計には 4 つのタイプと「カウント」があります。
+  平均 
+  最小値 
+  最大値 
+  合計 
+  カウント - クエリによって返されるメトリクス「数」を返します。

##### グループ化の条件
<a name="group-by"></a>

 このセレクタを使用すると、メトリクスをより小さい集計に分割できます。「優先度」でグループ化すると、優先度の「タグ」および一意の値が区切られたメトリクスが返されます。

### テンプレート作成
<a name="templating-2"></a>

 クエリで名前をハードコーディングする代わりに、その場所に変数を使用できます。変数は、ダッシュボードの上部にドロップダウン選択ボックスとして表示されます。これらのドロップダウンボックスを使用して、ダッシュボード上に表示されるデータを変更できます。

 クエリ変数を追加して、それらをテンプレート値で参照する方法については、**クエリ変数**セクションの例を参照してください。

#### クエリ変数
<a name="query-variable"></a>

 `Query` タイプのテンプレート変数を追加すると、カテゴリ名、キー名、ドロップダウン選択ボックスとして表示されるキー値などの項目を返すクエリを記述できます。

 例えば、テンプレート変数*クエリ*設定でこのようなクエリを指定した場合、`categories` のすべての値を含む変数を指定できます。

 **クエリ**設定を選択すると、**フィルター**セクションが表示され、**タイプ**と**フィールド**を選択できます。現在、**タイプ**は Incidents と Changes に限定されています。タイプを選択すると、そのタイプで使用できるフィールドのリストが表示されます。**タイプ**と**フィールド**を選択すると、そのタイプ/フィールドで使用できるオプションを示す値のプレビューが、下部に表示されます。これらの値はダッシュボードのドロップダウンリストに表示され、テンプレート作成と一緒に使用して、ダッシュボードパネルのデータをフィルタリングできます。

 例えば、*category* という名前の変数を追加し、タイプ = Incidents、フィールド = Category を選択すると、Category のオプションリストが表示されます。次にフィルターをパネルに追加し、[Category Equals \$1\$1category\$1] を選択すると、パネルデータに、ダッシュボードのドロップダウンリストから選択されたそのカテゴリのデータのみが表示されます。

 **Incidents By Category** ダッシュボードをインポートして例を表示します。

#### クエリでの変数の使用
<a name="using-variables-in-queries"></a>

 2 つの構文があります。

 `$<varname>` `hostname` という名前のテンプレート変数の例: 

 `[[varname]]` `hostname` という名前のテンプレート変数の例: 

## [アラート]
<a name="servicenow-alerting"></a>

 標準 Grafana アラートがサポートされています。グラフパネルで定義されたクエリは、アラート生成に使用できます。

 以下はクエリとアラートの例です。このクエリは、重要度の高い未解決のインシデントのグラフすべてを返します。

 このアラートは、重要度の高い未解決のインシデントが 5 件以上ある場合に開始されます。

 アラートルールをテストするとアラートルールからの出力が表示され、状態履歴を選択すると OK からアラート保留に変換されたアラートが表示されます。

 グラフビューに垂直線が表示され、アラートが保留中の間は上部のハートアイコンがオレンジ色に変わります。

 アラートの基準が満たされると、ルールは赤に変わります。

 グラフビューに赤い垂直線が表示され、上部のハートアイコンは赤に変わります。

### アラートのインシデントの書き込み
<a name="writing-incidents-for-alerts"></a>

 **ベータ版機能** 
+  ServiceNow データソース用の通知チャネルを設定します。

 これにより、設定したユーザーを使用してこのデータソースの ServiceNow インスタンスにインシデントを作成する、[Grafana 通知チャネル](https://grafana.com/docs/grafana/latest/alerting/notifications/)が設定されます。

 このアクションでは、ServiceNow データソースユーザーにインシデント記述のためのアクセス許可を付与する必要があります。

## ‏注釈
<a name="annotations-1"></a>

 Grafana 注釈はこのデータソースの `v1.4.0` 時点での**ベータ版機能**です。注釈を使用するとイベントをグラフにオーバーレイできます。

 注釈クエリは標準クエリエディタと同じオプションをサポートしていますが、小さな違いがいくつかあります。
+  選択できる「表示」列は 1 つのみです。これは今後の改善で修正される可能性があります。
+  時間フィールドは必須です。

## よくある質問
<a name="faq-1"></a>

### ITSM ロールプラグインがない場合はどうしますか？
<a name="what-if-we-dont-have-the-itsm-roles-plugin"></a>

 **次のアクションの実行には管理者アクセス許可が必要です** 

 オプション 1: すべてのテーブルへのアクセス許可を Grafana ユーザー管理者に付与します。

 オプション 2: ロールを作成し、Grafana がアクセスする必要があるすべてのテーブルに ACL を適用します。

 次のアクションの実行には管理者アクセス許可が必要です。

1.  ログインした管理者は security\$1admin にアクセス許可を昇格する必要があります。

   1.  右上ナビゲーションペインで、プロファイルアイコンを選択します。プロファイルアイコンには、ドロップダウンキャレットインジケータがあります。

   1.  ドロップダウンリストから **[ロールの昇格]** を選択します。

   1.  表示されているモーダルから、**[security\$1admin]** チェックボックスを選択します。

   1.  [OK] を選択してください。

1. お好みの命名規則で新しいロールを作成します。

   1.  左側のナビゲーションで、[システムセキュリティ] => [ユーザーとグループ] => [ロール] のロールセクションに移動します。

   1.  上部で **[新規]** を選択します。

   1.  ロールの名前および関連する説明を入力します。

   1.  [**Submit**] を選択してください。

1.  新しいユーザーを作成、または必要なロールを持つ既存のユーザーを修正します。

   1.  ステップ 2 で作成したロール 

   1.  personalize\$1dictionary 

   1.  personalize\$1choices 

   1.  cmdb\$1read (これにより、すべての cmdb テーブルへの読み取りアクセス許可が付与されます) 

1.  必要なテーブルとフィールドのためにテーブル ACL を作成します。

   1.  sys\$1db\$1object テーブルのために ACL を作成します。

     1.  2 番目の検索ヘッダー列 **[名前]** に、**sys\$1db\$1object** と入力して、**Enter** を押します。

     1.  フィルタリングされた結果に **[テーブル]** が表示されます。**[テーブル]** を選択してレコードに移動します。

     1.  タブセクションで、**[コントロール]** を選択します。

     1.  ページの下部で、選択したタブが **[アクセスコントロール]** であることを確認します。

     1.  **[新規]** をクリックして新しい ACL を作成します。

     1.  **[オペレーション]** の選択を読み取りに変更します。

     1.  画面下部の **[ロールが必要]** セクションで、**[新しい行を挿入]** を選択し (ダブルクリック)、作成したロールを検索します。

     1. 作成済みのロールを選択したら、緑色のチェックマークを選択します。

     1.  画面の下部で **[送信]** を選択して ACL を作成し、モーダルが表示されたら **[続行]** を選択します。

1.  特定の sys\$1db\$1object フィールドに ACL を作成します。名前、ラベル、表示名、拡張テーブルの各フィールドで、次のステップを繰り返す必要があります。

   1.  sys\$1db\$1object のテーブルレコードビューのまま、画面の上部に最も近いタブグループの **[列]** タブを選択します。

   1.  フィールド名を見つけて選択します。

   1.  下部タブセクションの **[アクセスコントロール]** タブで **[新規]** を選択します。

   1.  オペレーションの読み取りへの変更 

   1.  下部の「ロールが必要」テーブルで、[行テキストを挿入] を選択します (ダブルクリック)。

   1.  作成済みのロールを検索して、緑のチェックマークを選択します。

   1.  [**Submit**] を選択してください。

   1.  必須フィールドである、名前、ラベル、表示名、拡張テーブルのすべてで、これらのステップを繰り返したことを確認してください。

1.  変更、インシデント、および Grafana からクエリする他の CMDB ではないテーブルで、4.1 の手順を繰り返します。4.2 のステップは繰り返しないでください。そのステップは sys\$1db\$1object にのみ必要です。

# Snowflake データベースへの接続
<a name="snowflake-datasource-for-AMG"></a>

 Snowflake Enterprise データソースを使用すると、Snowflake データを Grafana の他のすべてのデータソースと一緒に視覚化し、コンテキスト内のログデータとメトリクスデータを視覚化できます。このデータソースには強力な先行入力のクエリエディタが含まれており、複雑な注釈、アラートしきい値の設定、アクセスとアクセス許可の制御などがサポートされます。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## 概要:
<a name="snowflake-overview"></a>

### Snowflake とは
<a name="what-is-snowflake"></a>

 Snowflake は、「データウェアハウスアズアサービス」と一般的に呼ばれるクラウドベースのデータストレージおよび分析サービスを提供します。これは、データウェアハウス、データレイク、データエンジニアリング、データサイエンス、データアプリケーション開発、データ共有のためのソリューションを提供します。過去数年間、Snowflake はクラウドベースのハードウェアとソフトウェアを使用して手頃な価格でデータを保存および分析できるため、大きな人気を得ています。最近では、最大のソフトウェア IPO になりました。現在、多くの企業がプライマリデータベースとして Snowflake を使用して、トランザクションカウント、アクティブなユーザーセッション、さらには時系列やメトリクスデータなどのアプリケーションやビジネスデータを保存しています。

### Snowflake および Amazon Managed Grafana の最大限の活用
<a name="making-the-most-of-snowflake-and-AMG"></a>

 **Snowflake データを移動せずに視覚化する**: Grafana の独自のアーキテクチャは、データを移動して冗長ストレージと取り込みに消費するのではなく、データが置かれている場所に直接クエリを実行します。

 **さまざまなソースからパネルを作成する:** 事前に構築されたカスタムダッシュボードを使用すると、さまざまなデータソースのデータを 1 つのウィンドウにまとめることができます。

 **ユーザーレベルでの変換とコンピューティング**: ユーザーはデータを変換し、表示されるデータに対してさまざまな計算を実行できるため、データの準備が少なくて済みます。

 **パネル内で結合、計算、視覚化**: Snowflake やその他のソースからの関連データを表示する混合データソースパネルを作成します。

### 機能
<a name="snowflake-features"></a>

 **[クエリエディタ:]** クエリエディタは、時系列またはテーブルデータを視覚化し、SQL 構文エラーを処理し、基本的な SQL キーワードを自動補完できる、スマート SQL 自動補完エディタです。

 **データソースのアクセス許可**: Grafana で Snowflake データを表示またはクエリできるユーザーを制御します。

 **注釈:** Snowflake イベントを任意の Grafana グラフにオーバーレイし、イベントを他のグラフデータと関連付けます 

 **アラート:** Snowflake にアラートベースのメトリクスストアを設定します 

 **クエリの変数:** Snowflake データに基づいて Grafana にテンプレート変数を作成し、Snowflake クエリに変数を含めてダッシュボードをインタラクティブにします。

 **マルチメトリクスクエリ:** 複数のメトリクスを返す単一のクエリを、それぞれ独自の列に書き込みます。

## Snowflake プラグインの使用の開始
<a name="get-started-with-the-snowflake-plugin"></a>

 Grafana の Snowflake プラグインの使用を開始するには、次の 5 つの簡単な手順を実行します。

### ステップ 1: Snowflake データソースの設定
<a name="set-up-the-snowflake-data-source"></a>

 データソースを設定するには、**[設定]**、**[データソース]**、**[データソースの追加]**、[Snowflake] を選択します。

 認証の詳細を追加すると、データソースのクエリ実行準備が整います。

 次の設定フィールドを使用できます。


|  名前  |  説明  | 
| --- | --- | 
|  アカウント  |  Snowflake のアカウント。 | 
|  ユーザー名  |  サービスアカウントのユーザー名。 | 
|  [パスワード]  |  サービスアカウントのパスワード。 | 
|  スキーマ (オプション)  |  クエリのデフォルトスキーマを設定します。 | 
|  ウェアハウス (オプション)  |  クエリのデフォルトのウェアハウスを設定します。 | 
|  データベース (オプション)  |  クエリのデフォルトのデータベースを設定します。 | 
|  ロール (オプション)  |  クエリのロールを担います。 | 

### ステップ 2: Snowflake データのクエリの記述
<a name="write-queries-for-your-snowflake-data"></a>

 ダッシュボード内にパネルを作成して、Snowflake データソースを選択しクエリエディタの使用を開始します。
+  日付/時刻が含まれている限り、クエリのいずれかの場所に表示される可能性があります。
+  数値列を含める必要があります。これは集計でも int/float 列でもかまいません。
+  時系列データがさまざまなメトリクス用にフォーマットされている場合、必要に応じて文字列列を含めて個別のデータシリーズを作成できます。

#### Snowflake クエリのレイアウト
<a name="layout-of-a-snowflake-query"></a>

```
select
  <time_column>,
  <any_numerical_column>
  <other_column_1>,
  <other_column_2>,
  <...>
from
  <any_table>
where
  $__timeFilter(<time_column>) // predefined where clause for time range
  and $<custom_variable> = 1 // custom variables start with dollar sign
```

#### 間隔による時系列グループ用 SQL クエリ形式
<a name="sql-query-format-for-timeseries-group-by-interval"></a>

```
select
  $__timeGroup(created_ts, '1h'), // group time by interval of 1h
  <time_column>, 
  <any_numerical_column>,
  <metric_column>
from
  <any_table>
where
  $__timeFilter(<time_column>) // predefined where clause for time range
  and $<custom_variable> = 1 // custom variables start with dollar sign
group by <time_column>
```

#### テーブル用 SQL クエリ形式
<a name="sql-query-format-for-tables"></a>

```
select
  <time_column>, // optional if result format option is table
  <any_column_1>
  <any_column_2>
  <any_column_3>
from
  <any_table>
where
  $__timeFilter(time_column) // macro for time range, optional if format as option is table
  and $<custom_variable> = 1 // custom variables start with dollar sign
```

### ステップ 3: テンプレート変数の作成および使用
<a name="snowflake-create-and-use-template-variables"></a>

#### テンプレート変数の使用
<a name="snowflake-using-template-variables-1"></a>

 次の例に示すように、クエリにはテンプレート変数を含めることができます。

```
 select
   <column>
 from 
   <table>
 WHERE column >= '$variable'
```

 次の例は、クエリで複数値の変数を使用する方法を示しています。

```
select
  <column>
from 
  <table>
WHERE <column> regexp '${variable:regex}'
```

#### 変数作成のための Snowflake データソースの使用
<a name="using-the-snowflake-datasource-to-create-variables"></a>

 ダッシュボード設定で、**[変数]** を選択し、**[新規]** を選択します。

 「Query」変数型を使用して、Snowflake データソースを「データソース」として選択します。

**重要**  
 変数クエリでは必ず 1 つの列のみを選択してください。

 例: 

```
SELECT DISTINCT query_type from account_usage.query_history;
```

 次の変数が提供されます。

```
All DESCRIBE USE UNKNOWN GRANT SELECT CREATE DROP SHOW
```

### ステップ 4: アラートのセットアップ
<a name="snowflake-set-up-an-alert"></a>

 特定の Snowflake メトリクス、または作成したクエリに、アラートを設定できます。

 クエリエディタ内のアラートタブボタンを選択して、**[アラートを作成]** を選択します。

### ステップ 5. 注釈の作成
<a name="snowflake-create-an-annotation"></a>

 注釈を使用すると、イベントをグラフ上にオーバーレイできます。

 注釈を作成するには、ダッシュボード設定で、**[注釈]**、**[新規]** を選択して、データソースとして [Snowflake] を選択します。

 注釈はイベントであるため、イベントを記述するために、少なくとも 1 つの時間列と 1 つの列が必要です。

 次のサンプルコードは、Snowflake へのログイン失敗すべてに注釈を付けるクエリを示しています。

```
SELECT
  EVENT_TIMESTAMP as time,
  EVENT_TYPE,
  CLIENT_IP
FROM ACCOUNT_USAGE.LOGIN_HISTORY
WHERE $__timeFilter(time) AND IS_SUCCESS!='YES'
ORDER BY time ASC;
```

 And 
+  時間: `TIME` 
+  タイトル: `EVENT_TYPE` 
+  テキスト: `CLIENT_IP` 

 これにより、ダッシュボードパネル上の Snowflake へのログイン失敗すべての注釈がオーバーレイされます。

## 追加機能
<a name="additional-functionality"></a>

### 表示名フィールドの使用
<a name="snowflake-using-display-name"></a>

 このプラグインは、[オプション] パネルの [フィールド] タブにある [表示名] フィールドを使用して、名前、ラベル、または値に基づいて凡例キーを短縮または変更します。他のデータソースでは、カスタム`alias`機能を使用して凡例キーを変更しますが、表示名関数の方がより一貫性のある方法です。

### データソースの権限機能
<a name="snowflake-data-source-permissions"></a>

 Snowflake へのアクセスを制限するには、データソース設定ページの **[アクセス許可]** タブを選択してデータソースのアクセス許可を有効にします。アクセス許可ページでは、管理者はアクセス許可を有効にし、クエリのアクセス許可を特定のユーザーとチームに制限できます。

### Snowflake の請求と使用状況データについて
<a name="understand-your-snowflake-billing-and-usage-data"></a>

 Snowflake データソースでは、便利な請求情報と使用状況情報を表示する、請求および使用状況ダッシュボードをインポートできます。

 Snowflake データソース設定ページにダッシュボードを追加します。

 このダッシュボードは ACCOUNT\$1USAGE データベースを使用し、クエリには ACCOUNTADMIN ロールが必要です。これを安全に行うには、ACCOUNTADMIN ロールのユーザーを持つ新しい Grafana データソースを作成します。変数でそのデータソースを選択します。

# Splunk データソースへの接続
<a name="splunk-datasource"></a>

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## 設定
<a name="splunk-configuration-3"></a>

### データソースの設定
<a name="splunk-data-source-config"></a>

 データソースを設定するときは、URL フィールドが `https` を使用して、設定された Splunk ポートを指していることを確認します。デフォルトの Splunk API ポイントは 8000 (デフォルトのウェブ UI ポート) ではなく 8089 です。*基本認証*を有効にして Splunk のユーザー名とパスワードを指定します。

#### ブラウザ (直接) アクセスモードおよび CORS
<a name="splunk-browser-direct-access-mode-and-cors"></a>

 Amazon Managed Grafana は、Splunk データソースのブラウザ直接アクセスをサポートしていません。

### 高度なオプション
<a name="splunk-advanced-options"></a>

#### ストリームモード
<a name="stream-mode"></a>

 検索結果が利用可能になったときに取得する場合は、ストリームモードを有効にします。これは実験的機能です。実際に必要になるまで有効にしないでください。

#### 結果のポーリング
<a name="splunk-poll-result"></a>

 検索を実行してから定期的に結果をチェックします。このオプションは内部で、 `exec_mode` を `normal` に設定した `search/jobs` API コールを実行します。この場合、API リクエストはジョブ SID を返し、Grafana はジョブ結果を取得するためにジョブステータスを随時チェックします。このオプションはスロークエリに役立ちます。デフォルトではこのオプションが無効になっており、Grafana は `oneshot` を `exec_mode` に設定します。これにより同じ API コールで検索結果を返すことができます。`search/jobs` の API エンドポイントの詳細については、[Splunk のドキュメント](https://docs.splunk.com/Documentation/Splunk/latest/RESTREF/RESTsearch#search.2Fjobs)を参照してください。

#### 検索ポーリング間隔
<a name="splunk-search-polling-interval"></a>

 このオプションでは、Amazon Managed Grafana が検索結果のために splunk をポーリングする頻度を調整できます。[最小、最大] 間隔からランダムに選択する次のポーリングの時間。大量の検索を実行する場合は、これらの値を増やすことは合理的です。ヒント: 検索ジョブの実行に時間がかかる場合は*最小*、多くの並列検索 (Grafana ダッシュボードに splunk メトリクスが多い) を実行する場合は*最大*を増やします。デフォルトは [500、3000] ミリ秒間隔です。

#### 自動キャンセル
<a name="auto-cancel"></a>

 指定した場合、この数秒間非アクティブ状態が続くとジョブは自動的にキャンセルされます (0 では自動キャンセルしません)。デフォルトは 30 です。

#### ステータスバケット
<a name="status-buckets"></a>

 生成する大半のステータスバケットです。0 ではタイムライン情報が生成されません。デフォルトは 300 です。

#### フィールド検索モード
<a name="splunk-fields-search-mode"></a>

 ビジュアルクエリエディタを使用すると、データソースは選択したソースタイプで使用できるフィールドのリストを取得しようとします。
+  クイック - プレビューで最初に利用可能な結果を使用 
+  フル - ジョブが終了するのを待って完全な結果を取得します。

#### デフォルトの最も早い時刻
<a name="default-earliest-time"></a>

 一部の検索ではダッシュボードの時間範囲を使用できません (テンプレート変数クエリなど)。このオプションは、Splunk を遅くする可能性のある、全時間検索を防ぐのに役立ちます。構文は整数で時間単位は `[+|-]<time_integer><time_unit>` です。例: `-1w`。[時間単位](https://docs.splunk.com/Documentation/Splunk/latest/Search/Specifytimemodifiersinyoursearch)は `s, m, h, d, w, mon, q, y` にできます。

#### 変数検索モード
<a name="splunk-variables-search-mode"></a>

 テンプレート変数クエリの検索モードです。使用できる値: 
+  高速 - イベント検索でフィールド検出をオフにします。統計検索にはイベントまたはフィールドデータがありません。
+  スマート - イベント検索でフィールド検出をオンにします。統計検索にはイベントまたはフィールドデータがありません。
+  詳細 - すべてのイベントおよびフィールドデータ。

## 使用方法
<a name="splunk-usage-5"></a>

### クエリエディタ
<a name="splunk-query-editor-2"></a>

#### エディタモード
<a name="splunk-editor-modes"></a>

 クエリエディタは、未加工とビジュアルの 2 つのモードをサポートしています。これらのモードを切り替えるには、エディタの右側にあるハンバーガーアイコンを選択して*エディタモードの切り替え*を選択します。

#### 未加工モード
<a name="raw-mode"></a>

 次のコード例に示すように、時系列データに `timechart` コマンドを使用します。

```
index=os sourcetype=cpu | timechart span=1m avg(pctSystem) as system, avg(pctUser) as user, avg(pctIowait) as iowait
index=os sourcetype=ps | timechart span=1m limit=5 useother=false avg(cpu_load_percent) by process_name
```

 次の例に示すように、クエリはテンプレート変数をサポートしています。

```
sourcetype=cpu | timechart span=1m avg($cpu)
```

 Grafana は時系列指向のアプリケーションであり、検索では時系列データ (タイムスタンプと値) または単一値を返すことに注意してください。[timechart](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Timechart) コマンドと検索例については、公式の「[Splunk 検索リファレンス](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/WhatsInThisManual)」を参照してください。

#### Splunk メトリクスおよび `mstats`
<a name="splunk-metrics-and-mstats"></a>

 Splunk 7.x にはメトリクスを分析するための `mstats` コマンドが用意されています。`mstats`　でグラフを適切に機能させるには、`timeseries` コマンドと組み合わせて `prestats=t` オプションを設定する必要があります。

```
Deprecated syntax:
| mstats prestats=t avg(_value) AS Value WHERE index="collectd" metric_name="disk.disk_ops.read" OR metric_name="disk.disk_ops.write" by metric_name span=1m
| timechart avg(_value) span=1m by metric_name

Actual:
| mstats prestats=t avg(disk.disk_ops.read) avg(disk.disk_ops.write) WHERE index="collectd" by metric_name span=1m
| timechart avg(disk.disk_ops.read) avg(disk.disk_ops.write) span=1m
```

 `mstats` コマンドの詳細については、「[Splunk 検索リファレンス](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Mstats)」を参照してください。

#### フォーマット形式
<a name="format-as"></a>

 サポートされている結果形式モードには、*時系列* (デフォルト) と*テーブル*の 2 つがあります。集計データを表示するときにテーブルパネルで使用するのに適した、テーブルモード。これは未加工イベント (選択したすべてのフィールドを返す) と `stats` 検索機能で動作し、テーブルのようなデータを返します。例: 

```
index="os" sourcetype="vmstat" | fields host, memUsedMB
index="os" sourcetype="ps" | stats avg(PercentProcessorTime) as "CPU time", latest(process_name) as "Process", avg(UsedBytes) as "Memory" by PID
```

 その結果は Splunk UI の*統計*タブに似ています。

 `stats` 機能の使用方法の詳細については、「[Splunk 検索リファレンス](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Stats)」を参照してください。

#### ビジュアルモード
<a name="splunk-visual-mode"></a>

このモードでは段階的に検索を作成できます。このモードでは `timechart` splunk 検索が作成されることに注意してください。インデックス、ソースタイプ、メトリクスを選択して、必要に応じてフィールドごとの分割を設定します。

##### メトリクス
<a name="splunk-metric"></a>

 メトリクス行の右側にある*プラス*ボタンを選択すると、検索する複数のメトリクスを追加できます。メトリクスエディタには頻繁に使用される集計のリストが含まれていますが、ここでは他の関数を指定できます。agg セグメント (デフォルトで `avg`) を選択して必要なものを入力します。ドロップダウンリストから関心のあるフィールドを選択して (または入力)、必要に応じてエイリアスを設定します。

##### by と where で分割
<a name="split-by-and-where"></a>

 [Split by] フィールドを設定して*[時系列]*モードを使用すると、エディタが使用可能になります。*プラス*を選択して、演算子、集計、値を選択します。例えば、*Where avg in top 10* 二様に選択します。この *Where* 句は *Split by* の一部であることに注意してください。詳細については、[timechart のドキュメント](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/timechart#where_clause)を参照してください。

#### オプション
<a name="splunk-options"></a>

 デフォルトの timechart オプションを変更するには、最後の行の **[オプション]** を選択します。

これらのオプションの詳細については、[timechart のドキュメント](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/timechart)を参照してください。

#### レンダリングされた splunk 検索
<a name="rendered-splunk-search"></a>

 左のターゲット文字を選択するとエディタが折りたたまれ、レンダリングされた splunk 検索が表示されます。

### ‏注釈
<a name="splunk-annotations-2"></a>

Splunk アラートまたはイベントをグラフに表示する場合は注釈を使用します。注釈は事前定義された Splunk アラートまたは通常の splunk 検索のいずれかです。

#### Splunk アラート
<a name="splunk-alert"></a>

 アラート名を指定、またはフィールドを空白のままにして発生したすべてのアラートを取得します。テンプレート変数がサポートされます。

#### Splunk 検索
<a name="splunk-search"></a>

 次の例のように、スプランク検索を使用して必要なイベントを取得します。

```
index=os sourcetype=iostat | where total_ops > 400
index=os sourcetype=iostat | where total_ops > $io_threshold
```

 テンプレート変数がサポートされます。

 フィールド値を注釈テキストとして使用する場合は、**テキストとしてのイベントフィールド**オプションが適しています。次の例は、ログのエラーメッセージテキストを示しています。

```
Event field as text: _raw
Regex: WirelessRadioManagerd\[\d*\]: (.*)
```

 Regex ではメッセージの一部を抽出できます。

### テンプレート変数
<a name="splunk-template-variables"></a>

 テンプレート変数機能は `stats` コマンドなどで値のリストを返す Splunk クエリをサポートします。

```
index=os sourcetype="iostat" | stats values(Device)
```

 このクエリは `iostat` ソースから `Device` フィールド値のリストを返します。これらのデバイス名は、時系列クエリまたは注釈に使用できます。

 Grafana で使用できる変数クエリには 2 つのタイプがあります。1 つ目は単純なクエリで (前述のとおり)、値のリストを返します。2 番目のタイプはキー/値変数を作成できるクエリです。クエリは、 `_text` と `_value` という名前の 2 つの列を返します。`_text` 列の値は一意である必要があります (一意でない場合は、最初の値が使用されます)。ドロップダウンリストのオプションにはテキストと値があるため、わかりやすい名前のテキストとして、ID を値として使用できます。

 例えば、この検索では列 `Name` (Docker コンテナ名) と `Id` (コンテナ ID) を含むテーブルが返されます。

```
source=docker_inspect | stats count latest(Name) as Name by Id | table Name, Id
```

 コンテナ名を変数の可視値として使用し、ID を実際の値として使用するには、次の例のようにクエリを変更する必要があります。

```
source=docker_inspect | stats count latest(Name) as Name by Id | table Name, Id | rename Name as "_text", Id as "_value"
```

#### 複数値の変数
<a name="splunk-multi-value-variables"></a>

 クエリでは複数値の変数を使用できます。補間検索は変数使用コンテキストによって異なります。プラグインがサポートしているコンテキストは多数あります。`foo` と `bar` の値を選択した変数 `$container` があるとします。
+  `search` コマンド用基本フィルター 

  ```
  source=docker_stats $container
  =>
  source=docker_stats (foo OR bar)
  ```
+  フィールド値フィルター 

  ```
  source=docker_stats container_name=$container
  =>
  source=docker_stats (container_name=foo OR container_name=bar)
  ```
+  `IN` 演算子と `in()` 関数を使用したフィールド値フィルター 

  ```
  source=docker_stats container_name IN ($container)
  =>
  source=docker_stats container_name IN (foo, bar)
  
  source=docker_stats | where container_name in($container)
  =>
  source=docker_stats | where container_name in(foo, bar)
  ```

#### 複数値の変数と引用符
<a name="multi-value-variables-and-quotes"></a>

 変数が引用符で囲まれている場合 (二重または単一の両方)、次の例のように、その値も引用符で囲まれます。

```
source=docker_stats container_name="$container"
=>
source=docker_stats (container_name="foo" OR container_name="bar")

source=docker_stats container_name='$container'
=>
source=docker_stats (container_name='foo' OR container_name='bar')
```

# Splunk Infrastructure Monitoring データソースへの接続
<a name="AMG-datasource-splunkinfra"></a>

Splunk Infrastructure Monitoring (旧 SignalFx) のサポートを提供します。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## データソースの追加
<a name="bigquery-adding-the-data-source"></a>

1.  Amazon Managed Grafana ワークスペースで Grafana コンソールを開いて、ログインしていることを確認します。

1.  [**設定**] (歯車アイコン) のサイドメニューで、[**データソース**] を選択します。

1.  **[データソースの追加]** を選択します。
**注記**  
 サイドメニューに **[データソース]** リンクが表示されていない場合は、現在のユーザーに `Admin` ロールが付与されていないことを意味します。

1.  データソースのリストから [**Splunk Infrastructure Monitoring**] を選択します。

1. 次の情報を入力します。
   + [**アクセストークン**] に、SignalFx アカウントによって生成されたトークンを入力します。詳細については、「[認証トークン](https://docs.signalfx.com/en/latest/admin-guide/tokens.html)」を参照してください。
   + **Realm** (領域)。組織をホストする自己完結型デプロイ。領域名は、SignalFx ユーザーインターフェイスにサインインしたときにプロファイルページで確認できます。

## クエリエディタの使用
<a name="splunkinfra-query"></a>

クエリエディタは [SignalFlow](https://dev.splunk.com/observability/docs/signalflow/) プログラム/クエリを受け入れます。

ラベルについて、Signalflow のラベル `publish(label = 'foo')` がメタデータとして結果に適用されます: **"label":"foo"**

クエリタイプのテンプレート変数には **Query** (クエリ) フィールドがありません。代わりに、次のいずれかのクエリタイプを選択します。
+ ディメンション
+ メトリクス
+ タグ

アドホックフィルターがサポートされており、ディメンションを使ったグローバルフィルターが利用できます。

Grafana の注釈がサポートされています。注釈を作成するときは、SignalFlow アラートまたはイベントクエリを使用します。

ディテクターのアラートを取得する例:

```
alerts(detector_name='Deployment').publish();
```

カスタムイベントをタイプ別に取得する例:

```
events(eventType='simulated').publish();
```

# Wavefront データソースに接続する (VMware Tanzu Observability by Wavefront)
<a name="wavefront-datasource-for-AMG"></a>

 Wavefront (VMware Tanzu Observability by Wavefront) データソースを使用すると、Amazon Managed Grafana ユーザーは、Wavefront から直接収集したデータをクエリおよび視覚化し、他のメトリクス、ログ、トレース、またはその他のデータソースとともに簡単に視覚化できます。この柔軟な単一ペインビューにより、システムのヘルス状態の追跡と問題のデバッグが容易になります。

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

## Wavefront とは
<a name="what-is-wavefront"></a>

 [Wavefront](https://www.wavefront.com) は、VMware によって開発されたクラウドのモニタリングおよび分析ツールです。Wavefront は、CollectD、StatsD、JMX、Ruby のロガー AWS、またはその他のツールから時系列 (メトリクス) データを送信するクラウドホスト型サービスです。Wavefront を使用すると、ユーザーはこれらの系列で数学的操作の実行、異常を表示するためのグラフのレンダリング、KPI の追跡、アラートの作成が可能です。

## Wavefront と Grafana でテクノロジースタックを最大化する
<a name="maximizing-your-tech-stack-with-wavefront-and-AMG"></a>

 表面的には、Grafana と Wavefront は似ていますが、多くの組織は、オブザーバビリティワークフローの重要な部分として Wavefront と Grafana の両方を使用しています。

 **データソースを移動せずに視覚化する: ** Grafana の独自のアーキテクチャは、データを移動して冗長ストレージと取り込みに消費するのではなく、データが置かれている場所に直接クエリを実行します。

 **さまざまなソースからパネルを作成する** 事前に構築されたカスタムダッシュボードを使用すると、さまざまなデータソースのデータを 1 つのウィンドウにまとめることができます。

 **ユーザーレベルでの変換とコンピューティング**: ユーザーはデータを変換し、表示されるデータに対してさまざまな計算を実行できるため、データの準備が少なくて済みます。

 **パネル内で結合、コンピューティング、視覚化: **Prometheus や InfluxDB などの Waveferont やその他のソースからの関連データを表示する混合データソースパネルを作成します。

## ドキュメント
<a name="wavefront-documentation"></a>

### 機能
<a name="wavefront-features-3"></a>
+  時系列の視覚化 
+  テーブルの視覚化 
+  ヒートマップの視覚化 
+  単一統計の視覚化 
+  ガイド付きクエリエディタ 
+  生の WQL クエリエディタ 
+  イベントデータの注釈 
+  テンプレート変数 
+  アドホックフィルター 
+  [アラート] 

### 設定
<a name="wavefront-configuration-4"></a>

 Wavefront データソースの設定は比較的簡単です。設定を完了するために必要なフィールドは `API URL` と `Token` の 2 つだけです。
+  `API URL` は、wavefront 環境へのアクセスに使用する URL です。例えば、`https://myenvironment.wavefront.com` などです。
+  `Token` は、ユーザーアカウントまたはサービスアカウントから生成する必要があります。

  1.  ユーザーアカウントベースのトークンを作成するには、Wavefront 環境にログインし、ページの右上隅にある歯車を選択し、ユーザー名 (例: `me@grafana.com`) を選択し、ユーザーページの上部にある **[API アクセス]** タブを選択し、既存のキーをコピーするか、**[生成]** を選択します。

  1. サービスアカウントベースのトークンを作成するには、Wavefront 環境にログインし、ページの右上隅にある歯車を選択し、アカウント管理を選択します。左側のナビゲーションで、**[アカウント、グループ、ロール]** を選択し、上部の **[サービスアカウント]** タブを選択し、**[新しいアカウントの作成]** を選択します。サービスアカウントの名前を入力します。これは、任意のものになります。**トークン**セクションで提供されているトークンをコピーします。

  1. 最後のステップとして、**[アクセス許可]** で **[アカウント、グループ、ロール]**チェックボックスが選択されていることを確認してください。

 トークンを取得したら、`Token` 設定フィールドに追加します。これで準備完了です。

 確定された設定ページは次のようになります。

### 使用方法
<a name="wavefront-usage-6"></a>

#### クエリエディタの使用
<a name="wavefront-using-the-query-editor"></a>

 Wavefront クエリエディタには、**Query Builder** と **Raw Query** の 2 つのモードがあります。モードを切り替えるには、クエリフォームの右上にあるセレクタを使用します。

 **Query Builder** モードでは、次の 4 つの選択肢が表示されます。

1.  どのメトリクスに対してクエリを実行しますか?

1.  そのメトリクスに対してどのような集計を実行しますか?

1.  そのメトリクスクエリから結果をフィルタリングするにはどうすればよいですか?

1.  結果に追加の関数を適用しますか?

 メトリクスセレクタは分類された階層です。カテゴリを選択してから、もう一度選択してサブカテゴリにドリルダウンします。必要なメトリクスに達するまで、このプロセスを繰り返します。

 メトリクスを選択すると、使用可能なフィルターとフィルター値が自動的に入力されます。

 **Raw Query** モードでは、**[Query]** とラベル付けされた 1 つのフィールドが表示されます。これにより、任意の [WQL](#wavefront-references) クエリを実行できます。

#### フィルターの使用
<a name="wavefront-using-filters-1"></a>

 Wavefront プラグインは、各メトリクスに適したフィルターに対して動的にクエリを実行します。

 フィルターを追加するには、Wavefront クエリエディタの **[Filters]** ラベルの横にある **[\$1]** を選択し、フィルタリングするフィールドを選択し、フィルタリングする値を選択します。

#### 関数の使用
<a name="wavefront-using-functions"></a>

 関数は、メトリクスレスポンスデータを集計、操作、および計算実行するための追加の方法を提供します。使用可能な関数を表示するには、**Query Builder** の関数ラベルでドロップダウンリストを選択します。選択した関数に基づいて、フィールドによるグループの設定やしきい値の適用など、さらなるアクションを実行できます。ユーザーは複数の関数を連鎖させて、高度な計算やデータ操作を実行できます。

#### クエリテンプレート変数の追加
<a name="wavefront-adding-a-query-template-variable-1"></a>

1.  ダッシュボードの新しい Wavefront テンプレート変数を作成するには、ダッシュボードの右上にある設定 (歯車) を選択します。

1.  左側のパネルで、**[変数]** を選択します。

1.  変数ページの右上で、**[新規]** を選択します。

1.  作成するテンプレート変数の **[名前]** と **[Label]** を入力します。**[名前]** は、クエリ内でテンプレート変数を参照するために使用する値です。**ラベル** は、ダッシュボード選択パネルのテンプレート変数に表示するわかりやすい名前です。

1.  タイプフィールドの**クエリ**タイプを選択します (デフォルトで選択する必要があります)。

1.  **[Query Options]** の見出しにある**データソース**ドロップダウンリストで **[Wavefront]** を選択します。

1.  **クエリ** フィールドに入力する内容の詳細については、「[テンプレート変数クエリ構造](#template-variable-query-structure)」を参照してください。

1.  クエリから返された値をフィルタリングする場合は、**[Regex]** 入力フィールドに正規表現を入力します。

1.  **[ソート]** ドロップダウンリストでソートタイプを選択して、ソート設定を適用します。

1.  設定を確認したら、**[追加]** を選択してテンプレート変数を追加し、左側のナビゲーションパネルで **[ダッシュボードの保存]** を選択して変更を保存します。

#### テンプレート変数クエリ構造
<a name="template-variable-query-structure"></a>

 metric lists: metrics: ts(…) 

 source lists: sources: ts(…) 

 source tag lists: sourceTags: ts(…) 

 matching source tag lists: matchingSourceTags: ts(…) 

 tag name lists: tagNames: ts(…) 

 tag value lists: tagValues(<tag>): ts(…) 

 **Notes** (メモ) 
+  各クエリタイプの末尾にある「s」は任意です 
+  すべての小文字をサポートしています。tagnames または tagNames を使用できますが、TAGNAMES は使用できません。
+  : を囲むスペースの使用は任意です 

   **警告** 

   `Multi-value` および `Include All option` は現在、Wavefront プラグインではサポートされていません。

#### テンプレート変数の使用
<a name="wavefront-using-template-variables-2"></a>

 [新しいテンプレート変数を追加する](#wavefront-adding-a-query-template-variable-1)ステップの完了で、ダッシュボードパネル内のテンプレート変数を使用して動的視覚化を作成する準備が整いました。

1.  ダッシュボードの右上隅にある [panel\$1] アイコンを使用して、新しいダッシュボードパネルを追加します。

1.  クエリに使用する集計を選択します。

1.  **[Filters] **ラベルの横にある [\$1] アイコンを選択し、テンプレート変数に一致するキータイプを選択します。例えば、`host=` はホストフィルターに対応しています。

1.  フィルターの**値**入力フィールドに作成したテンプレート変数の名前を入力します。

1.  ダッシュボードを保存します。

 これで、テンプレート変数のさまざまな値を循環させ、パネルを動的に更新できるようになりました。

#### アドホックフィルターの使用
<a name="wavefront-using-ad-hoc-filters"></a>

 アドホックフィルターを使用するには、2 つのテンプレート変数を作成する必要があります。1 つ目は、メトリクスの選択に使用されるヘルパー変数です。そのメトリクス名にアドホックフィルターを入力できるようになります。もう 1 つは実際のアドホックフィルター変数です。

**重要**  
 必要なヘルパー変数には `metriclink` という名前を付ける必要があります。これは、使用するメトリクスのリストを含むカスタム変数でも、[テンプレート変数クエリ構造](#template-variable-query-structure)を使用したクエリベースの変数でもかまいません。アドホックフィルターフィールドに 1 つのメトリクスの値のみを入力する場合は、`metriclink` テンプレート変数を非表示にできます。

 `metriclink` 変数を作成したら、「[クエリテンプレート変数の追加](#wavefront-adding-a-query-template-variable-1)」で説明されているのと同じステップに従って、アドホックフィルターを追加できるようになります。違いは、**タイプ**として**アドホックフィルター**を選択し、クエリの入力を必要としないことです。

#### 注釈の追加
<a name="wavefront-adding-annotations"></a>

1.  ダッシュボードの新しい Wavefront 注釈を作成するには、ダッシュボードの右上にある設定 (歯車) を選択します。

1.  左側のパネルで、**[注釈]** を選択します。

1.  注釈ページの右上で、**[新規]** を選択します。

1.  注釈の名前を入力します (ダッシュボードのトグルの名前として使用されます)。

1.  Wavefront の**データソース**を選択します。

1.  デフォルトでは、注釈には返されるアラートイベントが 100 件に制限されています。これを変更するには、**[制限]**フィールドを必要な値に設定します。

1.  **[追加]** を選択します。

#### 注釈の使用
<a name="using-annotations"></a>

 注釈をオンにすると、特定の期間に関連するアラートイベントと問題が表示されるようになりました。

 視覚化の注釈付きセクションの下部で一時停止すると、アラート名と Wavefront のアラートへの直接リンクを示すポップアップウィンドウが表示されます。

#### 表示名フィールドの使用
<a name="wavefront-using-display-name-1"></a>

 このデータソースは、オプションパネルのフィールドタブにある [Display Name] (表示名) フィールドを使用して、名前、ラベル、または値に基づいて凡例キーを短縮または変更します。他のデータソースでは、カスタム`alias`機能を使用して凡例キーを変更しますが、Display Name 関数の方がより一貫性のある方法です。

### リファレンス
<a name="wavefront-references"></a>
+  [WQL (Wavefront クエリ言語)](https://docs.wavefront.com/query_language_reference.html) 