アマゾン ウェブ サービスのデータのインポートを管理する
Splunk Infrastructure Monitoring AWS インテグレーションは、AWS CloudWatch から AWS メトリクス、メタデータ、ログをインポートします。
Splunk Observability Cloud の Amazon Web Services(AWS)統合は、AWS CloudWatch と以下の AWS サービスおよびその他のアプリケーションからメトリクスとメタデータをインポートします。
AWS データを送信した後、Splunk Observability Cloud は AWS リソースとそのリソースを使用しているアプリケーションを監視するのに役立ちます。詳細については、「Amazon Web Services の監視」を参照してください。
AWS CloudWatchのデータとメタデータをインポートする
AWS は、メトリクス、ログ、およびメタデータをインポートできる CloudWatch エージェントを提供します。メトリクスは名前で識別されるデータポイントで、メタデータはソースなどのメトリクスの要素を識別するのに役立つ情報です。AWS メトリクスとメタデータは、使用している AWS サービスの監視とトラブルシューティングに役立ちます。AWS サービスを使用するアプリケーション(Kubernetes クラスターなど)の監視にも役立ちます。詳細については、「Amazon Web Services の監視」を参照してください。
デフォルトでは、Splunk Observability Cloud は、アカウントに関連付けられたすべてのサポートされた AWS サービスからデータを取り込みますが、特定の制限があります。
Splunk Observability CloudのAWSデータ
インポート中、Splunk Observability Cloudはメトリクスに特別な名前を付け、AWSから来ていることを識別できるようにします:
-
AWSのメタデータがディメンションとカスタムプロパティになります。
-
AWSタグはキーと値のペアなので、Infrastructure Monitoringはそれらをカスタムプロパティに変換します。
Splunk Observability Cloud は、AWS からインポートされたタグの名前に、その出所を示すプレフィックス aws_tag_ を追加します。たとえば、AWS タグ version:canary は aws_tag_version:canary に変換されます。ターゲットグループに対してSplunk Observability Cloudは、ロードバランサータグとの衝突を避けるために接頭辞aws_tag_tg_を追加します。
詳細については、「サービスごとに利用可能なメタデータ」を参照するか、AWS のドキュメントサイトを参照してください。
Splunk Observability Cloud の名前空間
Splunk Observability Cloud は、namespace ディメンションを使用してメタデータをインポートします。ほとんどの AWS サービスでは、ネームスペースの名前は "AWS/EC2" や "AWS/ELB" など "AWS/<NAME_OF_SERVICE>" の形式になります。CPUUtilization など、複数のサービスでメトリクスの名前が同じ場合に AWS メトリクスのメトリクス時系列(MTS)を選択するには、namespace ディメンションをフィルタとして使用します。
インポートするデータ量を制御するには、データをインポートするネームスペースを指定するか、任意の AWS CloudWatch エージェント ネームスペースをカスタムネームスペースとして追加するか、各ネームスペースからインポートまたは除外するデータを選択します。詳細については、「インポートするデータとメタデータの制御」を参照してください。
CloudWatch のロールアップと Infrastructure Monitoring MTS
AWS CloudWatch はロールアップを使用してメトリクスを要約し、それらを「統計」と呼称します。ロールアップの詳細については、データ解像度の「ロールアップ」およびチャートのロールアップを参照してください。
AWS CloudWatch のロールアップは Infrastructure Monitoring のロールアップに直接マッピングされないため、チャートビルだーのロールアップ選択メニューを使用して AWS CloudWatch のロールアップに直接アクセスすることはできません。代わりに、Infrastructure Monitoring は、ディメンション stat を持つ個々の MTS としてロールアップをキャプチャします。
|
AWS統計 |
IMディメンション |
定義 |
|---|---|---|
|
平均 |
stat:mean |
サンプリング期間中のメトリクスの平均値 |
|
最大 |
stat:upper |
サンプリング期間中のメトリクスの最大値 |
|
最小 |
stat:lower |
サンプリング期間中のメトリクスの最小値 |
|
データサンプル |
stat:count |
サンプリング期間中のサンプル数 |
|
合計 |
stat:sum |
サンプリング期間中に発生したすべての値の合計 |
プロットでAWS CloudWatchのメトリクスを使用するには、常に以下を指定します:
-
AWS Cloudwatchのメトリクス名
-
選択したメトリクスに適切な
statディメンション値をフィルタリングします。
たとえば、EC2 メトリクスにメトリクス NetworkPacketsIn を使用している場合、有意な AWS 統計はMinimum、Maximum、Average のみです。必要なロールアップで NetworkPacketsIn メトリクスをプロットするには、AWS 統計(ロールアップ)値に対応する値で stat ディメンションをフィルタリングします。
-
lower: AWSロールアップMinimumに対応するロールアップ -
upper: AWSロールアップMaximumに対応するロールアップ -
mean: AWSロールアップAverageに対応するロールアップ
Infrastructure Monitoringは、AWSからインポートするメトリクスに60秒のサンプリング周期を使用します。
詳細については、AWS CloudWatchのAWS開発者向けドキュメントを参照してください。
他のアプリケーションからデータとメタデータをインポートする
Splunk Observability Cloud は、以下のような AWS サービスを使用するアプリケーションのメトリクス、メタデータ、ログもインポートします:
|
データを取り込む |
モニター |
説明 |
|---|---|---|
| Kubernetesデータを収集する |
EC2インスタンスまたはEKSで実行されているKubernetesクラスタからメトリクスとログをインポートします。 | |
|
EC2インスタンスで実行されているLinuxおよびWindowsホストからメトリクスとログをインポートします。 | ||
|
ホスト、Kubernetesクラスタ、またはLambda関数で実行されているアプリケーションのメトリクスとスパンをインポートします。 |
インポートするデータとメタデータを制御する
デフォルトでは、Splunk Observability Cloud はこれらの AWS サービスに対応するすべての組み込み AWS ネームスペースからメトリクスをインポートします。必要に応じて、カスタムネームスペースを追加できます。
以下のオプションでデータのインポートを制御できます:
-
リージョン
-
名前空間
-
ポーリングレート(データストリーミングでは利用不可)
-
フィルタリング
名前空間を使用してデータのインポートを制御する
インポートする AWS データの量を制限するには、データをプルするネームスペース (サービス) の数を減らします:
-
データのインポート元となる組み込みネームスペースのサブセットを指定します。UI で、[Select built-in services to collect data from] に移動し、使用する特定のネームスペースを選択します。複数の組み込みサービスを指定できます。
-
データのインポート元となるカスタムネームスペースを指定します。UI で、[Select custom services to collect data from] に移動し、カスタムネームスペースの名前を入力して、Enter キーを押します。この手順を使用すると、複数のカスタムネームスペースを指定できます。組み込みサービスからのデータもインポートされることに注意してください。
-
組み込みネームスペースからのデータを破棄し、カスタムネームスペースからのメトリクスのみをインポートするには、API 経由で
syncCustomNamespacesOnlyフィールドを使用します。これを行う方法についてはシスコの開発者ポータルで手順を参照してください。
ポーリングレートを使用してデータのインポートを制御する
また、Infrastructure MonitoringがAWS CloudWatchをポーリングするレートを変更することで、インテグレーションがインポートするAWSデータの量を制限することもできます。
フィルターを使用してデータのインポートを制御する
フィルタを指定して、特定のネームスペースのインポートするデータを制限できます。フィルタはタグの同期には影響しません。
-
AWS データをポーリングしている場合、AWS タグ、メトリクス名、またはディメンションに基づいて、同期されたメタデータを持つ組み込みサービスをフィルタリングできます。フィルタは、包含的または排他的のいずれかにできます。
-
AWS データをストリーミングしている場合、同期されたメタデータを持つ組み込みサービスをメトリクス名とディメンションでフィルタリングできます。使用できるのは包括フィルタのみです。タグフィルタリングは使用できません。
-
メタデータのないサービス(カスタムネームスペースを含む)では、メトリクス名によるフィルタリングしかできません。
データをフィルタリングする方法については、「データインポート管理の例」を参照してください。
タグでサポートされていない文字
タグ名を選択するときは注意してください。Splunk Observability Cloud では、英数字(小文字と大文字のラテン文字と数字)、下線(_)、およびマイナスやハイフン(-)記号のみを使用できます。スペースやサポートされていない文字は、下線に置き換えられます。
以下の文字はサポートされていません。この一覧はすべてを網羅しているわけではありません。
- ピリオド(
.) - コロン(
:) - スラッシュ(
/) - 等号(
=) - プラス記号(
+) - アットマーク (
@)
APIを使用した高度なフィルタリング
Infrastructure Monitoring API を使用することで、ネームスペースに対してより複雑なフィルタリングオプションを指定することができます。この場合、フィルタがプログラムで定義されていることを示すメッセージが UI に表示されます。
その名前空間にどのメトリクスとタグが含まれるか、または含まれないかを確認するには、View filter code をクリックします。
データインポート管理の例
例:名前空間とフィルターを指定する
次の例は、以下の指定方法を示しています:
-
名前空間:Amazon Elasticsearch ServiceとEC2からのみデータをインポートします。
-
データフィルター:フィルターに一致するデータのみをEC2からインポートします。
-
タグフィルター:AWS タグ
version:canaryを持つリソースからのデータを除外します。
これらの仕様を作成するには、以下の手順に従ってください:
-
ネームスペースのリストから、Amazon Elasticsearch ServiceとEC2を選択します。
-
Infrastructure MonitoringがEC2からインポートするデータを制限するには、リストからデータフィルターを選択します。
-
以下のオプションから必要なフィルターを選択します:
-
データをインポートするだけのフィルターが必要な場合は、Import some を使用します。
-
データのみを除外するフィルターが必要な場合は、Exclude some を使用します。
-
-
AWS タグを使用して Infrastructure Monitoring がインポートするデータを制限するには、タグでフィルタリングします。Infrastructure Monitoring では 、AWS からインポートされたタグの名前にプレフィックス
aws_tag_が追加されます。これは、タグの出所を示します。たとえば、AWS タグversion:canaryは、Infrastructure Monitoring でaws_tag_version:canaryとして表示されます。AWS 統合をタグでフィルタリングする場合は、AWS に表示されるタグの名前を入力します。
また、包含または除外する特定のメトリクスを選択することもできます。たとえば、次の条件について考えてみましょう。
Infrastructure MonitoringはmetricAとmetricBのみを含み、タグで指定されたリソースのみを対象とします:
-
タグ
env:prodまたはenv:betaを持つリソースには、metricA と metricB が含まれます。 -
タグ
env:prodまたはenv:betaを持たないリソースには、メトリクスは含まれません。 -
その他のメトリクスは含まれていません。
Infrastructure Monitoring は、フィルタでワイルドカードをサポートしています。たとえば、タグの値に関係なく、特定のタグを持つリソースのデータをインポートしたい場合は、このフィルタを指定します。
この例では、env タグが任意の値に設定されているリソースに対して、metricA と metricB が含まれます。その他のメトリクスは含まれていません。
ネームスペースを削除すると、Infrastructure Monitoring にはそのネームスペースからのメトリクスが含まれなくなります。
例:タグを使ってAWSデータをフィルタリングする
Splunk Observability Cloud が AWS ネームスペースのタグを同期している場合にのみ、AWS タグを使用して AWS データをフィルタリングできます。たとえば、AWS で EC2 インスタンスの Detailed Monitoring を使用する場合、Infrastructure Monitoring は次のディメンションをインポートします。
-
AutoScalingGroupName -
ImageId -
InstanceId -
InstanceType
以下の AWS メタデータを使用して、メトリクスをフィルタリングできます:
|
カスタムプロパティ |
フォーム |
説明 |
|---|---|---|
| aws_account_id | キーと値のペア | インスタンス、ボリューム、またはロードバランサの AWS アカウント ID。このプロパティを活用して、インポートするメトリクスを区別します。 |
| aws_tag_<TAGNAME> | キーとオプションの値 | インスタンス、ボリューム、またはロードバランサの AWS カスタムタグ名。メトリクスには、複数のカスタムタグ名が関連付けられている場合があります。 |
aws_account_id を使用して、複数の AWS アカウントからインポートするメトリクスを区別します。Infrastructure Monitoring では、メトリクスの MTS のディメンションとして aws_account_id が追加されます。
サポートされている AWS サービスの場合、Infrastructure Monitoring は AWS タグをインポートし、メトリクスの MTS にカスタムプロパティとして追加します。たとえば、AWS タグに Production という値がある場合、Infrastructure Monitoring では aws_tag_Production と表示されます。