Я работаю над проектом Laravel. Я интегрирую свой проект с AWS CloudWatch. Я отправляю пользовательские метри c из своего приложения на AWS CloudWatch. Но проблема в том, что он продолжает создавать новые метри c вместо обновления существующего, если метри c уже существует.
Это мой код.
$client = \Aws\CloudWatch\CloudWatchClient::factory([
'credentials' => [
'key' => env('CLOUDWATCH_LOG_KEY', ''),
'secret' => env('CLOUDWATCH_LOG_SECRET', ''),
],
'region' => env('CLOUDWATCH_LOG_REGION', ''),
'version' => env('CLOUDWATCH_LOG_VERSION', '')
]);
try {
$result = $client->putMetricData([
'Namespace' => 'LaravelAwsOnlineUsersProd',
'MetricData' => [
[
'MetricName' => 'ConnectedUsers',
'Timestamp' => time(),
'Value' => 1,
'Unit' => 'Kilobytes',
'Dimensions' => [
[
'Name' => 'OnlineUser',
'Value' => $connectedUsers
]
]
]
]
]);
//the rest of the code
} catch (\Aws\Exception\AwsException $e) {
return $e->getMessage();
}
Я мог бы publi sh или отправьте метрику c в CloudWatch. Проблема в том, что каждый раз, когда я отправляю метрику c, она создает новую, добавляя новую строку вместо обновления существующей следующим образом:
![enter image description here](https://i.stack.imgur.com/stEW5.png)
How can I solve the problem?
The reason I want this is that I am creating a CloudWatch alarm. Then I will have to select the metric dimensions.
введите описание изображения здесь
Если новые данные поступают как новые метри c, они не будут включены в сигнал тревоги.