ホスト
ホストで実行中の Agent に対してこのチェックを構成するには
メトリクスの収集
Elasticsearch のメトリクスを収集するには、Agent の構成ディレクトリのルートにある conf.d/
フォルダーの elastic.d/conf.yaml
ファイルを編集します。使用可能なすべての構成オプションについては、サンプル elastic.d/conf.yaml を参照してください。
init_config:
instances:
## @param url - string - required
## The URL where Elasticsearch accepts HTTP requests. This is used to
## fetch statistics from the nodes and information about the cluster health.
#
- url: http://localhost:9200
注:
クラスターの外で実行されている 1 つの Datadog Agent からのみ Elasticsearch メトリクスを収集する場合は (ホステッド Elasticsearch を使用する場合など)、cluster_stats
を true
に設定します。
Agent レベルのタグは、Agent を実行していないクラスターのホストには適用されません。すべての メトリクスが一定のタグを持つようにするには、<integration>.d/conf.yaml
でインテグレーションレベルのタグを使用します。
init_config:
instances:
- url: "%%env_MONITOR_ES_HOST%%"
username: "%%env_MONITOR_ES_USER%%"
password: *********
auth_type: basic
cluster_stats: true
tags:
- service.name:elasticsearch
- env:%%env_DD_ENV%%
AWS Elasticsearch サービスに Agent の Elasticsearch インテグレーションを使用するには、url
パラメーターを AWS Elasticsearch stats の URL に設定します。
Amazon ES コンフィギュレーション API へのすべてのリクエストには、署名が必要です。詳細は、OpenSearch サービスリクエストの作成と署名を参照してください。
aws
の認証タイプは、boto3 に依存して .aws/credentials
から自動的に AWS 認証情報を収集します。conf.yaml
で auth_type: basic
を使用して、認証情報を username: <USERNAME>
、password: <PASSWORD>
で定義します。
監視するためには、適切な権限を持つユーザーとロール (まだ持っていない場合) を Elasticsearch で作成する必要があります。これは、Elasticsearch が提供する REST API、または Kibana UI を通じて行うことができます。
If you have enabled security features in Elasticsearch, you can use monitor
or manage
privilege while using the API to make the calls to the Elasticsearch indices.
作成したロールに以下のプロパティを含めます。
name = "datadog"
indices {
names = [".monitoring-*", "metricbeat-*"]
privileges = ["read", "read_cross_cluster", "monitor"]
}
cluster = ["monitor"]
ユーザーにロールを追加します。
roles = [<created role>, "monitoring_user"]
詳しくは、ロールの作成または更新およびユーザーの作成または更新を参照してください。
Agent を再起動します。
カスタムクエリ
The Elasticsearch integration allows you to collect custom metrics through custom queries by using the custom_queries
configuration option.
Note: When running custom queries, use a read only account to ensure that the Elasticsearch instance does not change.
custom_queries:
- endpoint: /_search
data_path: aggregations.genres.buckets
payload:
aggs:
genres:
terms:
field: "id"
columns:
- value_path: key
name: id
type: tag
- value_path: doc_count
name: elasticsearch.doc_count
tags:
- custom_tag:1
カスタムクエリは GET
リクエストとして送信されます。オプションの payload
パラメーターを使用すると、POST
リクエストとして送信されます。
value_path
には文字列キーまたはリストインデックスを指定します。例:
{
"foo": {
"bar": [
"result0",
"result1"
]
}
}
value_path: foo.bar.1
は値 result1
を返します。
トレースの収集
Datadog APM は、Elasticsearch と統合して分散システム全体のトレースを確認します。Datadog Agent v6 以降では、トレースの収集はデフォルトで有効化されています。トレースの収集を開始するには、以下の手順に従います。
- Datadog でトレースの収集を有効にします。
- Instrument your application that makes requests to Elasticsearch.
ログ収集
Agent バージョン 6.0 以降で利用可能
Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml
ファイルでこれを有効にします。
検索スローログを収集してスローログのインデックスを作成するには、Elasticsearch 設定を構成します。デフォルトでは、スローログは有効になっていません。
Elasticsearch のログの収集を開始するには、次の構成ブロックを elastic.d/conf.yaml
ファイルに追加します。
logs:
- type: file
path: /var/log/elasticsearch/*.log
source: elasticsearch
service: "<SERVICE_NAME>"
Agent を再起動します。
Docker
コンテナで実行中の Agent に対してこのチェックを構成するには:
メトリクスの収集
アプリケーションのコンテナで、オートディスカバリーのインテグレーションテンプレートを Docker ラベルとして設定します。
LABEL "com.datadoghq.ad.check_names"='["elastic"]'
LABEL "com.datadoghq.ad.init_configs"='[{}]'
LABEL "com.datadoghq.ad.instances"='[{"url": "http://%%host%%:9200"}]'
ログ収集
Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Docker ログ収集を参照してください。
次に、ログインテグレーションを Docker ラベルとして設定します。
LABEL "com.datadoghq.ad.logs"='[{"source":"elasticsearch","service":"<SERVICE_NAME>"}]'
トレースの収集
コンテナ化されたアプリケーションの APM は、Agent v6 以降でサポートされていますが、トレースの収集を開始するには、追加のコンフィギュレーションが必要です。
Agent コンテナで必要な環境変数
パラメーター | 値 |
---|
<DD_API_KEY> | api_key |
<DD_APM_ENABLED> | true |
<DD_APM_NON_LOCAL_TRAFFIC> | true |
利用可能な環境変数とコンフィギュレーションの完全なリストについては、Kubernetes アプリケーションのトレースおよび Kubernetes Daemon のセットアップを参照してください。
次に、アプリケーションコンテナをインスツルメントし、Agent コンテナの名前に DD_AGENT_HOST
を設定します。
Kubernetes
このチェックを、Kubernetes で実行している Agent に構成します。
メトリクスの収集
アプリケーションのコンテナで、オートディスカバリーのインテグレーションテンプレートをポッドアノテーションとして設定します。他にも、ファイル、ConfigMap、または key-value ストアを使用してテンプレートを構成できます。
Annotations v1 (Datadog Agent < v7.36 向け)
apiVersion: v1
kind: Pod
metadata:
name: elasticsearch
annotations:
ad.datadoghq.com/elasticsearch.check_names: '["elastic"]'
ad.datadoghq.com/elasticsearch.init_configs: '[{}]'
ad.datadoghq.com/elasticsearch.instances: |
[
{
"url": "http://%%host%%:9200"
}
]
spec:
containers:
- name: elasticsearch
Annotations v2 (Datadog Agent v7.36+ 向け)
apiVersion: v1
kind: Pod
metadata:
name: elasticsearch
annotations:
ad.datadoghq.com/elasticsearch.checks: |
{
"elastic": {
"init_config": {},
"instances": [
{
"url": "http://%%host%%:9200"
}
]
}
}
spec:
containers:
- name: elasticsearch
ログ収集
Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集を参照してください。
次に、ログのインテグレーションをポッドアノテーションとして設定します。これは、ファイル、ConfigMap、または key-value ストアを使用して構成することも可能です。
Annotations v1/v2
apiVersion: v1
kind: Pod
metadata:
name: elasticsearch
annotations:
ad.datadoghq.com/elasticsearch.logs: '[{"source":"elasticsearch","service":"<SERVICE_NAME>"}]'
spec:
containers:
- name: elasticsearch
トレースの収集
コンテナ化されたアプリケーションの APM は、Agent v6 以降を実行するホストでサポートされていますが、トレースの収集を開始するには、追加のコンフィギュレーションが必要です。
Agent コンテナで必要な環境変数
パラメーター | 値 |
---|
<DD_API_KEY> | api_key |
<DD_APM_ENABLED> | true |
<DD_APM_NON_LOCAL_TRAFFIC> | true |
利用可能な環境変数とコンフィギュレーションの完全なリストについては、Kubernetes アプリケーションのトレースおよび Kubernetes Daemon のセットアップを参照してください。
次に、アプリケーションコンテナをインスツルメントし、Agent コンテナ名に DD_AGENT_HOST
を設定します。
ECS
このチェックを、ECS で実行している Agent に構成するには:
メトリクスの収集
アプリケーションのコンテナで、オートディスカバリーのインテグレーションテンプレートを Docker ラベルとして設定します。
{
"containerDefinitions": [{
"name": "elasticsearch",
"image": "elasticsearch:latest",
"dockerLabels": {
"com.datadoghq.ad.check_names": "[\"elastic\"]",
"com.datadoghq.ad.init_configs": "[{}]",
"com.datadoghq.ad.instances": "[{\"url\": \"http://%%host%%:9200\"}]"
}
}]
}
ログ収集
Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、ECS ログ収集を参照してください。
次に、ログインテグレーションを Docker ラベルとして設定します。
{
"containerDefinitions": [{
"name": "elasticsearch",
"image": "elasticsearch:latest",
"dockerLabels": {
"com.datadoghq.ad.logs": "[{\"source\":\"elasticsearch\",\"service\":\"<SERVICE_NAME>\"}]"
}
}]
}
トレースの収集
コンテナ化されたアプリケーションの APM は、Agent v6 以降でサポートされていますが、トレースの収集を開始するには、追加のコンフィギュレーションが必要です。
Agent コンテナで必要な環境変数
パラメーター | 値 |
---|
<DD_API_KEY> | api_key |
<DD_APM_ENABLED> | true |
<DD_APM_NON_LOCAL_TRAFFIC> | true |
利用可能な環境変数とコンフィギュレーションの完全なリストについては、Kubernetes アプリケーションのトレースおよび Kubernetes Daemon のセットアップを参照してください。
次に、アプリケーションのコンテナをインスツルメントし、EC2 プライベート IP アドレスに DD_AGENT_HOST
を設定します。