NagiosとCloudWatchを融合させようとするために、まず、Nagiosでパフォーマンスデータをファイルに出力して処理するで、Nagiosの準備をしたのですが、今回は、CloudWatchの方の準備(というか練習)です。
内容としては、下記のPHPスクリプトを実行して、AWS Management Consoleでグラフ表示の確認するところまでになります。
require_once("/opt/aws/php/sdk.class.php"); define("AWS_KEY" , "AAAAAAAA"); define("AWS_SECRET_KEY", "SSSSSSSS"); date_default_timezone_set("Asia/Tokyo"); $cw = new AmazonCloudWatch(); $cw->set_region(AmazonCloudWatch::REGION_US_E1); $response = $cw->put_metric_data("suz-lab", array( array( "MetricName" => "Load Average", "Dimensions" => array( array("Name" => "Host" , "Value" => "suz-lab-dev"), array("Name" => "Minute", "Value" => "1"), ), "Timestamp" => "now", "Value" => 1, "Unit" => "None" ), )); var_dump($response->isOK()); $response = $cw->put_metric_data("suz-lab", array( array( "MetricName" => "Load Average", "Dimensions" => array( array("Name" => "Host" , "Value" => "suz-lab-dev"), array("Name" => "Minute", "Value" => "5"), ), "Timestamp" => "now", "Value" => 2, "Unit" => "None" ), )); var_dump($response->isOK()); $response = $cw->put_metric_data("suz-lab", array( array( "MetricName" => "Load Average", "Dimensions" => array( array("Name" => "Host" , "Value" => "suz-lab-mac"), array("Name" => "Minute", "Value" => "5"), ), "Timestamp" => "now", "Value" => 3, "Unit" => "None" ), )); var_dump($response->isOK());
実行後、AWS Management Consoleを確認すると、下記のように表示されます。
これによりデータが登録されて、グラフ表示までできていることを確認できました。
後は、Nagiosのパフォーマンスデータ処理に利用できるよう、このスクリプトを改良するだけです。