Datadog導入連携

作成日:2020-08-07

DatadogでのAlibaba Cloud連携について

img

はじめに

本記事では、クラウド型の監視アプリケーションであるDatadogでAlibaba Cloudを連携する方法をご紹介します。

Datadogは以下のようなことが可能なサービスです。

  • クラウドサービスのメトリクスの監視
  • アプリケーションのパフォーマンスを監視
  • ログの収集・可視化
  • アラートの管理と通知

※上記は一部の機能になります。機能の詳細については以下をご覧ください。

https://www.datadoghq.com/ja/product/

Datadogの下記のページを見るとAlibaba Cloudについても記載がありますので、
実際に使用できるか検証したいと思います。

https://www.datadoghq.com/ja/solutions/hybrid-cloud-monitoring/

img

連携可能なAlibaba Cloudプロダクトについて

ドキュメントを見ると以下のプロダクトがDatadogと連携可能なようです。

https://docs.datadoghq.com/ja/integrations/alibaba_cloud/

Alibaba Cloud Servers Load BalancerAlibaba Elastic Compute ServiceAlibaba Cloud ApsaraDB for RDSAlibaba Cloud ApsaraDB for RedisAlibaba Cloud Content Delivery NetworkAlibaba Cloud Container ServiceAlibaba Cloud Express Connect実際に連携できるか一部のプロダクトを使用し、検証していきます。

RAM設定

以下のドキュメントによると、
連携のためにAccount IDとAccess Key IDとAccess Key Secretが必要な手順となっていますので、
まずはDatadogとの連携で使用するRAMユーザを作成します。

https://docs.datadoghq.com/ja/integrations/alibaba_cloud/

Resource Access ManagementでRAMユーザを作成します。

img

連携するプロダクトに対応する権限をRAMユーザへ付与します。

  • AliyunCloudMonitorReadOnlyAccess
  • AliyunECSReadOnlyAccess
  • AliyunKvstoreReadOnlyAccess
  • AliyunRDSReadOnlyAccess
  • AliyunSLBReadOnlyAccess
  • AliyunCDNReadOnlyAccess
  • AliyunCSReadOnlyAccess
  • AliyunExpressConnectReadOnlyAccess

img

Datadog+Alibaba Cloud連携

Datadog連携用のRAMユーザと権限が用意できたので、Datadogとの連携を図ります。
Integrationsの概要については下記をご覧ください。

https://docs.datadoghq.com/ja/getting_started/integrations/

IntegrationsでAlibaba Cloudを選択します。

img

以下のプロダクトのメトリックが収集できます。

img

ConfigurationタブからAdd Accountを押下します。

img

Alibaba CloudのAccount IDとRAMユーザのAccess Key IDとAccess Key Secretを入力し、DatadogとAlibaba Cloudを連携します。
※各種Alibaba Cloudインスタンスのメトリックデータ連携時にフィルタとして使用するタグもここで定義しています。
入力後、Install Integrationを押下します。

img

連携後、再びAlibaba CloudのIntegrationを開くと以下のようになります。
連携できました。これでプロダクトのメトリクスを可視化および監視することが可能となります。

img

ダッシュボード①

Alibaba CloudのIntegrationを追加したため、Datadogにダッシュボードが追加されます。

img

ECSとSLBとRDSとRedisのダッシュボードが表示されます。
※作成したばかりのため、まだデータは表示されていません。

img

リソース用意

Datadogに読み込ませるリソースを作成します。
Datadogではタグによるフィルタリングが可能であるため、今回リソースには意図的にタグを付与します。
※独自にタグを付与しない場合でもカウントやリージョン、ゾーン単位のフィルタリングは可能です。

https://docs.datadoghq.com/ja/tagging/using_tags/?tab=assignment

Alibaba Cloudダッシュボードに表示されるECSやSLBなどのリソースを作成し、同じタグを付与します。
今回はIntegrationでのアカウント連携時に設定したタグを付与します。
タグによるリソースのフィルターが可能のため利用します。
※以下はSLBのタグ設定画面

img

※以下はRDSのタグ設定画面 img

ダッシュボード②

フィルタを設定しない場合、アカウントのリソースがダッシュボードにすべて表示されます。

img

$varでインスタンスに設定したタグを選択するとタグを付与したインスタンスのみダッシュボードに表示されます。

img

ダッシュボード③

