Получение свободного дискового пространства RDS с помощью Telegraf и Cloudwatch - PullRequest
0 голосов
/ 14 января 2019

Вот что я хочу: получить текущее значение свободного дискового пространства на RDS с помощью Telegraf.

Для этого я использую входные данные Telegraf Cloudwatch (см. Конфигурацию ниже). Я получаю некоторые показатели, но все они, кажется, имеют то же самое значение. Макс == Мин, что (для меня) звучит неправильно. Я ожидаю, что Max будет размером диска RDS, а Min - неиспользуемым пространством. Это также подтверждается проведенным мною тестом CLI AWS.

Итак, я что-то не так делаю? это ошибка в телеграфе?

вот мой конфиг телеграфа:

[[inputs.cloudwatch]]
region = "us-west-2"
period = '1m'
delay = '5m'
interval = '5m'
namespace = 'AWS/RDS'
[[inputs.cloudwatch.metrics]]
names = ['FreeStorageSpace']
[[inputs.cloudwatch.metrics.dimensions]]
  name = 'DBInstanceIdentifier'
  value = '*'

вот вывод для одного экземпляра RDS - обратите внимание, как значение '103560384512' повторяется для max, min, среднего и суммы:

> cloudwatch_aws_rds,db_instance_identifier=my-rds-instance,host=ip-172-31-47-37,node_name=my-rds-instance,region=us-west-2,unit=bytes free_storage_space_average=103560384512,free_storage_space_maximum=103560384512,free_storage_space_minimum=103560384512,free_storage_space_sample_count=1,free_storage_space_sum=103560384512 1547418720000000000

и вот эквивалент CLI AWS. Я пробовал Макс, Мин, и я получаю очень разные цифры, что имеет смысл. Ниже приведен вывод для Min на другом диске:

aws cloudwatch   get-metric-statistics  --namespace AWS/RDS --metric-name FreeStorageSpace   --region us-east-2 --start-time 2019-01-12T20:00:00Z --end-time 2019-01-12T23:59:00Z --period 3600 --statistics Minimum

"Datapoints": [
    {
        "Timestamp": "2019-01-12T21:00:00Z",
        "Minimum": 19796946944.0,
        "Unit": "Bytes"
    },
    {
        "Timestamp": "2019-01-12T23:00:00Z",
        "Minimum": 19792580608.0,
        "Unit": "Bytes"
    },
    {
        "Timestamp": "2019-01-12T22:00:00Z",
        "Minimum": 19794690048.0,
        "Unit": "Bytes"
    },
    {
        "Timestamp": "2019-01-12T20:00:00Z",
        "Minimum": 19798822912.0,
        "Unit": "Bytes"
    }
],
"Label": "FreeStorageSpace"

1 Ответ

0 голосов
/ 28 января 2019

ОК, я понял - в этом нет ничего плохого, но это немного нелогично. Метрика FreeStorageSpace является метрикой, и, как таковая, она может иметь минимальное, максимальное и среднее значения - при выборке с течением времени. Если вы делаете выборку за период «1 м» (как я это сделал), то это всего лишь одна точка данных, а затем, очевидно, максимальное == min == среднее. Кроме того, возвращаемое значение указывается в байтах, и чтобы вернуть его в Мб, нужно разделить его на (1024 ^ 2)

...