Awsをちゃんと使ってみた 監視編
-
Upload
yoichi-toyota -
Category
Documents
-
view
1.057 -
download
2
Transcript of Awsをちゃんと使ってみた 監視編
株式会社エクストーン 下っ端 豊田陽一
AWSでサービス作って監視してみた ◦ Cloudwatch Alarmの設定 カスタムメトリクスの作成
AWSの各サービスの監視が可能 ◦ 様々なメトリクスによる監視 閾値を決めて通知を行う 2週間まで数値をグラフで確認
こんなものが用意されている ◦ EC2 CPU使用率 ディスクの書き込み/読み込み回数、バイト数 ネットワーク入出力 ◦ RDS CPU使用率 DB接続数 ディスク空き容量 読み込み/書き込み回数、スループット、レイテンシ
◦ 等々
3ステップ ◦ メトリクスを選ぶ ◦ 閾値を決める ◦ 通知先を決める
EC2関連の場合、通知以外のアクションも定義可能 ◦ インスタンスを停止する ◦ インスタンスを破棄する
以下のタイミングでの通知が設定可能 ◦ 設定した閾値を超えた場合 ◦ 上記の状態から、閾値を下回った場合 ◦ データが取得できなくなった場合
例えば… ◦ ロードアベレージが知りたい ◦ 特定のデバイスの使用率が知りたい ◦ Etc…
コマンドラインツールから好きな値をCloudwatchに送れます ◦ 5分平均のロードアベレージ $ cat /dev/loadavg | cut ‒d ‘ ‘ ‒f 2 ◦ ディスク使用量 $ df <デバイス> | tail -1 | tr -s ' ' | cut -d ' ' -f 5 | cut -d '%' -f 1`
◦ とかで数値はとれる
Cloudwatchコマンドラインツール ◦ http://aws.amazon.com/developertools/2534 ◦ 以下の設定を行うこと Javaのインストール AWSのアクセスキーとシークレットキー
IAMを利用して、Cloudwatch専用のアクセスキーを作ると安全
http://blog.suz-lab.com/2011/05/iamcloudwatch.html
mon-put-dataコマンドを利用 ◦ instanceid=`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id` ◦ loadave5=`cat /proc/loadavg | cut -d ' ' -f 2` ◦ mon-put-data --metric-name "LoadAverage" --namespace "System/Linux" --dimensions "InstanceId=$instanceid" --value "$loadave5" --unit "Count" --region ap-northeast-1
スクリプト化して、crontabに仕込んでおくと良し
tr ◦ 文字を置換・削除したりするコマンド tr ‒s ‘ ‘
2文字以上の空白を1文字に置換する tr ‒d ‘ ‘
空白を削除 cut ◦ 特定の文字を切り出すコマンド cut ‒d ‘ ‘ ‒f 2
空白で区切った2番目の要素を切り出す cut ‒c 5
5文字目を切り出す
vmstat ◦ 仮想メモリの状態を取得
free ◦ 使用メモリ量を取得
Uptime ◦ システムの起動時間を取得 1分、5分、15分平均のロードアベレージも取得可能
df ◦ ファイルシステムのディスク容量を取得
System/Linuxグループにカスタムメトリックスが出来る
LoadAverageメトリクスが追加されている
カスタムメトリクスで監視しているもの ◦ ロードアベレージ ◦ メモリ使用率 ◦ ディスク使用率 ◦ 外部有料サービスの使用状況 プリペイドのSMSサービスの残りポイント数
宣伝
Pri-maをよろしくお願いします