Как получить использование пропускной способности экземпляра для NetworkIn и NetworkOut для экземпляра EC2 на основе идентификатора экземпляра с помощью PHP SDK.Получить использование полосы пропускания EC2 по идентификатору экземпляра
Пока что я это ...
<?php
require_once("../aws/Sdk.php");
use Aws\CloudWatch\CloudWatchClient;
$client = CloudWatchClient::factory(array(
'profile' => 'default',
'region' => 'ap-southeast-2'
));
$dimensions = array(
array('Name' => 'Prefix', 'Value' => ""),
);
$result = $client->getMetricStatistics(array(
'Namespace' => 'AWSSDKPHP',
'MetricName' => 'NetworkIn',
'Dimensions' => $dimensions,
'StartTime' => strtotime('-1 hour'),
'EndTime' => strtotime('now'),
'Period' => 3000,
'Statistics' => array('Maximum', 'Minimum'),
));
У меня есть работа PHP хрон работает каждый час, и мне нужно, чтобы иметь возможность получить пропускную способность в и для конкретного экземпляра EC2 для записи в внутренняя база данных.
То, что у меня было выше, я смог скомпоновать из документации SDK, но отсюда я немного запятнал.
Я верю в то, что мне нужно, это облачный путь, поэтому, скорее, это можно сделать через это. Я знаю, что я могу установить небольшую программу на каждый сервер, чтобы сообщить об использовании полосы пропускания в файл на сервере, который затем SFTP загрузится в нашу базу данных, но скорее сделаем это из-за каких-либо параметров внутри самого экземпляра, администратор экземпляра не может вызывать проблемы с отчетами о пропускной способности.
Вы имеете в виду, что статистика CloudWatch NetworkIn и NetworkOut неточна? –
CloudWatch NetworkIn и NetworkOut будут включать в себя некоторые категории передачи данных, которые не оплачиваются или не учитываются. Это было описано на этой странице, но я не могу найти его сейчас: https://aws.amazon.com/ec2/pricing/on-demand/ в разделе «передача данных». Такие категории, как лицензирование Windows, DNS и т. Д. Не должны иметь большого влияния на номера передачи данных, которые вы извлекаете из CloudWatch –