Product
概要​映像​グラフィック​ドキュメント​
Enterprise
Story
レター/テクノート​ニュース/公知​
Pricing
Ja
한국어English日本語日本語
利用ガイド
LETR WORKSスタート
한국어English日本語
한국어English日本語
CloudWatch ログパターンに基づいたアラートテキストメッセージの送信
2024-07-17

‍

CloudWatch ログパターンに基づいたアラートテキストメッセージの送信

‍

パク・ヒョンテク

Twigfarmのシニア・フルスタック・エンジニア

‍

前書き

システムの信頼性を維持するには、予期せぬ事態が発生したときに監視またはアラートを受け取ることが不可欠です。システム障害は、できる限り早く、適切な担当者に検討してもらう必要があります。これは以下のように簡単に説明できます。 クラウドウォッチ。

‍

この投稿では、簡単なものを作成します ラムダ 関数と、正常状態のテストとエラー状態のテストが2つあります。エラー状態が発生すると、ノースバージニア(us-east-1)から韓国のソウル(ap-northeast-2)まで、SMSテキストメッセージが私の携帯電話番号に送信されます。

アイデアは簡単です:

  • ラムダの実行中に例外が発生する
  • のロギングエラー クラウドウォッチ そのラムダに関連付けられています
  • クラウドウォッチ ログテキストに否定的な表現が含まれている場合、SMS テキストメッセージを説明する別の lambda 関数を呼び出します
Architecture

‍

シンプルなラムダ関数の作成

に移動 ラムダ関数 そしてクリック 関数を作成。次に、好きな名前で簡単な関数を作成します。

Creating lambda function

ラムダコードは単純な除算を行います。私たちの目標は、次のような場合に参加することです。 例外をゼロで除算 起こる。

‍

テスト入力 (OK ケース)

‍

OK テストケースのログ

ok test case

‍

テスト入力 (エラーケース)

‍

エラーテストケースのログ

error test case

‍

SMS 送信者ラムダ関数

という別のラムダ関数を作成しましょう SMS 送信者CloudWatch ログに特定のパターンが含まれている場合にトリガーされます。今のところ、このラムダ関数は入力を出力するだけなので、CloudWatch の入力形式がどのようなものかを識別できます。

‍

SMS 送信者

‍

クラウドウォッチサブスクリプションフィルター

今 クラウドウォッチサブスクリプションフィルター 次の 2 つの Lambda 関数が接続されています。

  • クラウドウォッチアラートテスト
  • SMS 送信者

CloudWatch —> ログ —> ロググループ —> /aws/lambda/cloudwatch-alert-test に移動します

CloudWatch Logs Menu

次に、をクリックします 購読フィルター タブをクリックして選択 Lambda サブスクリプションフィルターの作成

CloudWatch Subscription filters

次のように入力してください。

  • ラムダ関数:SMS送信者
  • ログ形式:その他
  • サブスクリプションフィルターパターン:ゼロ例外による除算
  • 購読フィルター名: 好きな名前なら何でも

をクリックします ストリーミングを開始する ボタンをクリックして CloudWatch サブスクリプションフィルターの設定を終了します。

つまり SMS 送信者 Lambda 関数がテストされるのは、CloudWatch ログに文字列が含まれている場合のみです 例外をゼロで除算。

‍

テスト

次の 2 つのテストを作成しました。 クラウドウォッチアラートテスト。それぞれを実行して CloudWatch のログをチェックしてください。 SMS 送信者 関数が次の場合のみ意図されているかどうかを確認する 例外をゼロで除算 幸せです。

‍

入力の受け渡し元 クラウドウォッチ に SMS 送信者

何が見えますか SMS 送信者 クラウドウォッチログ?関数はエラーテストケースでのみトリガーされましたか?まさしくそうです。次に、ログ内のイベントパラメータ値を見てみましょう。次のようなデータ値が表示されるはずです。

CloudWatch logs

それはなんですか?データを解読するには解凍する必要があります。

‍

からのデコード入力 クラウドウォッチ

次のコードでは、CloudWatch からの入力を解凍します。

‍
変数 StringResult は、次のような入力の文字列化されたバージョンを表示します。

CloudWatch logs

アラートメソッドの要件がWebhook通知の場合は、ラムダ関数にHTTP POST呼び出し用のコードを数行追加するだけで済みます。話は終わりです。

