ホスト
ホストで実行中の Agent に対してこのチェックを構成するには
メトリクスの収集
Agent のコンフィギュレーションディレクトリのルートにある conf.d
フォルダーの mongo.d/conf.yaml
ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル mongo.d/conf.yaml を参照してください。
init_config:
instances:
## @param hosts - list of strings - required
## Hosts to collect metrics from, as is appropriate for your deployment topology.
## E.g. for a standalone deployment, specify the hostname and port of the mongod instance.
## For replica sets or sharded clusters, see instructions in the sample conf.yaml.
## Only specify multiple hosts when connecting through mongos
#
- hosts:
- <HOST>:<PORT>
## @param username - string - optional
## The username to use for authentication.
#
username: datadog
## @param password - string - optional
## The password to use for authentication.
#
password: <UNIQUEPASSWORD>
## @param database - string - optional
## The database to collect metrics from.
#
database: <DATABASE>
## @param options - mapping - optional
## Connection options. For a complete list, see:
## https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options
#
options:
authSource: admin
Agent を再起動します。
データベースオートディスカバリー
Datadog Agent v7.56 から、データベースのオートディスカバリーを有効にして、MongoDB インスタンス上のすべてのデータベースからメトリクスを自動的に収集することができます。
データベースオートディスカバリーはデフォルトで無効になっていることに注意してください。自動的に発見されたデータベースからメトリクスを収集するには、データベースへの読み取りアクセスが必要です。
これを有効にするには、mongo.d/conf.yaml
ファイルに次の構成を追加します。
init_config:
instances:
## @param hosts - 文字列のリスト - 必須
## デプロイのトポロジに応じて、メトリクスを収集するホスト。
## 例: スタンドアロンデプロイの場合、mongod インスタンスのホスト名とポートを指定します。
## レプリカセットまたはシャードクラスターについては、サンプルの conf.yaml の説明を参照してください。
## mongos 経由で接続する場合のみ、複数のホストを指定します。
#
- hosts:
- <HOST>:<PORT>
## @param username - 文字列 - オプション
## 認証に使用するユーザー名。
#
username: datadog
## @param password - 文字列 - オプション
## 認証に使用するパスワード。
#
password: <UNIQUE_PASSWORD>
## @param options - mapping - オプション
## 接続オプション。完全なリストは以下を参照してください。
## https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options
#
options:
authSource: admin
## @param database_autodiscovery - マッピング - オプション
## データベースオートディスカバリーを有効にして、すべての MongoDB データベースからメトリクスを自動的に収集します。
#
database_autodiscovery:
## @param enabled - ブール値 - 必須
## データベースオートディスカバリーを有効にします。
#
enabled: true
## @param include - 文字列のリスト - オプション
## オートディスカバリーに含めるデータベースのリスト。複数のデータベースにマッチさせるには正規表現を使用します。
## 例えば、"mydb" で始まるすべてのデータベースを含めるには、"^mydb.*" を使用します。
## デフォルトでは、include は ".*" に設定され、すべてのデータベースが含まれます。
#
include:
- "^mydb.*"
## @param exclude - 文字列のリスト - オプション
## オートディスカバリーから除外するデータベースのリスト。複数のデータベースにマッチさせるには正規表現を使用します。
## 例えば、"mydb" で始まるすべてのデータベースを除外するには、"^mydb.*" を使用します。
## 除外リストと包含リストが競合する場合は、除外リストが優先されます。
#
exclude:
- "^mydb2.*"
- "admin$"
## @param max_databases - 整数 - オプション
## メトリクスを収集するデータベースの最大数。デフォルト値は 100 です。
#
max_databases: 100
## @param refresh_interval - 整数 - オプション
## データベースのリストを更新する間隔を秒単位で指定します。デフォルト値は 600 秒です。
#
refresh_interval: 600
- Agent を再起動します。
トレースの収集
Datadog APM は Mongo を統合して、分散システム全体のトレースを確認します。Datadog Agent v6 以降では、トレースの収集はデフォルトで有効化されています。トレースの収集を開始するには、以下の手順に従います。
- Datadog でトレースの収集を有効にします。
- Mongo へのリクエストを作成するアプリケーションをインスツルメントします。
ログ収集
Agent バージョン 6.0 以降で利用可能
Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml
ファイルでこれを有効にします。
MongoDB のログの収集を開始するには、次の構成ブロックを mongo.d/conf.yaml
ファイルに追加します。
logs:
- type: file
path: /var/log/mongodb/mongodb.log
service: mongo
source: mongodb
service
パラメーターと path
パラメーターの値を変更し、環境に合わせて構成します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル mongo.yaml を参照してください。
Agent を再起動します。
Docker
コンテナで実行中の Agent に対してこのチェックを構成するには:
メトリクスの収集
アプリケーションのコンテナで、オートディスカバリーのインテグレーションテンプレートを Docker ラベルとして設定します。
LABEL "com.datadoghq.ad.check_names"='["mongo"]'
LABEL "com.datadoghq.ad.init_configs"='[{}]'
LABEL "com.datadoghq.ad.instances"='[{"hosts": ["%%host%%:%%port%%"], "username": "datadog", "password" : "<UNIQUEPASSWORD>", "database": "<DATABASE>"}]'
ログ収集
Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Docker ログ収集を参照してください。
次に、ログインテグレーションを Docker ラベルとして設定します。
LABEL "com.datadoghq.ad.logs"='[{"source":"mongodb","service":"<SERVICE_NAME>"}]'
トレースの収集
コンテナ化されたアプリケーションの APM は、Agent v6 以降でサポートされていますが、トレースの収集を開始するには、追加のコンフィギュレーションが必要です。
Agent コンテナで必要な環境変数
パラメーター | 値 |
---|
<DD_API_KEY> | api_key |
<DD_APM_ENABLED> | true |
<DD_APM_NON_LOCAL_TRAFFIC> | true |
利用可能な環境変数およびコンフィギュレーションの全リストについては、Docker アプリケーションのトレース を参照してください。
次に、アプリケーションコンテナをインスツルメントし、Agent コンテナの名前に DD_AGENT_HOST
を設定します。
Kubernetes
このチェックを、Kubernetes で実行している Agent に構成します。
メトリクスの収集
アプリケーションのコンテナで、オートディスカバリーのインテグレーションテンプレートをポッドアノテーションとして設定します。他にも、ファイル、ConfigMap、または key-value ストアを使用してテンプレートを構成できます。
Annotations v1 (Datadog Agent < v7.36 向け)
apiVersion: v1
kind: Pod
metadata:
name: mongo
annotations:
ad.datadoghq.com/mongo.check_names: '["mongo"]'
ad.datadoghq.com/mongo.init_configs: '[{}]'
ad.datadoghq.com/mongo.instances: |
[
{
"hosts": ["%%host%%:%%port%%"],
"username": "datadog",
"password": "<UNIQUEPASSWORD>",
"database": "<DATABASE>"
}
]
spec:
containers:
- name: mongo
Annotations v2 (Datadog Agent v7.36+ 向け)
apiVersion: v1
kind: Pod
metadata:
name: mongo
annotations:
ad.datadoghq.com/mongo.checks: |
{
"mongo": {
"init_config": {},
"instances": [
{
"hosts": ["%%host%%:%%port%%"],
"username": "datadog",
"password": "<UNIQUEPASSWORD>",
"database": "<DATABASE>"
}
]
}
}
spec:
containers:
- name: mongo
ログ収集
Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集を参照してください。
次に、ログのインテグレーションをポッドアノテーションとして設定します。これは、ファイル、ConfigMap、または key-value ストアを使用して構成することも可能です。
Annotations v1/v2
apiVersion: v1
kind: Pod
metadata:
name: mongo
annotations:
ad.datadoghq.com/mongo.logs: '[{"source":"mongodb","service":"<SERVICE_NAME>"}]'
spec:
containers:
- name: mongo
トレースの収集
コンテナ化されたアプリケーションの APM は、Agent v6 以降を実行するホストでサポートされていますが、トレースの収集を開始するには、追加のコンフィギュレーションが必要です。
Agent コンテナで必要な環境変数
パラメーター | 値 |
---|
<DD_API_KEY> | api_key |
<DD_APM_ENABLED> | true |
<DD_APM_NON_LOCAL_TRAFFIC> | true |
利用可能な環境変数とコンフィギュレーションの完全なリストについては、Kubernetes アプリケーションのトレースおよび Kubernetes DaemonSet のセットアップを参照してください。
次に、アプリケーションコンテナをインスツルメントし、Agent コンテナ名に DD_AGENT_HOST
を設定します。
ECS
このチェックを、ECS で実行している Agent に構成するには:
メトリクスの収集
アプリケーションのコンテナで、オートディスカバリーのインテグレーションテンプレートを Docker ラベルとして設定します。
{
"containerDefinitions": [{
"name": "mongo",
"image": "mongo:latest",
"dockerLabels": {
"com.datadoghq.ad.check_names": "[\"mongo\"]",
"com.datadoghq.ad.init_configs": "[{}]",
"com.datadoghq.ad.instances": "[{\"hosts\": [\"%%host%%:%%port%%\"], \"username\": \"datadog\", \"password\": \"<UNIQUEPASSWORD>\", \"database\": \"<DATABASE>\"}]"
}
}]
}
ログ収集
Agent バージョン 6.0 以降で利用可能
Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、ECS ログ収集を参照してください。
次に、ログインテグレーションを Docker ラベルとして設定します。
{
"containerDefinitions": [{
"name": "mongo",
"image": "mongo:latest",
"dockerLabels": {
"com.datadoghq.ad.logs": "[{\"source\":\"mongodb\",\"service\":\"<SERVICE_NAME>\"}]"
}
}]
}
トレースの収集
コンテナ化されたアプリケーションの APM は、Agent v6 以降でサポートされていますが、トレースの収集を開始するには、追加のコンフィギュレーションが必要です。
Agent コンテナで必要な環境変数
パラメーター | 値 |
---|
<DD_API_KEY> | api_key |
<DD_APM_ENABLED> | true |
<DD_APM_NON_LOCAL_TRAFFIC> | true |
利用可能な環境変数およびコンフィギュレーションの全リストについては、Docker アプリケーションのトレース を参照してください。
次に、アプリケーションのコンテナをインスツルメントし、EC2 プライベート IP アドレスに DD_AGENT_HOST
を設定します。