0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CloudWatchにロードアベレージを追加する

Last updated at Posted at 2021-01-16

##背景
CloudWatchを使用しEC2のロードアベレージの監視をしようとしたが現状ロードアベレージのメトリクスは標準で用意されていないので自分でカスタムを作成しないといけないとのこと。。。

なので面倒くさいが自分でスクリプトを書いてCloudWatchから監視できるようにしました!

##ロードアベレージとは

ロードアベレージはシステム全体の負荷状況を表す指標であり
1CPUにおける単位時間あたりの実行待ちとディスクI/O待ちのプロセスの数で表される。

簡単にまとめるとコンピューターシステムが実行している作業量のことです。

##さっそく

■まずEC2にCloudWatchAgentServerPolicyのロールを作成しアタッチする。
sshログインをして

$ vi /home/ec2-user/loadaverage.sh

#!/bin/bash

## AWS CLI設定
readonly AWS_CLI="/usr/bin/aws"
readonly AWS_CLI_REGION="ap-northeast-1"

## メトリックス名と単位の設定
metric_name="LoadAverage-EC2"
name_space="AmazonLinux/${metric_name}"
unit="Percent"
#unit="Count"

## ロードアベレージを取得する自分の環境に合わす
## uptimeコマンドで出てくる最初の数字を取得できるように変える(10~12くらい?)
load_average=`uptime | tr -s ' ' | cut -d ' ' -f 11 | cut -d ',' -f 1`


## AWS CloudWatchのカスタムメトリクスにロードアベレージを追加する
${AWS_CLI} cloudwatch --region ${AWS_CLI_REGION} put-metric-data --metric-name `hostname -s`/${metric_name} --namespace ${name_space} --value ${load_average} --unit ${unit}

:wq
■権限付与
$ chmod 755 /home/ec2-user/loadaverage.sh

■cloudwatchへメトリクス送信
$ /home/ec2-user/loadaverage.sh

■EC2インスタンスのロードアベレージをCloudWatchに5分おきに記録する
$ crontab -e
*/5 * * * * /home/ec2-user/loadaverage.sh

これで完成です😂😂
スクリーンショット 2021-01-16 14.56.13.png

##参考記事
https://qiita.com/na0AaooQ/items/1fedb1d0136cd78c6aa1
https://qiita.com/ryuichi1208/items/3b21aee6c38bcfdb12b1

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?