SQS

最終更新日: 27 年 2023 月 XNUMX 日

LogicMonitorには、SQSパフォーマンスメトリックを監視するためのXNUMXつのデータソースがあります。

  1. AWS_SQS –SQSキューのCloudWatchパフォーマンスデータを収集します
  2. AWS_SQS_MessageLatency –複数の場所にあるコレクターからSQSメッセージをエンキュー/デキューするための実際のレイテンシーを収集します

AWS_SQS

情報源: クラウドウォッチ

データポイント:

  • メッセージが遅れる
  • 表示されるメッセージと表示されないメッセージ
  • 削除されたメッセージ
  • XNUMX秒あたりに送受信されるメッセージ
  • 送信されたメッセージサイズ
  • 受信した空のメッセージの数
  • 最も古いメッセージの年齢

デフォルトのポーリング間隔: 5 minutes

追加の構成が必要ですか?: いいえ。このデータソースは、AWSアカウントで検出されたSQSリソースに自動的に適用され、データの収集を開始します。

AWS_SQS

AWS_SQS_MessageLatency

このデータソースは、AWS SDKを利用してSQS操作を実行し、トランザクション時間を測定します。 このデータソースは、個々のSQSメッセージのラウンドトリップ時間を測定しないことに注意してください。キューに配置されたメッセージが、取得操作で測定されたものと同じであるという保証はありません。 代わりに、GetMessage操作とReceiveMessage操作を個別に実行する時間を測定します。 この測定 意志 コレクターから測定された、ネットワーク遅延と実際の処理時間を考慮に入れます。

情報源: AWSSDK

 データポイント:

  • 受信時間
  • 送信時間
  • キュー監視のステータス

デフォルトのポーリング間隔: 5 minutes

追加の構成が必要ですか?: はい–以下のセクションを参照してください。 このデータソースは、キューからSQSメッセージを挿入および削除するため、他のキューに配置されたメッセージに影響を与えないように、これらの測定トランザクション専用に指定された特定のSQSキューが必要です。 正確な測定を保証するために、このキューの構成はLogicMonitorによって1分間のメッセージ保持ポリシーに自動的に設定されます。 これにより、LogicMonitorがAWSへのアクセスに使用するアカウントにこのキューへの完全な権限が付与されるため、キューが測定キューとして適切に指定されていることも保証されます。

 

AWS_SQS_MessageLatency

このデータソースを使用するには、次の手順が必要です。

  1. 測定する各リージョンに特定のSQS測定キューを作成します
  2. LogicMonitorが各SQS測定キューへの完全な権限を使用していることをAWSユーザーに割り当てます
  3. データソースをSQS測定キューに関連付け、測定用のSQSトランザクションを生成するために使用するコレクターを指定します 

SQS測定キューを作成する

上記のように、このデータソースはキューにメッセージを挿入および削除するため、本番SQSキューに関連付けないでください。 代わりに、SQSサービスへのアクセスに関する問題を特定するために、本番SQSキューが存在する各リージョンに特定のSQS測定キューを作成する必要があります。

これを行うには、AWSコンソールでSQSサービスにアクセスし、新しいSQSキューを作成します。 キューに「SQSLatencyTest_us_east_1」のような名前を付けて、レイテンシテスト用であることを簡単に識別できるようにすることをお勧めします。 デフォルトのキュー構成を受け入れる–LogicMonitorはキュー構成を適切に調整します。

本番SQSキューがある各リージョンにレイテンシーテストキューを作成する必要があります。

LogicMonitorが各SQS測定キューへの完全な権限を使用しているAWSユーザーを割り当てます

AWSを監視するためにLogicMonitorで設定したAWSユーザーに次のようなポリシーを添付します。

{"バージョン": "2012-10-17"、 "ステートメント":[{"シド": "Stmt1443135938000"、 "効果": "許可"、 "アクション":["sqs:ChangeMes​​sageVisibility"、 "sqs:ChangeMes​​sageVisibilityBatch "、" sqs:DeleteMessage "、" sqs:DeleteMessageBatch "、" sqs:ListQueues "、" sqs:GetQueueUrl "、" sqs:GetQueueAttributes "、" sqs:PurgeQueue "、" sqs:ReceiveMessage "、" sqs:SendMessage "、 "sqs:SendMessageBatch"、 "sqs:SetQueueAttributes"]、 "Resource":["arn:aws:sqs:*:ACCOUNTID:SQSLatencyTest *"]}]}

ACCOUNTIDをAWSアカウントに置き換えます。 これにより、名前がで始まるすべてのリージョンのすべてのSQSキューに適切な特権が付与されます。 SQSLレイテンシーテスト。 監視は失敗しないことに注意してください SetQueueAttributes 権利が付与されます。

データソースを関連付け、どこから測定するかを指定します

設定から| データソース、AWS_SQS_MessageLatencyデータソースを検索します。

提案された名前(「SQSLatencyTest」を含む)でSQS測定キューを作成した場合は、AppliesToフィールドを変更する必要はありません。

ただし、すべての場合において、[アクティブディスカバリー]セクションでコレクターIDを編集する必要があります。 これは、どのコレクターがこのデータソースを実行し、SQSレイテンシーについてレポートするかを指定します。

SQSメッセージの送受信時間を測定するコレクターごとに、コレクターIDとそのコレクターのオプションの識別子を指定します。

マシン情報の記入> という構文でなければなりません。例えば、

1 =ロサンゼルス、2 =ロンドンデータセンター、3

このデータソースのインスタンスを作成します。これにより、SQS時間が3つの異なるコレクター(コレクターID 1、2、および3)から測定され、最初のXNUMXつに説明テキストが表示されます。

記事上で