StatsD — это интеллектуальный пакет Node.js, который собирает и агрегирует статистику из разных приложений, отправляемых по протоколу UDP. Через заданный интервал времени он пересылает агрегированные данные на настроенный сервер. Мы можем использовать AWS Cloudwatch в качестве серверной части для целей мониторинга.

У AWS cloudwatch есть свои собственные метрики. Что, если мы хотим иметь метрики нашего собственного приложения в AWS cloudwatch? Мы можем использовать Statsd, с помощью которого мы можем отправлять пользовательские метрики нашего приложения в cloudwatch и использовать эти метрики соответственно для сигналов тревоги и мониторинга.

Предпосылки:

  • Перед настройкой statsd нам необходимо установить:
  • Гит, нпм, нодджс

Установки:

Установите Git:

$ apt-get install git

Установите npm:

$ apt-get установить npm

(Этот пакет обычно поставляется с установкой nodejs, но если он отсутствует, запустите команду, указанную выше)

Установите nodejs:

$ wget -qO- https://deb.nodesource.com/setup_7.x | судо баш -

$sudo apt-get install -y nodejs

Теперь у нас на машине установлены git, npm и node.

  • Клонируйте проект statsd с веб-сайта. то есть

$ git clone https://github.com/etsy/statsd.git

  • Серверная часть CloudWatch представляет собой пакет npm, который можно установить с помощью команды npm.

$ npm install aws-cloudwatch-statsd-backend

Конфигурация:

StatsD и его серверные части настраиваются в объекте json, помещенном в файл, предоставленный StatsD в командной строке. Например, запустите StatsD следующим образом:

$ узел ./stats.js ./myConfig.js

  • Создайте файл конфигурации внутри папки statsd как myConfig.js и добавьте следующие строки:

{

бэкенды: [ «aws-cloudwatch-statsd-backend» ],

Облачные часы:

{

accessKeyId: ‘accessKey’,

secretAccessKey: ‘secretKey’,

регион: ‘US_EAST_1’

// пространство имен: ‘AWS/EC2’,

// metricName: ‘CPUUtilization’

}
}

  • Ключи доступа могут быть вашими личными учетными данными для AWS, но настоятельно рекомендуется создать специального пользователя через сервис Amazon IAM и использовать эти учетные данные.
  • Регион, например, EU_WEST_1 или US_EAST_1.
  • Храните это в той же папке, где присутствует stats.js.
  • запустите оба файла .js командой: node stats.js myConfig.js
  • statsd отправляет метрику в cloudwatch.