Monthly Archives: January 2016

CloudWatchのカスタムメトリクスでEC2のL7ヘルスチェック(HTTPステータスチェック)

  最近MySQLの調子が悪く、 Apacheは生きているがブログは見れないという 恥ずかしい事態が結構起きるため、 CloudWatchでL7ヘルスチェックを実装することにした。   1、IAMロールの設定 EC2上にアクセスキーとシークレットキーを配置しなくてもいいように、 事前にEC2にIAMロールを割り当て、 そのポリシーでCloudWatchの”PutMetricData”をAllowしておきましょう。   2、EC2にシェルを配置 HTTPステータスコードをチェックするシェル [http_status_check.sh] #!/bin/sh curl -s $1 -o /dev/null -w “%{http_code}”   CloudWatchに監視データをputするシェル [put_mon_http_custom_metric.sh] #!/bin/bash export AWS_REGION=us-west-1 instanceid=i-xxxxxxxa monitored_url=http://www.cyberarchitect.net/blog/ # http status check status=`/home/ec2-user/bin/http_status_check.sh $monitored_url` if [ $status -eq 200 ]; then Fail=0 else Fail=1 fi aws cloudwatch put-metric-data –metric-name “HttpStatusFailed” –namespace “Custom Metrics” –dimensions “InstanceId=$instanceid” –value “$Fail” –unit “Count” –region $AWS_REGION   3、cronに仕込む */5 * * * * /home/ec2-user/bin/put_mon_http_custom_metric.sh   4、アラートメールを設定 cronが作動するとCloudWatchの画面にMetricsが表示されるようになるので、 画面右下の”Create Alarm”からアラートメール設定をしましょう。   Amazon Web Servicesクラウドサーバ構築ガイド コストを削減する導入・実装・運用ノウハウ posted with amazlet at 16.01.15 翔泳社 (2015-11-12)売り上げランキング: 36,532 Amazon.co.jpで詳細を見る