SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Datadog Agent についてのメモ

leave a comment

Datadog Agent についてのメモを。

Datadog Agent のリポジトリ

Dagadog Agent に関連する基本的なリポジトリとしては次の 3 種類があるのではないでしょうか。

Datadog Agent については datadog-agent から確認することができます。

Datadog Agent はインストールすると、デフォルトで様々なインテグレーションがインストールされていますが、初期状態でインストールされているインテグレーションは integrations-core に含まれているものがベースとなっているようです。

「agent integration freeze」を実行することでインストールされているインテグレーションを確認することができますが、初期状態でインストールされているのが integrations-core で管理されているインテグレーションとなっているかと。

image

integrations-extras はデフォルトではインストールされていないコミュニティ管理のインテグレーションとなり、こちらについては初期状態では含まれておらず「agent integration install -t datadog-fluentbit==1.0.2 -r」というようなコマンドでインストールする必要があります。

Integration は Python で作成されており、pip でインストールがされているようですので pip コマンドでインストールされているインテグレーションを確認することもできます。

Linux であれば「/opt/datadog-agent/embedded/lib/python3.11/site-packages」、Windows であれば「C:\Program Files\Datadog\Datadog Agent\embedded3\Lib\site-packages」からインストールされているパッケージのファイルを確認することもできるかと。

インテグレーションの情報をさらに確認したい場合には、インテグレーションの構築 を確認するとよさそうでした。

SQL Server ベースの環境向けのインテグレーションについては、Microsoft SQL Server Checkから、実装を確認することができます。

 

SQL Database 向けのエージェントをACI でコンテナーを起動することで利用

Datadog Agent はエージェント実行端末に、エージェントをインストールして利用するだけでなく、コンテナーで利用することも可能であり、コンテナーイメージ が提供されています。

Datadog の データベースモニタリング は SQL Server ベースの環境にも対応しており、Azure SQL Database のクエリ調査を行う際には強力な機能となります。

Azure で Datadog Agent を実行する場合、VM にエージェントをインストールして利用するほかに、Azure Container Instance でコンテナーとしてエージェントを実行することも検討することができます。

実際にコンテナーを起動する場合は次のようなコマンドで ACI を起動することができます。

az container create `
    --resource-group rg-ACI `
    --name ddagent `
    --image datadog/agent:7.53.0 `
    --cpu 1 --memory 1 `
    --environment-variables `
    "DD_API_KEY=<Datadog API Key>" `
    "DD_HOSTNAME=ddagent" `
    "DD_SERVER=<SQL DB Server Name>" `
    "DD_DATABASE=<Database Name>" `
    "DD_USER=<Database Login User>" `
    "DD_USER_PASSWORD=<Database Login Password>" `
    --azure-file-volume-account-name "<Storage Account Name>" `
    --azure-file-volume-account-key "<Storage Access Key> `
    --azure-file-volume-share-name "datadog" `
    --azure-file-volume-mount-path "/etc/datadog-agent/conf.d/"

 

ACI で外部からファイルを連携する場合、Azure Files を使用することができます。

Azure Files として「datadog」というファイル共有を作成し、その共有の中に「sqlserver.d」というディレクトリを作成し、次のファイルを「conf.yaml」として配置することで、SQL Server のインテグレーションを使用して情報を取得することができます。

init_config:

instances:
  - host: "%%env_DD_SERVER%%.database.windows.net"
    connector: "odbc"
    driver: "ODBC Driver 18 for SQL Server"
    database: "%%env_DD_DATABASE%%"
    username: "%%env_DD_USER%%"
    password: "%%env_DD_USER_PASSWORD%%"
    azure:
      deployment_type: "sql_database"
      fully_qualified_domain_name: "%%env_DD_SERVER%%-fg.database.windows.net"
    dbm: true

 

投稿時点で使用できるイメージのバージョンは「7.53.0」となりますが、このイメージには SQL Server の ODBC ドライバー が含まれた状態となっています。

「/opt/datadog-agent/embedded/msodbcsql」に 18.3 の ODBC ドライバーが含まれており、「/opt/datadog-agent/embedded/lib/python3.11/site-packages/datadog_checks/sqlserver/data/driver_

config\odbcinst.ini」から確認ができるのですが、ドライバーの設定が行われているため、conf.yaml では、このドライバー名を指定しています。(driver: "/opt/datadog-agent/embedded/msodbcsql/lib64/libmsodbcsql-18.3.so.2.1" という指定でも認識できるかと)

image

このような設定を使用することで、ACI を使用して Datadog Agent を実行することもできます。

Share

Written by Masayuki.Ozawa

5月 8th, 2024 at 6:42 pm

Posted in Datadog

Tagged with

Leave a Reply