Amazon Web Services (AWS) を接続すると、次のことができるようになります。
インテグレーション | 説明 |
---|---|
API Gateway | API の作成、公開、管理、セキュリティ保護 |
Appstream | AWS 上のフルマネージド型のアプリケーションストリーミング |
AppSync | リアルタイムのデータ同期機能とオフラインのプログラミング機能を備えた GraphQL サービス |
Athena | サーバーレスのインタラクティブなクエリサービス |
Autoscaling | EC2 容量のスケーリング |
料金 | 請求と予算 |
CloudFront | ローカルのコンテンツ配信ネットワーク |
Cloudhsm | マネージド型のハードウェアセキュリティモジュール (HSM) |
CloudSearch | ログファイルおよび AWS API 呼び出しへのアクセス |
CloudTrail | ログファイルおよび AWS API 呼び出しへのアクセス |
CodeBuild | フルマネージド型のビルドサービス |
CodeDeploy | コードデプロイの自動化 |
Cognito | セキュリティ保護されたユーザーのサインアップとサインイン |
Connect | セルフサービス型のクラウドベースコンタクトセンターサービス |
Direct Connect | AWS への専用ネットワーク接続 |
DMS | データベース移行サービス |
DocumentDB | MongoDB 互換データベース |
Dynamo DB | NoSQL データベース |
EBS (Elastic Block Store) | 永続的なブロックレベルのストレージボリューム |
EC2 (Elastic Cloud Compute) | クラウドのサイズ変更可能なコンピュート容量 |
EC2 スポット | 未使用の EC2 容量の活用 |
ECS (Elastic Container Service) | Docker コンテナをサポートするコンテナ管理サービス |
EFS (Elastic File System) | 共有ファイルストレージ |
EKS | Kubernetes 用の Elastic Container Service |
Elastic Transcoder | クラウドでのメディアおよびビデオコード変換 |
ElastiCache | クラウドのインメモリキャッシュ |
Elastic Beanstalk | Web アプリケーションとサービスのデプロイとスケーリングを行うサービス |
ELB (Elastic Load Balancing) | 着信アプリケーショントラフィックを複数の Amazon EC2 インスタンス間で分散 |
EMR (Elastic Map Reduce) | Hadoop を使用するデータ処理 |
ES (Elasticsearch) | Elasticsearch クラスターのデプロイ、操作、スケーリング |
Firehose | ストリーミングデータの取得とロード |
Gamelift | 専用ゲームサーバーホスティング |
Glue | 分析のためのデータの抽出、変換、ロード |
GuardDuty | インテリジェントな脅威の検出 |
Health | AWS のリソース、サービス、アカウントの状態の可視化 |
Inspector | 自動化されたセキュリティ評価 |
IoT (モノのインターネット) | クラウドサービスへの IOT デバイスの接続 |
Kinesis | 大規模な分散データストリームをリアルタイムに処理するサービス |
KMS (Key Management Service) | 暗号キーの作成と制御 |
Lambda | サーバーレスコンピューティング |
Lex | 会話ボットの構築 |
Machine Learning | 機械学習モデルの作成 |
MediaConnect | ライブビデオの転送 |
MediaConvert | 放送およびマルチ画面配信のためのビデオ処理 |
MediaPackage | インターネット配信のためのビデオの準備と保護 |
MediaTailor | スケーラブルなサーバー側広告挿入 |
MQ | ActiveMQ 向けのマネージド型メッセージブローカー |
Managed Streaming for Kafka | Apache Kafka を使用してストリーミングデータを処理するアプリケーションの構築と実行 |
NAT ゲートウェイ | プライベートサブネット内のインスタンスをインターネットまたは他の AWS サービスに接続可能 |
Neptune | クラウド向けに構築された高速・高信頼性のグラフデータベース |
OpsWorks | 構成管理 |
Polly | テキスト読み上げサービス |
RDS (Relational Database Service) | クラウドのリレーショナルデータベース |
Redshift | データウェアハウスソリューション |
Rekognition | アプリケーション向けのイメージおよびビデオ分析 |
Route 53 | DNS とトラフィック管理と可用性のモニタリング |
S3 (Simple Storage Service) | 高可用性・スケーラブルなクラウドストレージサービス |
SageMaker | 機械学習モデルおよびアルゴリズム |
SES (Simple Email Service) | 費用効率の高いアウトバウンド専用のメール送信サービス |
SNS (Simple Notification System) | アラートと通知 |
SQS (Simple Queue Service) | メッセージキューサービス |
Storage Gateway | ハイブリッドクラウドストレージ |
SWF (Simple Workflow Service) | クラウドワークフロー管理 |
VPC (Virtual Private Cloud) | 仮想ネットワーク内での AWS リソースの起動 |
Web Application Firewall (WAF) | 一般的な Web エクスプロイトからの Web アプリケーションの保護 |
Workspaces | セキュアなデスクトップコンピューティングサービス |
X-Ray | 分散アプリケーションのトレーシング |
Amazon Web Services との Datadog インテグレーションをセットアップするには、AWS IAM を使用してロールの委任を設定する必要があります。ロールの委任について、詳しくは AWS IAM ベストプラクティス ガイドを参照してください。
必要となる AWS ロールのセットアップ方法を選択してください。CloudFormation を推奨します。
Another AWS account
を選択します。464622532012
(Datadog のアカウント ID) を入力します。これは、Datadog に AWS データへの読み取り専用アクセスを許可することを意味します。Require external ID
を選択し、AWS インテグレーション タイルで作成された ID を入力します。Require MFA は無効のままにしておきます。外部 ID の詳細については、IAM ユーザーガイドのこのドキュメントを参照してください。Next: Permissions
をクリックします。Create Policy
をクリックします。新しいウィンドウが開きます。JSON
タブを選択します。Datadog が提供する各 AWS インテグレーションを利用するには、テキストボックスの下にあるポリシー スニペットを使用します。これらのアクセス許可は、他のコンポーネントがインテグレーションに追加されると変更される場合があります。Review policy
をクリックします。DatadogAWSIntegrationPolicy
、または自分が選択した名前を付け、適切な説明を入力します。Create policy
をクリックします。これで、このウィンドウを閉じることができます。Next: Review
をクリックします。DatadogAWSIntegrationRole
などの名前を付け、適切な説明を入力します。Create Role
をクリックします。補足: Terraform を使用する場合は、Terraform との AWS インテグレーションを利用して Datadog IAM ポリシーをセットアップします。
123456789012
)。アカウント ID は、AWS インテグレーションのインストール中に作成されるロールの ARN にあります。to hosts with tag
テキストボックスに AWS タグを入力して、EC2 インスタンスのサブセットを監視します。注: インスタンスに接続された EBS ボリュームにも適用されます。to Lambdas with tag
テキストボックスに AWS タグを入力して、Lambdas のサブセットを監視します。以下に記載されているアクセス許可はポリシー ドキュメントに含まれているもので、List*
や Get*
などのワイルドカードを使用しています。厳密なポリシーが必要な場合は、記載されているとおりの完全なアクション名を使用し、必要なサービスの Amazon API ドキュメントを参照してください。
すべてのアクセス許可を付与したくない場合は、既存ポリシーのうち少なくとも AmazonEC2ReadOnlyAccess および CloudWatchReadOnlyAccess を使用してください。アクセス許可の詳細については、主要なアクセス許可 セクションをご覧ください。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"apigateway:GET",
"autoscaling:Describe*",
"budgets:ViewBudget",
"cloudfront:GetDistributionConfig",
"cloudfront:ListDistributions",
"cloudtrail:DescribeTrails",
"cloudtrail:GetTrailStatus",
"cloudtrail:LookupEvents",
"cloudwatch:Describe*",
"cloudwatch:Get*",
"cloudwatch:List*",
"codedeploy:List*",
"codedeploy:BatchGet*",
"directconnect:Describe*",
"dynamodb:List*",
"dynamodb:Describe*",
"ec2:Describe*",
"ecs:Describe*",
"ecs:List*",
"elasticache:Describe*",
"elasticache:List*",
"elasticfilesystem:DescribeFileSystems",
"elasticfilesystem:DescribeTags",
"elasticfilesystem:DescribeAccessPoints",
"elasticloadbalancing:Describe*",
"elasticmapreduce:List*",
"elasticmapreduce:Describe*",
"es:ListTags",
"es:ListDomainNames",
"es:DescribeElasticsearchDomains",
"health:DescribeEvents",
"health:DescribeEventDetails",
"health:DescribeAffectedEntities",
"kinesis:List*",
"kinesis:Describe*",
"lambda:GetPolicy",
"lambda:List*",
"logs:DeleteSubscriptionFilter",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:DescribeSubscriptionFilters",
"logs:FilterLogEvents",
"logs:PutSubscriptionFilter",
"logs:TestMetricFilter",
"rds:Describe*",
"rds:List*",
"redshift:DescribeClusters",
"redshift:DescribeLoggingStatus",
"route53:List*",
"s3:GetBucketLogging",
"s3:GetBucketLocation",
"s3:GetBucketNotification",
"s3:GetBucketTagging",
"s3:ListAllMyBuckets",
"s3:PutBucketNotification",
"ses:Get*",
"sns:List*",
"sns:Publish",
"sqs:ListQueues",
"states:ListStateMachines",
"states:DescribeStateMachine",
"support:*",
"tag:GetResources",
"tag:GetTagKeys",
"tag:GetTagValues",
"xray:BatchGetTraces",
"xray:GetTraceSummaries"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
コア Datadog AWS インテグレーションは、AWS CloudWatch からデータを取得します。少なくとも、ポリシー ドキュメントで次のアクションを許可する必要があります。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:Get*",
"cloudwatch:List*",
"ec2:Describe*",
"support:*",
"tag:GetResources",
"tag:GetTagKeys",
"tag:GetTagValues"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
AWS アクセス許可 | 説明 |
---|---|
cloudwatch:ListMetrics | 使用可能な CloudWatch メトリクスをリスト化します。 |
cloudwatch:GetMetricData | 特定のメトリクスのデータ ポイントを取得します。 |
support:* : | サービスの制限に関するメトリクスを追加します。 AWS の制限のためにフル アクセスが必要です。 |
tag:getResources | リソース タイプ別にカスタム タグを取得します。 |
tag:getTagKeys | AWS アカウント内のリージョン別にタグ キーを取得します。 |
tag:getTagValues | AWS アカウント内のリージョン別にタグ値を取得します。 |
Resource Group Tagging API の主な用途は、カスタム タグの収集に必要な API 呼び出しの数を減らすことです。詳細については、AWS Web サイトのタグ ポリシー ドキュメントを参照してください。
to hosts with tag
テキストボックスに AWS タグを入力して、EC2 インスタンスのサブセットを監視します。注: インスタンスに接続された EBS ボリュームにも適用されます。to Lambdas with tag
テキストボックスに AWS タグを入力して、Lambdas のサブセットを監視します。AWSサービスログを Datadog に送信する方法はいくつかあります。
aws.logs.incoming_bytes (gauge) | The volume of log events in uncompressed bytes uploaded to Cloudwatch Logs. Shown as byte |
aws.logs.incoming_log_events (count) | The number of log events uploaded to Cloudwatch Logs. Shown as event |
aws.logs.forwarded_bytes (gauge) | The volume of log events in compressed bytes forwarded to the subscription destination. Shown as byte |
aws.logs.forwarded_log_events (count) | The number of log events forwarded to the subscription destination. Shown as event |
aws.logs.delivery_errors (count) | The number of log events for which CloudWatch Logs received an error when forwarding data to the subscription destination. Shown as event |
aws.logs.delivery_throttling (count) | The number of log events for which CloudWatch Logs was throttled when forwarding data to the subscription destination. Shown as event |
aws.events.invocations (count) | Measures the number of times a target is invoked for a rule in response to an event. This includes successful and failed invocations but does not include throttled or retried attempts until they fail permanently. |
aws.events.failed_invocations (count) | Measures the number of invocations that failed permanently. This does not include invocations that are retried or that succeeded after a retry attempt |
aws.events.triggered_rules (count) | Measures the number of triggered rules that matched with any event. |
aws.events.matched_events (count) | Measures the number of events that matched with any rule. |
aws.events.throttled_rules (count) | Measures the number of triggered rules that are being throttled. |
aws.usage.call_count (count) | The number of specified operations performed in your account Shown as operation |
aws.usage.resource_count (count) | The number of specified resources in your account Shown as resource |
AWS のイベントは、AWS サービス ベースごとに収集されます。収集されるイベントの詳細については、各 AWS サービスの文書を参照してください。
AWS インテグレーションから以下のタグが収集されます。注: 一部のタグは、特定のメトリクスにのみ表示されます。
インテグレーション | Datadog タグキー |
---|---|
すべて | region |
API Gateway | apiid 、apiname、 method、 resource、 stage` | |
Auto Scaling | autoscalinggroupname 、autoscaling_group |
料金 | account_id 、budget_name 、budget_type 、currency 、servicename 、time_unit |
CloudFront | distributionid |
CodeBuild | project_name |
CodeDeploy | application 、creator 、deployment_config 、deployment_group 、deployment_option 、deployment_type 、status |
DirectConnect | connectionid |
DynamoDB | globalsecondaryindexname 、operation 、streamlabel 、tablename |
EBS | volumeid 、volume-name 、volume-type |
EC2 | autoscaling_group 、availability-zone 、image 、instance-id 、instance-type 、kernel 、name 、security_group_name |
ECS | clustername 、servicename 、instance_id |
EFS | filesystemid |
[ElastiCache][] | cachenodeid 、cache_node_type 、cacheclusterid 、cluster_name 、engine 、engine_version 、prefered_availability-zone 、replication_group |
ElasticBeanstalk | environmentname 、enviromentid |
ELB | availability-zone 、hostname 、loadbalancername 、name 、targetgroup |
EMR | cluster_name 、jobflowid |
ES | dedicated_master_enabled 、ebs_enabled 、elasticsearch_version 、instance_type 、zone_awareness_enabled |
Firehose | deliverystreamname |
Health | event_category 、status 、service |
IoT | actiontype 、protocol 、rulename |
Kinesis | streamname 、name 、state |
KMS | keyid |
Lambda | functionname 、resource 、executedversion 、memorysize 、runtime |
Machine Learning | mlmodelid 、requestmode |
MQ | broker 、queue 、topic |
OpsWorks | stackid 、layerid 、instanceid |
Polly | operation |
RDS | auto_minor_version_upgrade 、dbinstanceclass 、dbclusteridentifier 、dbinstanceidentifier 、dbname 、engine 、engineversion 、hostname 、name 、publicly_accessible 、secondary_availability-zone |
Redshift | clusteridentifier 、latency 、nodeid 、service_class 、stage 、wlmid |
Route 53 | healthcheckid |
S3 | bucketname 、filterid 、storagetype |
SES | タグキーは AWS でカスタム設定されます。 |
SNS | topicname |
SQS | queuename |
VPC | nategatewayid 、vpnid 、tunnelipaddress |
WorkSpaces | directoryid 、workspaceid |
以下の 2 つの重要な区別に注意する必要があります。
system.cpu.idle
をリクエストすると、そのメトリクスを報告する系列がホストごとに 1 つずつ返され、それらの系列を結合してグラフ化する必要があります。一方、1 つのホストから system.cpu.idle
をリクエストした場合、集計は不要で、平均と最大を切り替えても結果は同じです。AWS インテグレーションを使用している場合、Datadog は CloudWatch API からメトリクスを取得します。API に関していくつかの制約が存在するため、AWS のメトリクスにわずかな遅延が見られる場合があります。
そもそも、CloudWatch API で提供されるのは、データを取得するためのメトリクス別のクロールだけです。CloudWatch API にはレート制限があり、認証証明書、リージョン、サービスの組み合わせに基づいて変化します。アカウント レベルにより、AWS で使用できるメトリクスは異なります。たとえば、AWS 上で詳細なメトリクスに対して支払いを行うと、短時間で入手できるようになります。この詳細なメトリクスのサービスのレベルは粒度にも適用され、一部のメトリクスは 1 分ごと、それ以外は 5 分ごとに使用可能になります。
Datadog には、状況に応じてアカウント内の特定のメトリクスに優先順位をつけ、すばやく取り込む機能があります。詳細は、Datadog サポートまでご連絡ください。
遅延をほぼゼロでメトリクスを取得するには、ホストに Datadog Agent をインストールします。詳細については、Datadog のブログ投稿Agent は難しくない: Agent ベースの監視を参照してください。
CloudWatch の API は、データポイントとメトリクスのみを返します。そのため、たとえば、ELB に接続されているインスタンスがない場合は、Datadog でこの ELB に関連するメトリクスは表示されないことが予想されます。
ELB でクロスゾーン負荷分散オプションを有効にすると、この ELB に接続されているすべてのインスタンスは、すべてのアベイラビリティー ゾーンの一部であると見なされます (CloudWatch 側)。そのため、1a に 2 個、ab に 3 個のインスタンスがある場合、メトリクスはアベイラビリティー ゾーンごとに 5 つのインスタンスが表示されます。 このカウンターは直感的でないので、新しいメトリクス aws.elb.healthy_host_count_deduped と aws.elb.un_healthy_host_count_deduped を追加しています。これは、このクロスゾーン負荷分散オプションが有効かどうかに関係なく、アベイラビリティー ゾーンごとに正常または正常でないインスタンスのカウントを表示します。
AWS ホストに Agent をインストールし、Agent の構成でホスト名を手動で設定した場合、インフラ ページにホストが数時間、重複して表示されることがあります。この 2 番目のホストは数時間で消え、請求には影響しません。
このページ