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.