An Amazon CloudWatch alarm watches a single metric over a time period you specify, and performs one or more actions based on the value of the metric relative to a given threshold over a number of time periods.
The examples below show how to:
All the example code for the AWS SDK for PHP is available here on GitHub.
Before running the example code, configure your AWS credentials, as described in Credentials.
require 'vendor/autoload.php';
use Aws\CloudWatch\CloudWatchClient;
use Aws\Exception\AwsException;
$client = new CloudWatchClient([
'profile' => 'default',
'region' => 'us-west-2',
'version' => '2010-08-01'
]);
try {
$result = $client->describeAlarms([
]);
foreach ($result['MetricAlarms'] as $alarm) {
echo $alarm['AlarmName'] . "\n";
}
} catch (AwsException $e) {
// output error message if fails
error_log($e->getMessage());
}
require 'vendor/autoload.php';
use Aws\CloudWatch\CloudWatchClient;
use Aws\Exception\AwsException;
$client = new CloudWatchClient([
'profile' => 'default',
'region' => 'us-west-2',
'version' => '2010-08-01'
]);
try {
$result = $client->putMetricAlarm(array(
// AlarmName is required
'AlarmName' => 'string',
// MetricName is required
'MetricName' => 'string',
// Namespace is required
'Namespace' => 'string',
// Statistic is required
//string: SampleCount | Average | Sum | Minimum | Maximum
'Statistic' => 'string',
// Period is required
'Period' => integer,
'Unit' => 'Count/Second',
// EvaluationPeriods is required
'EvaluationPeriods' => integer,
// Threshold is required
'Threshold' => interger,
// ComparisonOperator is required
// string: GreaterThanOrEqualToThreshold | GreaterThanThreshold | LessThanThreshold | LessThanOrEqualToThreshold
'ComparisonOperator' => 'string',
));
var_dump($result);
} catch (AwsException $e) {
// output error message if fails
error_log($e->getMessage());
}
require 'vendor/autoload.php';
use Aws\CloudWatch\CloudWatchClient;
use Aws\Exception\AwsException;
$alarmName = "<ALARM_NAME>";
$client = new CloudWatchClient([
'profile' => 'default',
'region' => 'us-west-2',
'version' => '2010-08-01'
]);
try {
$result = $client->deleteAlarms([
'AlarmNames' => [$alarmName] // REQUIRED
]);
var_dump($result);
} catch (AwsException $e) {
// output error message if fails
error_log($e->getMessage());
}