今年に入り、Guruの新機能が発表されていたようです。
今できる事を改めて調べてみました。
ちなみにforRDSについては以前簡単にさわった事があります!
Amazon DevOps Guru for RDSを使ってみる
https://qiita.com/zenden/items/774be6c0b2f6f9802b5e
■Amazon DevOps Guruとは
Amazon DevOps Guru は機械学習 (ML) を活用したサービスで、アプリケーションのオペレーションパフォーマンスと可用性の改善を容易に実現できます。
具体的には、ホストリソースの過剰使用、データベースのボトルネック、SQL クエリの誤動作など、パフォーマンスに関連するさまざまなデータベースの問題を自動的に特定して分析します。
そして問題が検出されると、DevOps Guruはその結果を DevOps Guru コンソールに表示し、Amazon EventBridge またはAmazon Simple Notification Service (SNS) を使用して通知を送信します。これにより、デベロッパーは課題を自動的に管理し、リアルタイムでアクションを取ることができるというものになります。
料金は1インスタンスにつき $0.0042/h
■対応リソースについて
昨年はforRDSについて記事を書きましたが、色々と対応範囲となるサービスも増えているようです。
以下に列挙します。
- Lambda : 関数
- S3 : バケット
- API ゲートウェイ : API パス/ルート
- Kinesis : ストリーム
- ALB : LoadBalancer
- NATGateway (VPC) : NatGateway
- CloudFront : 配信
- NLB : LoadBalancer
- DynamoDB ストリーム : ストリーム
- RDS : DBInstance
- DynamoDB : テーブル
- Redshift : クラスター、ノード
- EC2(ASG): インスタンス*
- Route 53 : HostedZone
- ECS : サービス**
- SageMaker : InvocationEndpoint
- EKS : サービス**
- SNS : トピック
- Elastic Beanstalk : 環境
- SQS : キュー
- ElastiCache : ノード
- Step Functions : アクティビティ、StateMachine
- OpenSearch Service : ノード
- SWF : ワークフロー、タスク
■Amazon DevOps Guruの新機能
新機能についてですが、「Log Anomaly Detection and Recommendations」という名前で発表されました。
アプリ内の関連するログから異常を発見し、問題を解決するためのターゲットとなるレコメンデーションを得ることができる、という事で発見できるレベル感次第では運用に大きく役立つのではないかと考えられますね。
またその他には下記のような情報がありました。
・レイテンシーの増加、エラー率、リソースの制約などの異常を特定し、原因と解決のために実行可能な推奨事項をアラートとして通知する
・例外キーワード、数値異常、HTTPステータスコード、データフォーマット異常などを検出可能
■コンソール画面を見てみる
こちらはダッシュボードのトップになります。
現在はいずれのリソースも分析されていない状態になります
「分析されたリソースの編集」にてどのリソースをアナライズするのか選択可能です。
全リソースを選択する事もでき、タグにより選別する事も可能となっています。
なおタグには「Devops-Guru-」を含む必要があります!
アナライズ後…
前回はRDSのみでしたが、ELB、SNSが分析の対象として選択する事ができました。
今回はここまでで、また実際どのような検知が可能なのか検証を進めていきたいと思います。
■最後に
サーバー運用においてのトラブルシューティングでは、根本的な原因特定に辿り着くために長い時間や豊富な経験など、様々な要素が必要になっています。
実際の運用でもこのような要素は運用者にとって大きな負担になってしまう場合も少なくないと思われるので、GuruのようなAWSサービスを上手に用いて、運用改善を目指したいですね。