Splunk Observability Cloud API を使用して AWS に接続する 🔗
Splunk Observability Cloud を AWS アカウントに接続するには、以下の手順を実行します:
IAM ポリシーを確認します。AWSへの接続に必要なアクセス許可を指定します。
AWSへの接続方法の設定: ポーリング またはr Metric Streams を選択します。
次のステップ を参照してください。
1.AWS接続を作成する 🔗
Splunk Observability Cloud API を介して Splunk Observability Cloud を AWS に接続するには、以下の手順を実行します:
外部AWS IDの作成 🔗
外部AWS IDを作成するには、コマンドラインインターフェイスを開き、以下のコマンドを使用して外部IDを生成するAWS接続を作成します:
curl -X POST 'https://app.<realm>.signalfx.com/v2/integration' \
-H 'accept: application/json, text/plain, */*' \
-H 'x-sf-token: <USER_API_ACCESS_TOKEN>' \
-H 'content-type: application/json' \
--data-raw '{"name":"AWS-connection-name","type":"AWSCloudWatch","authMethod":"ExternalId","pollRate":300000,"services":[],"regions":["us-east-1", "us-east-2", "us-west-1", "us-west-2"]}'
システム・レスポンスは次のようになります:
{
"authMethod" : "ExternalId",
"enabled" : false,
"externalId" : "<externalId>",
"id" : "<integrationId>",
"importCloudWatch" : false,
"name" : "AWS",
"pollRate" : 300000,
"regions" : [ "us-east-1", "us-east-2", "us-west-1", "us-west-2" ],
"roleArn" : null,
"services" : [ ],
"sfxAwsAccountArn" : "arn:aws:iam::<accountId>:root"
"type" : "AWSCloudWatch"
}
システムレスポンスでは、以下の点に注意してください:
id
フィールドは、今作成したインテグレーションの ID です。externalId
とaccountId
は、後でAWSコンソールでIAM(Identity and Access Management)ロールを作成するときに使用されます。CloudWatch Metrics コレクションが設定されていないため、
importCloudWatch
の値がfalse
に設定されています。
AWSポリシーとIAMロールを作成する 🔗
一意の Amazon Resource Name (ARN) を持つ AWS ポリシーと AWS IAM ロールを作成するには、AWS コンソールにアクセスし、外部IDを使ってAWSで認証する(推奨) の指示に従います。前のステップで生成した externalId
と accountId
の値を使用します。
2.IAMポリシーと必要なアクセス許可を確認する 🔗
これらはAWSのデータを収集するために必要なアクセス許可です:
3.セットアップの設定 🔗
Splunk Observability Cloud に ARN ロールを提供します。
また、以下のユースケースをサポートするように接続を設定することもできます:
CloudWatch APIを使用して、選択したリージョンとサービスのメトリクスを収集します。
CloudWatch APIを使用して、すべてのサービスのメトリクスを収集します。
CloudWatch Metric Streamsを単独で、またはログ収集と一緒に使用してメトリクスを収集します。
次の例では、services の値を指定せずに、選択したリージョンとすべてのサービスからメトリクスを収集する方法を示しています。
curl -X PUT 'https://app.<realm>.signalfx.com/v2/integration/<integrationId>' \
-H 'accept: application/json, text/plain, */*' \
-H 'x-sf-token: <USER_API_ACCESS_TOKEN>' \
-H 'content-type: application/json' \
--data-raw '{
"authMethod" : "ExternalId",
"created" : 1690856052734,
"createdByName" : null,
"creator" : "FVaMfXTAIAA",
"customCloudWatchNamespaces" : null,
"enableAwsUsage" : false,
"enableCheckLargeVolume" : false,
"enabled" : true,
"externalId" : "<externalId>",
"id" : "<integrationId>",
"importCloudWatch" : true,
"largeVolume" : false,
"lastUpdated" : 1690856052734,
"lastUpdatedBy" : "FVaMfXTAIAA",
"lastUpdatedByName" : null,
"name" : "AWS-connection-name",
"pollRate" : 300000,
"regions" : [ "us-east-1", "us-east-2", "us-west-1", "us-west-2" ],
"roleArn" : "<your-aws-iam-role-arn>",
"services" : [ ],
"sfxAwsAccountArn" : "arn:aws:iam::<accountId>:root",
"syncCustomNamespacesOnly" : false,
"syncLoadBalancerTargetGroupTags" : false,
"type" : "AWSCloudWatch"}'
4.AWSへの接続方法の設定 🔗
AWSへの接続方法を設定します:APIポーリング経由、または Metric Streams を使用します。
APIポーリングの設定(デフォルト) 🔗
CloudWatchAPIをポーリングしてAWSのメトリクスを取得する場合、以下の間隔に注意してください:
まず、
ListMetrics
APIで15分ごとにメトリクスのリストを取得します。次に、
GetMetricData
APIを使ってデータポイントを取得します。GetMetricStatistics
APIは非推奨であることに注意してください。詳しくは GetMetricStatistics API の非推奨のお知らせ を参照してください。
pollRate
を使用して、メトリクスのポーリング間隔を構成します。
metadataPollRate
、メタデータのポーリング間隔を設定します。詳しくは API開発者ポータルの設定方法 を参照してください。
Metric Streams の設定 🔗
CloudWatch Metric Streamsを有効にするには、以下の手順に従います:
https://api.<realm>.signalfx.com/v2/integration/<integrationId>
に GET リクエストを送信して、現在の設定を取得します。URLには必ず自分のレルムとインテグレーション IDを代入してください。metricStreamsSyncState
フィールドをENABLED
に設定します。importCloudWatch
フィールドをtrue
に設定します。enabled
フィールドをtrue
に設定します。https://api.<realm>.signalfx.com/v2/integration/<integrationId>
エンドポイントに PUT リクエストを送信して、更新した設定を保存します。
注意
CloudWatch Metric Streamsは名前空間とメトリクス名によるフィルターリングをサポートしていますが、リソースタグに基づくフィルターリングはサポートしていません。
次に、Metric Streamsのアクティベーションを完了します:
まだの場合は、AWS IAM ポリシー に関連のアクセス許可 を追加します。
メトリクスをストリーミングしたいすべてのリージョンで、CloudFormation をデプロイします。
これによって次が作成されます:
Kinesis Firehose。
Kinesis Data Firehoseが指定したHTTPエンドポイントへの送信に失敗したイベントをバックアップするためのS3バケット。
Metric Streams が使用するIAMロール。
Kinesis FirehoseにS3バケットへの書き込みを許可するIAMロール。
構文の例については、Splunk 開発者向けドキュメントの Create AWS integration using external ID and ARN を参照してください。
AWSコンソールから Metric Streams を設定する 🔗
AWSコンソールから統合する場合は、以下のフィールドが設定されていることを確認します:
"importCloudWatch": true // import metrics
"metricStreamsSyncState": "ENABLED" // Metric Streams is activated
"metricStreamsManagedExternally": true // Metric Streams managed by AWS
Metric Streams を無効にする 🔗
Metric Streams を無効にするには、以下の手順に従ってください:
https://api.<realm>.signalfx.com/v2/integration/<integrationId>
に GET リクエストを送信して、現在の設定を取得します。URLには必ず自分のレルムとインテグレーション IDを代入してください。metricStreamsSyncState
フィールドをCANCELLING
に設定します。Splunk Observability Cloud がクリーンアップするのを待ちます。最大15分かかることがあります。
Splunk Observability Cloud が
metricStreamsSyncState
をDISABLED
に設定した場合、Metric Streams は正常に無効化されました。Splunk Observability Cloud が
metricStreamsSyncState
をCANCELLATION_FAILED
に設定している場合は、もう一度試すか、Troubleshoot AWS Metric Streams を参照してください。
5.(オプション)CloudFormationをデプロイする 🔗
すべてのリージョンでサポートされているすべての AWS サービスから CloudWatch Metric Streams またはログを収集するには、Metric Streams またはログをサポートする CloudFormation テンプレートを選択してデプロイします。テンプレートをデプロイすると、Metric Streams (Kinesis Firehose、S3 バケット、IAM ロール) とログ (Splunk AWS ログコレクタ Lambda 関数、IAM ロール) の両方で必要な追加リソースが AWS アカウントに作成されます。
詳細は CloudFormation templates table を参照してください。
アクセストークンはアカウントのプロフィール設定で確認できます。
6. ログの収集 🔗
To collect logs, see AWS ログを Splunk プラットフォームに送信する.
次のステップ 🔗
Splunk Observability Cloud と AWS を接続すると、一連のメトリクスを追跡し、AWS データをリアルタイムで分析できるようになります。詳しくは AWS とのインテグレーションによるデータの活用方法を参照してください。
注釈
Splunk Observability Cloud のユーザーインターフェイスから AWS インテグレーションを編集すると、インテグレーション ID がブラウザのアドレスバーに、URL 末尾のコロン (:) の後に引用符 (」) で囲まれた英数字の文字列として表示されます。