- はじめに
- エージェント
- インテグレーション
- Watchdog
- イベント
- ダッシュボード
- モバイルアプリケーション
- インフラストラクチャー
- サーバーレス
- メトリクス
- ノートブック
- アラート設定
- APM & Continuous Profiler
- CI Visibility
- RUM & セッションリプレイ
- データベース モニタリング
- ログ管理
- セキュリティプラットフォーム
- Synthetic モニタリング
- ネットワークモニタリング
- 開発者
- API
- アカウントの管理
- データセキュリティ
- ヘルプ
データベースモニタリングは、クエリメトリクス、クエリサンプル、実行計画、データベースの状態、フェイルオーバー、イベントを公開することで、Microsoft SQL Server データベースを詳細に可視化します。
データベースでデータベースモニタリングを有効にするには、以下の手順を実行します。
Datadog Agent が統計やクエリを収集するためには、データベースサーバーへの読み取り専用のアクセスが必要となります。
サーバーに接続するための読み取り専用ログインを作成し、必要な Azure SQL Roles を付与します。
CREATE LOGIN datadog WITH PASSWORD = '<PASSWORD>';
CREATE USER datadog FOR LOGIN datadog;
ALTER SERVER ROLE ##MS_ServerStateReader## ADD MEMBER datadog;
ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER datadog;
このサーバー上の追加の Azure SQL Database それぞれへのアクセスを Agent に付与します。
CREATE USER datadog FOR LOGIN datadog;
サーバーに接続するための読み取り専用ログインを作成し、必要な権限を付与します。
CREATE LOGIN datadog WITH PASSWORD = '<PASSWORD>';
CREATE USER datadog FOR LOGIN datadog;
GRANT CONNECT ANY DATABASE to datadog;
GRANT VIEW SERVER STATE to datadog;
GRANT VIEW ANY DEFINITION to datadog;
CREATE LOGIN datadog WITH PASSWORD = '<PASSWORD>';
CREATE USER datadog FOR LOGIN datadog;
GRANT VIEW SERVER STATE to datadog;
GRANT VIEW ANY DEFINITION to datadog;
-- Create the `datadog` user in each additional application database:
USE [database_name];
CREATE USER datadog FOR LOGIN datadog;
Windows Azure VM の SQL Server の場合は、セルフホスティングの SQL Server のデータベースモニタリングを設定するのドキュメントに従って、Windows Server ホスト VM に直接 Datadog Agent をインストールしてください。
Azure はホストへの直接アクセスを許可しないため、Datadog Agent は SQL Server ホストと通信可能な別のホストにインストールする必要があります。Agent のインストールと実行には、いくつかのオプションがあります。
SQL Server テレメトリーの収集を開始するには、まず Datadog Agent をインストールします。
SQL Server Agent のコンフィギュレーションファイル C:\ProgramData\Datadog\conf.d\sqlserver.d\conf.yaml
を作成します。使用可能なすべての構成オプションは、サンプルコンフィギュレーションファイルを参照してください。
init_config:
instances:
- dbm: true
host: '<HOSTNAME>,<SQL_PORT>'
username: datadog
password: '<PASSWORD>'
connector: adodbapi
provider: MSOLEDBSQL
tags: # オプション
- 'service:<CUSTOM_SERVICE>'
- 'env:<CUSTOM_ENV>'
# プロジェクトとインスタンスを追加した後、CPU、メモリなどの追加のクラウドデータをプルするために Datadog Azure インテグレーションを構成します。
azure:
deployment_type: '<DEPLOYMENT_TYPE>'
name: '<YOUR_INSTANCE_NAME>'
Windows 認証を利用する場合は、connection_string: "Trusted_Connection=yes"
と設定し、username
と password
フィールドを省略します。
service
および env
タグを使用すると、共通のタグ付けスキームを介してデータベーステレメトリーを他のテレメトリーにリンクすることができます。Datadog 内でこのようなタグが使用される方法については、統合サービスタグ付けに関するドキュメントをお読みください。
推奨する ADO プロバイダーは、Microsoft OLE DB Driver です。Agent が動作しているホストにドライバーがインストールされていることを確認してください。
connector: adodbapi
provider: MSOLEDBSQL
他の 2 つのプロバイダー、SQLOLEDB
と SQLNCLI
は、Microsoft によって非推奨とされており、もはや使用するべきではありません。
推奨する ODBC ドライバーは、Microsoft ODBC Driver です。Agent が動作しているホストにドライバーがインストールされていることを確認してください。
connector: odbc
driver: '{ODBC Driver 17 for SQL Server}'
すべての Agent の構成が完了したら、Datadog Agent を再起動します。
Agent の status サブコマンドを実行し、Checks セクションで sqlserver
を探します。Datadog のデータベースのページへ移動して開始します。
SQL Server テレメトリーの収集を開始するには、まず Datadog Agent をインストールします。
Linux では、Datadog Agent の他に、ODBC SQL Server ドライバー (例えば、Microsoft ODBC ドライバー) がインストールされていることが必須となります。ODBC SQL Server がインストールされたら、odbc.ini
と odbcinst.ini
ファイルを /opt/datadog-agent/embedded/etc
フォルダーにコピーします。
odbc
コネクターを使用し、odbcinst.ini
ファイルに示されているように、適切なドライバーを指定します。
SQL Server Agent のコンフィギュレーションファイル /etc/datadog-agent/conf.d/sqlserver.d/conf.yaml
を作成します。使用可能なすべての構成オプションは、サンプルコンフィギュレーションファイルを参照してください。
init_config:
instances:
- dbm: true
host: '<HOSTNAME>,<SQL_PORT>'
username: datadog
password: '<PASSWORD>'
connector: odbc
driver: '<Driver from the `odbcinst.ini` file>'
tags: # オプション
- 'service:<CUSTOM_SERVICE>'
- 'env:<CUSTOM_ENV>'
# プロジェクトとインスタンスを追加した後、CPU、メモリなどの追加のクラウドデータをプルするために Datadog Azure インテグレーションを構成します。
azure:
deployment_type: '<DEPLOYMENT_TYPE>'
name: '<YOUR_INSTANCE_NAME>'
service
および env
タグを使用すると、共通のタグ付けスキームを介してデータベーステレメトリーを他のテレメトリーにリンクすることができます。Datadog 内でこのようなタグが使用される方法については、統合サービスタグ付けに関するドキュメントをお読みください。
すべての Agent の構成が完了したら、Datadog Agent を再起動します。
Agent の status サブコマンドを実行し、Checks セクションで sqlserver
を探します。Datadog のデータベースのページへ移動して開始します。
Docker コンテナで動作するデータベースモニタリング Agent を設定するには、Agent コンテナの Docker ラベルとしてオートディスカバリーのインテグレーションテンプレートを設定します。
注: ラベルのオートディスカバリーを機能させるためには、Agent にDocker ソケットに対する読み取り権限が与えられている必要があります。
アカウントや環境に合わせて、値を置き換えます。利用可能なすべての構成オプションについては、サンプルコンフィギュレーションファイルを参照してください。
export DD_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
export DD_AGENT_VERSION=7.35.0
docker run -e "DD_API_KEY=${DD_API_KEY}" \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-l com.datadoghq.ad.check_names='["sqlserver"]' \
-l com.datadoghq.ad.init_configs='[{}]' \
-l com.datadoghq.ad.instances='[{
"dbm": true,
"host": "<HOSTNAME>",
"port": <SQL_PORT>,
"connector": "odbc",
"driver": "FreeTDS",
"username": "datadog",
"password": "<PASSWORD>",
"tags": [
"service:<CUSTOM_SERVICE>"
"env:<CUSTOM_ENV>"
],
"azure": {
"deployment_type": "<DEPLOYMENT_TYPE>",
"name": "<YOUR_INSTANCE_NAME>"
}
}]' \
datadoghq/agent:${DD_AGENT_VERSION}
service
および env
タグを使用すると、共通のタグ付けスキームを介してデータベーステレメトリーを他のテレメトリーにリンクすることができます。Datadog 内でこのようなタグが使用される方法については、統合サービスタグ付けに関するドキュメントをお読みください。
Agent の status サブコマンドを実行し、Checks セクションで sqlserver
を探します。または、Datadog のデータベースのページへ移動して開始します。
Kubernetes クラスターをお使いの場合は、データベースモニタリング用の Datadog Cluster Agent をご利用ください。
Kubernetes クラスターでクラスターチェックがまだ有効になっていない場合は、指示に従ってクラスターチェックを有効化します。Cluster Agent の構成は、Cluster Agent コンテナにマウントされた静的ファイル、または Kubernetes サービスアノテーションのいずれかを使用することができます。
以下の Helm コマンドを実行して、Kubernetes クラスターに Datadog Cluster Agent をインストールします。お使いのアカウントや環境に合わせて値を変更してください。
helm repo add datadog https://helm.datadoghq.com
helm repo update
helm install <RELEASE_NAME> \
--set 'datadog.apiKey=<DATADOG_API_KEY>' \
--set 'clusterAgent.enabled=true' \
--set "clusterAgent.confd.sqlserver\.yaml=cluster_check: true
init_config:
instances:
- dbm: true
host: <HOSTNAME>
port: 1433
username: datadog
password: '<PASSWORD>'
connector: 'odbc'
driver: 'FreeTDS'
azure:
deployment_type: '<DEPLOYMENT_TYPE>'
name: '<YOUR_INSTANCE_NAME>' \
datadog/datadog"
マウントされたコンフィギュレーションファイルを使ってクラスターチェックを構成するには、コンフィギュレーションファイルを Cluster Agent コンテナのパス /conf.d/sqlserver.yaml
にマウントします。
cluster_check: true # このフラグを必ず入れてください
init_config:
instances:
- dbm: true
host: '<HOSTNAME>'
port: <SQL_PORT>
username: datadog
password: '<PASSWORD>'
connector: "odbc"
driver: "FreeTDS"
# プロジェクトとインスタンスを追加した後、CPU、メモリなどの追加のクラウドデータをプルするために Datadog Azure インテグレーションを構成します。
azure:
deployment_type: '<DEPLOYMENT_TYPE>'
name: '<YOUR_INSTANCE_NAME>'
ファイルをマウントせずに、インスタンスのコンフィギュレーションを Kubernetes サービスとして宣言することができます。Kubernetes 上で動作する Agent にこのチェックを設定するには、Datadog Cluster Agent と同じネームスペースにサービスを作成します。
apiVersion: v1
kind: Service
metadata:
name: sqlserver-datadog-check-instances
annotations:
ad.datadoghq.com/service.check_names: '["sqlserver"]'
ad.datadoghq.com/service.init_configs: '[{}]'
ad.datadoghq.com/service.instances: |
[
{
"dbm": true,
"host": "<HOSTNAME>",
"port": <SQL_PORT>,
"username": "datadog",
"password": "<PASSWORD>",
"connector": "odbc",
"driver": "FreeTDS",
"azure": {
"deployment_type": "<DEPLOYMENT_TYPE>",
"name": "<YOUR_INSTANCE_NAME>"
}
}
]
spec:
ports:
- port: 1433
protocol: TCP
targetPort: 1433
name: sqlserver
Cluster Agent は自動的にこのコンフィギュレーションを登録し、SQL Server チェックを開始します。
datadog
ユーザーのパスワードをプレーンテキストで公開しないよう、Agent のシークレット管理パッケージを使用し、ENC[]
構文を使ってパスワードを宣言します。
Azure からより包括的なデータベースメトリクスとログを収集するには、Azure インテグレーションをインストールします。
お役に立つドキュメント、リンクや記事: