2011年5月18日水曜日

PHPでCloudWatchにメトリクスのデータを登録

スズキです。

NagiosとCloudWatchを融合させようとして、まず、コチラで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のパフォーマンスデータ処理に利用するだけです!
--------
http://www.suz-lab.com

0 コメント: