AWS ラムダ関数のモニタリング
効率化とコスト削減を促進するために、サーバーレスアーキテクチャ、特に AWS Lambda を組み込む機会を模索しています。マイクロサービスを継続する予定です。 Kubernetes -大規模な顧客向けアプリケーション向けのホスト型アーキテクチャ。ただし、サーバーレスの AWS Lambda 関数を使用してクラウドで開発するのに適した内部アプリケーション要件がある。
このサーバーレスITモダナイゼーション戦略の一環として、次のような多くの疑問があります。
- 開発およびデプロイされた Lambda 関数が使用可能で、適切に実行されていることを確認するにはどうすればよいでしょうか。
- Lambda関数をインストルメントして、以下に示すようなAPMビジュアライゼーション (サービスマップ)、タグ付け、カスタムビジネスメトリクス、ディテクター通知を提供するにはどうすればよいでしょうか? Splunk Application Performance Monitoring マイクロサービスベースのアーキテクチャの場合?
インフラストラクチャーの観点から Lambda をモニタリングする方法については、こちらの記事をご覧ください AWS Lambda インフラストラクチャのモニタリング 。
必要なデータ
このユースケースで Splunk ソフトウェアを使用する方法
この例では、貴社は人事部門間で共有できる AWS Lambda 関数ライブラリの開発を開始しました。サーバーレス AWS Lambda アーキテクチャはマイクロサービスアーキテクチャと似ていますが、関数は分離されており、サービス間のアプリケーションワークフローに関与しています。
この新しいサーバーレス戦略の一環として、また事業の中断に対する回復力を確保するために、経営陣は AWS Lambda 機能が監視され、監視され、統合されていることを確認したいと考えています。 Splunk Observability Cloud には以下が含まれます。 Splunk Application Performance Monitoring サービスマップと Splunk Infrastructure Monitoring Lambda のダッシュボード。
以下の図は、シナリオの大まかな概要を示しています。
のドキュメントを参照してください 以下の目的の AWS Lambda 関数をインストルメントする方法 Splunk Observability Cloud 。 このユースケースは、「CScorp_HR」という別の Lambda 関数を呼び出す「CScorp」という例の Lambda 関数のコンテキストのドキュメントに従っています。
-
選択してください
AWS Lambda (オープンテレメトリ)
からの統合
Splunk Observability Cloud
データ管理 UI を選択し、をクリックします
[次へ]
。
-
関数名、Splunk アクセストークン名、および環境を入力します。この例では、「CS Corp」から始めます。
OpenTelemetry エージェントをデプロイする必要はありません。インストルメンテーションは、AWS リージョン固有の AWS Lambda レイヤーに関数を割り当てることで行われます。
-
インテグレーションをインストールします。
- インストゥルメントする適切な言語を選択してください。この例では パイソン が使われています。
-
適切なアーキテクチャリンクをクリックします。この例では、
スタンダード x86_64
が使用されています。どちらのオプションを選択しても、ARN が一覧表示された新しいページが開きます。
-
Lambda 関数がデプロイされている AWS リージョンに基づいて ARN をコピーします。この例では、「us-east-2」が使用されています。
-
AWS マネジメントコンソールを開き、をクリックします。
ラムダ
そして
関数
次に、最初の関数を選択します。この例では、
CSCorp
が選択されています。
-
レイヤーエリアまでスクロールしてクリック
レイヤーを追加します。
。
-
[レイヤーの選択] オプションで、をクリックします
ARN を指定します。
。リージョンの ARN を [ARN を指定] フィールドに貼り付け、をクリックします。
[確認]
。次に、をクリックします。
[追加]
関数へのレイヤーの追加を完了します。
-
Version ARN フィールドに ARN が表示されていることを確認して、レイヤーが関数に適用されていることを確認します。
-
AWS マネジメントコンソールで、環境変数を設定します。
- を選択します。 [構成] タブ。
- 選択 環境変数 。
- クリック [編集] 。
- 統合ウィザードに表示されている値を入力します。表示された各キーと値を追加します。
-
環境変数を追加する
AWS_LAMBDA_EXEC_WRAPPER
ウィザード UI に表示されるとおり、次の値が表示されます。
/オプト/オテルインストゥルメント
。これは選択した言語によって変わります。最終的な環境変数設定は以下のようになるはずです。
-
ここで Lambda 関数を実行して、新しいアクティビティが次に表示されるようにする必要があります。
Splunk Application Performance Monitoring
サービスマップ。
-
[ラムダ] > [関数] > [CScorp] で、をクリックします テスト タブをクリックしてテストイベントメニューを開きます。
-
クリック 「新規イベントを作成」 .関数名 (この例では CSCORP_TEST) を入力します。をクリックします。 [保存] そして テスト 。このテストにより、関数が正しく実行されることが確認されます。
-
- ステップ 1 に戻り、2 つ目の Lambda 関数 (この例では CSCorp_HR) をインストルメントして設定します。
-
これで両方の関数を設定できたので、AWS Lambda (OpenTelemetry) のインテグレーションとインストルメンテーションを検証する必要があります。まず、そのサービスマップを検証します。
Splunk Application Performance Monitoring
一方の関数が他方の関数を呼び出したときのサービスマップ表現を含みます。この例では、CSCorp 関数が CSCorp_HR 関数を呼び出しています。
-
Lambda 関数呼び出しに関連するトレースを確認します。
- サービスマップから CSCorp 機能を選択します。
-
クリック
トレース
右側のパネルにあります。
-
トレースを確認してください。これにより、トレース全体を構成する生成されたスパンが表示されます。
これで AWS Lambda 関数のインスツルメンテーションが完了したので、 Splunk Application Performance Monitoring サービスマップでは、ある Lambda 関数が別の Lambda 関数によって呼び出される様子を、トレースを構成する個別のスパンを使用して視覚化およびモニタリングしています。これらの Lambda 関数は、OpenTelemetry Collector の Splunk ディストリビューションでインストルメントされたマイクロサービスベースのアプリケーションから呼び出されたことを視覚化できるようになりました。
次のステップ
まだ問題がありますか?Splunkには、元の状態に戻すのに役立つ多くのリソースがあります。次のことをおすすめします。
- Splunk オンデマンドサービス : クレジットベースのサービス。事前定義されたカタログから Splunk のテクニカルコンサルタントに直接アクセスして、さまざまなテクニカルサービスを受けることができます。Splunk のお客様の多くは、すでに OnDemand クレジットをソフトウェアライセンスの一部に含めています。オンデマンドサービスをリクエストするには、以下からチケットを提出してください。 サポートポータル 。
- Splunk アンサーズ : Splunk コミュニティに質問してください。Splunk コミュニティには、これまでに 50,000 を超えるユーザーソリューションが提供されています。
- Splunk カスタマーサポート : Splunk に連絡して環境について相談し、カスタマーサポートを受けてください。
Splunkの力を最大限に引き出すには、包括的なSplunkトレーニングを強くお勧めします。ジャーニーのこの段階では、次のことを試すことをお勧めします。 Splunk オブザーバビリティトレーニングコース 。