CloudWatch
AWS CloudWatch ノート。
Concepts
Log Events
- 常 にログストリームに属 する
- 個々 のログ行 またはステートメント
Log Group
- 関連 するログイベントをグループ化 する機能 を提供
- 1 つのアプリケーションが独自 の Log Group にマップ、または複数 サービスのログで構成
Log Stream
- Log Group は多 くの Log Streams を持 てる
- 特定 のソース(例 : EC2 インスタンス上 の特定 のログファイル)からの全 てのログイベントを表 す
Filtering
2 つのフィルターパターン: {} と $.
{$.channel = "github"}
{$.event = "user_login" && $.channel = "google"}Log Insights Queries
CSV 形式 :
fields @message
| parse @message "*,*,*" as timestamp, username, action
| filter action = "Login"
| sort @timestamp desc
| display timestamp, username, actionJSON 形式 :
fields @timestamp, user_id, event, channel
| filter @logStream = "first_stream"
| filter event = "user_login"
| sort @timestamp desc
| display @timestamp, user_id, event, channelMetrics
- 監視 する変数 : CPU 使用率 、ネットワーク、請求 、ステータスチェック等
- デフォルトメトリクス: 5 分 間隔
- 詳細 監視 ($$$): 1 分 間隔
Common Metrics
| サービス | メトリクス |
|---|---|
| EBS | ディスク読 み書 き |
| S3 | BucketSizeBytes, NumberOfObjects, AllRequests |
| Billing | Total Estimated Charge (us-east-1 のみ) |
| Service Limits | API 使用量 |
| Custom | 独自 メトリクスをプッシュ |
Key Concepts
- Namespace: CloudWatch メトリクスのコンテナ
- Dimension: メトリクスの ID の一部 である名前 /値 ペア(メトリクス毎 に最大 10)
- Data Point: 一定 期間 に収集 された特定 のデータ値
Alarms
- 任意 のメトリクスに対 して通知 をトリガー
- アクション: Auto Scaling、EC2 アクション、SNS 通知
- 評価 する期間 を選択 可能
Logs
ログを収集 :
- Elastic Beanstalk: アプリケーションログ
- ECS: コンテナログ
- Lambda: 関数 ログ
- CloudTrail: フィルターに基 づく
- CloudWatch Log Agent: EC2 またはオンプレミスサーバー
- Route53: DNS クエリ
機能 :
- リアルタイム監視
- 調整 可能 な保持 期間
CloudWatch Agent
デフォルトでは EC2 からのログは CloudWatch に送信 されない。必要 な手順 :
- EC2 で CloudWatch エージェントを実行
- IAM 権限 が正 しいことを確認
Setup Options
System Manager 自動 インストール:
- IAM ロールを作成
:
CloudWatchAgentServerPolicy,AmazonSSMManagedInstanceCore - EC2 インスタンスにロールを接続
- System Manager → Run Command →
AWS-ConfigureAWSPackage - Action: Install, Name: AmazonCloudWatchAgent, Version: latest
手動 インストール:
- IAM ロール:
CloudWatchAgentServerPolicy,CloudWatchFullAccess
Sharing Dashboard
- ユーザー名 とパスワードが必要
- パブリックアクセス可能 な URL
- SSO を使用