デフォルトで作成されるダッシュボード以外にも 自分でダッシュボード作成し、メトリクスを登録することも可能です。

img

img

画面上部のウィジェットをドラッグアンドドロップで配置します。

img

表示するメトリクスを選択し、保存するとダッシュボードに反映されます。

img

ダッシュボードが表示されました。 Alibaba Cloudプロダクトで表示できるメトリクスについては以下のページのメトリクスをご覧ください。

https://docs.datadoghq.com/ja/integrations/alibaba_cloud/#%E3%83%A1%E3%83%88%E3%83%AA%E3%82%AF%E3%82%B9

img

Agent登録

datadog-agentをサーバに導入するとDatadogでサーバ内プロセス監視が可能となります。
今回はECSにAgentを導入し、プロセスを監視してみます。

https://docs.datadoghq.com/ja/agent/basic_agent_usage/?tab=agentv6v7

今回はCentOS7.6のパブリックイメージを使用しているため、
左カラムでCentOSを選択し、以下のコマンドでAgentを導入します。

img

プロセス監視

Agentを導入したECSで設定ファイルを記述します。

「/etc/datadog-agent/conf.d/process.d」配下に設定ファイルを新規作成します。

/etc/datadog-agent/conf.d/process.d/conf.yaml
init_config:
instances:
- name: chrony
search_string: ['chrony', 'chronyd']
exact_match: False
- name: ssh
search_string: ['ssh', 'sshd']
exact_match: False

サービス再起動をして設定を反映します。

# systemctl restart datadog-agent

設定が反映されていることを確認します。
※下記のコマンドはAgentをインストールすることで使用可能となります。

# datadog-agent status

img

DatadogでMonitors ⇒ Manage Monitorsに遷移し、New Monitorを押下して新規監視定義を作成します。

img

Process Checkを選択します。

img

Agentの「/etc/datadog-agent/conf.d/process.d」配下の設定ファイルで定義したプロセスが
Pick a Processに表示されるため選択します(以下の画像ではChronyを選択)。
監視対象とするスコープをタグで指定し(以下の画像ではservice:datadogを指定)、その他メール内容と通知先を設定します。

img

作成後、Manage Monitorsに表示されます。
プロセスが正常にアップしているとSTATUSがOKになります。

img

以下はプロセス監視の詳細画面です。

img

今回プロセス監視設定をしたchronyを停止し、アラートを発報させます。
クライアントでプロセスを停止します。

# systemctl stop chronyd

DatadogでSTATUSがOK ⇒ ALERTに変更されることを確認します。

img

以下はプロセス監視の詳細画面です。

img

以下はDatadogから送信されたメールです。
プロセス監視でERRORになったため送信されました。
これによりプロセス監視設定で設定したメールアドレスにメールが発報されることが確認できました。

img

Live Processesの有効化

プロセス毎にAgent側で動作プロセスを定義しなくとも
Agent側の動作プロセス一覧および消費リソースを取得できます。
AgentでLive Processesを有効化するとクライアントで動作している全てのプロセスが表示されます。

https://docs.datadoghq.com/ja/infrastructure/process/?tab=linuxwindows

以下のProcesses画面ではAgent側でLive Processesをまだ有効化していないので、何も表示されていません。

img

以下のファイルのprocess_configをtrueにするとDatadog側にもクライアントのプロセス一覧が連携されます。

/etc/datadog-agent/datadog.yaml
process_config:
enabled: 'true'

サービス再起動をして設定を反映します。

# systemctl restart datadog-agent

Agent側で有効化するとグラフと動作プロセスごとのリソース使用率が表示されます。

img

最後に

今回はAlibaba CloudとDatadogを連携してみました。 Alibaba CloudプロダクトやMWのプロセス監視を中心にご紹介させていただきましたが、Datadogは他クラウドや様々なOSS製品(jenkins、Ansibleなど)、コミュニケーションツール(Slack、teams、GSuite)などとも連携が可能です。
それらを組み合わせることでさらに利便性の向上や管理の手間を削減可能と思われます。
フル機能が14日間無料のトライアルもありますので、 マルチクラウド環境の方や多数のツールをご利用の方はご利用してみてはいかがでしょうか。

Close

Alibaba Cloudを始めてみましょう

ソフトバンクは、Alibaba Cloudのアカウント開設から、サービス展開までをお手伝いします。
Hatena