Всего IOPS
Объем EBS дает нам метрики VolumeReadOps
и VolumeWriteOps
. Позвольте мне процитировать AWS документацию.
VolumeReadOps
- Общее количество операций чтения за указанный период времени.
Для вычисления среднего числа операций чтения в секунду (чтение IOPS) для период, разделите общее количество операций чтения за период на количество секунд в этом периоде.
VolumeWriteOps
- общее количество операций записи за указанный период времени.
Чтобы вычислить среднее операций записи в секунду (запись операций ввода-вывода в секунду) за период, разделите общее количество операций записи за период на количество секунд в этом периоде.
Ссылка: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cloudwatch_ebs.html
Чтобы получить общий IOPS, нам нужно (VolumeReadOps + VolumeWriteOps) / SecondsInPeriod
.
К счастью, CloudWatch поможет нам с Expression
. Используйте выражение ниже, функция PERIOD
является нашим другом здесь.
m1 = VolumeWriteOps - Sum
m2 = VolumeReadOps - Sum
Expression: (m1+m2)/PERIOD(m1)
Ссылка: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html
Общая пропускная способность ( МиБ / с)
Объем EBS дает нам метрики VolumeReadBytes
и VolumeWriteBytes
. Позвольте мне процитировать AWS документацию.
VolumeReadBytes
- Предоставляет информацию об операциях чтения за указанный период времени. Sum
statisti c сообщает об общем количестве байтов, переданных за период.
VolumeWriteBytes
- Предоставляет информацию об операциях записи за указанный период времени. Sum
statisti c сообщает об общем количестве байтов, переданных за период.
Обе метрики дают нам значение в bytes
, но мы хотим, чтобы они были в MiB
, поэтому преобразовать нам нужно разделить на 1048576
, что является результатом 1024 * 1024
. Позвольте мне объяснить подробнее.
1024 bytes = 1 KiB
1024 KiB = 1 MiB
Чтобы получить общую пропускную способность в MiB/s
, нам нужно ((VolumeReadBytes + VolumeWriteBytes) / 1048576) / SecondsInPeriod
.
Воспользуйтесь приведенным ниже выражением, функция PERIOD
является нашим другом здесь.
m1 = VolumeWriteBytes - Sum
m2 = VolumeReadBytes - Sum
Expression: ((m1+m2)/1048576)/PERIOD(m1)
Общая сеть (Гбит / с)
Экземпляр EC2 дает нам метрики NetworkIn
и NetworkOut
. Позвольте мне процитировать AWS документацию.
NetworkIn
- Количество байтов, полученных экземпляром на всех сетевых интерфейсах. Этот показатель c определяет объем входящего сетевого трафика c для одного экземпляра.
Указанное число - это количество байтов, полученных за период. Если вы используете базовый c (пятиминутный) мониторинг, вы можете разделить это число на 300, чтобы найти байт / секунду. Если у вас есть подробный (за одну минуту) мониторинг, разделите его на 60.
NetworkOut
- количество байтов, отправленных экземпляром на все сетевые интерфейсы. Этот показатель c определяет объем исходящего сетевого трафика c из одного экземпляра.
Указанное число - это количество байтов, отправленных за период. Если вы используете basi c (пятиминутный) мониторинг, вы можете разделить это число на 300, чтобы найти байт / секунду. Если у вас есть подробный (за одну минуту) мониторинг, разделите его на 60.
Ссылка: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
Обе метрики дают нам значение в bytes per period
, но мы хотим, чтобы они были в gigabits / second
.
Для преобразования из "периода" в "секунду" нам просто нужно разделить на 300
(так как я использую стандартный мониторинг).
Для преобразования из bytes
в gigabits
нам нужно разделить на 0.008
, что является результатом (1000 / 1000 / 1000) * 8
. Позвольте мне объяснить подробно.
1000 bits = 1 kilobits
1000 kilobits = 1 megabits
1000 megabits = 1 gigabits
1 byte = 8 bits
Чтобы получить общую сеть в Gbps
, нам нужно ((NetworkIn + NetworkOut) / 300) / 0.008
.
m1 = NetworkIn - Sum
m2 = NetworkOut - Sum
Expression: ((m1+m2)/300)/0.008