RocketChat(EC2インスタンス)でCPU80%以上を10分間継続したら再起動する
2020/06/28
先日、数日間のやり取り用で完全に使い捨てとして使っているRocketChatで、CPUが30分ぐらい高騰して誰もアクセスできなくなっていました。
とりあえず再起動して復旧しました。
ユーザー数やアクセス数が変動するわけでもなく、処理量が大きく変動するわけでもないので、オートスケーリングよりもオートヒーリングやオートリカバリーが適当かと考えます。
頻発するなら、CPUが高騰した原因の調査も、と思いましたが、まだ1回発生しただけなので、次回発生時以降に調査しようかと思います。
そこで、次回発生時に今回のように30分以上も放置とはしたくないので、とりあえず10分間継続していれば再起動することにしました。
発生時のCPU使用率を見てると、一定期間内に多少上下はしているようですので、80%超過が10分間継続した場合としました。
(5分間隔のメトリクスで2データポイントとも80%越え)
アクションは再起動としました。
検証確認のため、CloudWatch Eventsに以下のイベントも設定しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
{ "source": [ "aws.cloudwatch" ], "detail-type": [ "CloudWatch Alarm State Change" ], "resources": [ "arn:aws:cloudwatch:us-east-1:123456789012:alarm:RocketChatReboot" ], "detail": { "state": { "value": [ "ALARM" ] } } } |
今回の障害時にその間RocketChat APIに投稿データを投げてた分が、SQSデッドレターキューに退避されてて、それを復旧後にリトライして、RocketChatへ無事投稿したのですが、これも自動化したいなと思いまして。
ですので、CloudWatch EventsからStep Functionsを起動して、EC2再起動が無事完了して、APIにPOSTできる状態で、Lambdaのトリガーでデッドレターキュー側を有効にしようか、と考えてます。
それは次回発生後で。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
S3インベントリ設定でインベントリファイルの作成を設定
インベントリレポートファイルはオブジェクトの一覧情報です。 日次、週次で定期作成 …
-
-
CloudWatchアラームをAWS CLIでテスト
CloudWatchアラームをテストするコマンドです。 –state …
-
-
Systems Manager パッチマネージャでベースラインを作成して適用する
ベースラインの作成 Systems Managerのパッチマネージャーでパッチベ …
-
-
AWS Wavelengthゾーンを有効にする
画面上で確認しておきたかったので有効にしておきました。 AWS Waveleng …
-
-
IAMセッションポリシーの利用(GetFederationToken)
GetFederationTokenでのセッションポリシーは、呼び出し元のIAM …
-
-
Windows EC2インスタンスでEBSとインスタンスストアを使用する
Amazon EBS基本のデモ(「AWS認定試験テキスト AWS認定 クラウドプ …
-
-
Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(1)AWS編~
Pepperの機能を使えるところは使って、何かしたいなあと思ってまして。 目(カ …
-
-
AWS LambdaでChrome HeadlessドライバをAWS Lambda Layersから使う
この記事はSelenium/Appium Advent Calendar 201 …
-
-
Kinesis Data AnalyticsをKinesis Data Streamsに接続してSQL検索する
Amazon Kinesis Data StreamsにTwitter検索データ …
-
-
Amazon SageMaker AIのクイックセットアップ
Amazon SageMaker AI のクイックセットアップを使用するに記載の …