SMSテキストメッセージはアラート要件の手段であるため、もう1つ設定が必要です。

‍

SMS テキストメッセージング用の Amazon 簡易通知サービス (SNS) の設定

2021 年 12 月現在、モバイルテキストメッセージング (SMS) 機能はソウル地域 (ap-northeast-2) ではサポートされていません。そこで、地域を変更して SNS のテキストメッセージ設定を完了しました。

サポートされている地域は以下のとおりです。 https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html

リージョンをus-east-1に変更したら、 アマゾン SNS —> モバイル —> テキストメッセージ (SMS)。お住まいの地域でテキストメッセージ (SMS) が表示されるようになった場合は、お住まいの地域ではこの機能がサポートされていない可能性があります。

SNS console

サンドボックス宛先の電話番号の下にあるをクリックします 電話番号を追加 レシピの電話番号を追加するため。デフォルトではサンドボックスモードになっていますが、次のようないくつかの問題があります。

  • 受信者の電話番号を確認する必要があります
  • 1 USD がご利用いただける上限額です。(限度額を受け取るとメッセージの送信を停止します)

注:制限の引き上げはいつでもこちらからリクエストできます。 https://aws.amazon.com/premiumsupport/knowledge-center/sns-sms-spending-limit-increase/

AWS サポートでは、制限のリクエストに応じてサンドボックスから抜け出すこともできます。

テスト用に受信者の電話番号を追加したら、次に戻りましょう SMS 送信者 テキストメッセージ用のコードを追加するためのLambda関数。

‍

でのテキストメッセージコードの公開 SMS 送信者

以下は完全なラムダコードです SMS 送信者、メッセージ送信機能が追加されています。

‍
ほぼ完了しました。最後の調整が 1 つ残っています。Lambda ロールにはテキストメッセージを送信する権限が必要です。

‍

テキストメッセージの IAM ロール

IAMの役割に移りましょう SMS 送信者 ラムダ関数。

IAM role for sms-sender

Lambda ロールで、をクリックします ポリシーをアタッチ —> チェック アマゾン SNS フルアクセス —> クリック ポリシーをアタッチ ボタン。

‍

最終テスト

これで、すべてのコンポーネントがセットアップされ、準備が整いました。に戻る クラウドウォッチアラートテスト Lambda 関数と実行エラーテストケース。数秒待ってください。すべての設定が完了したらテキストメッセージが届きます。メッセージは好きなように変更できます。メッセージが 160 文字を超える場合、メッセージは別々のメッセージに分割されることに注意してください。

‍

Conclusion

アラートシステムは、さまざまなログパターンでさまざまな方法で設計できます。もう長くはかかりません。 CloudWatch サブスクリプションフィルター。

何かが長く続く場合にアラートを受け取ることは非常に便利です。しかし、携帯電話の振動が本来あるべき値よりも大きくなると驚くかもしれません。はい、バランスを取るのはとても難しいです。分かってるよ 例外をゼロで除算 SMSテキストメッセージアラートを受け取るのに適したケースではありません:)

システムごとに信頼性要件は異なります。アラームを発するタイミングは、要件に従って設計する必要があります。誤警報を課すことも克服すべき重要なポイントです。

‍

ハッピークリスマス、そして信頼できるシステムへ!

‍

全リストを見る

次のノートを見る

LETR note
コンテンツ制作におけるパラダイムイノベーション-AI吹き替え技術の現在と未来
2024-12-12
WORKS note
NERと自然言語処理を利用したレターワークスのAIエージェント
2024-12-11
WORKS note
マルチモーダルのコンセプトとアプリケーション、LETR WORKS AI テクノロジー
2024-12-02
利用ガイド
お問い合わせ​
Twigfarm Co.,Ltd.
事業者登録番号 : 556-81-00254  |  通信販売番号 : 2021-ソウル特別市鍾路-1929
代表 : ペク・ソンホ  |  個人情報管理責任者 : パク・ヒョンテク
ソウル本社 : (03187) ソウル特別市鍾路区6(瑞麟洞)6階
光州支社 : (61472 )光州広域市東区錦南路 193-22
シンガポールアジア事務所 : (048581) 16 RAFFLES QUAY #33-07 HONG LEONG BUILDING SINGAPORE
Family site
TwigfarmLETR LABSheybunny
利用約款
|
プライバシー規約
ⓒ 2024 LETR WORKS. All rights reserved.