Подтвердить что ты не робот

Использование Etsy StatsD в среде Windows

Что мне нужно использовать Etsy Statsd в среде Windows? Мои намерения состоят в создании клиента .net для использования Statsd.

4b9b3361

Ответ 1

Лучше всего иметь сервер Linux с установленными statsd и Graphite. Тогда вам просто нужно написать код С#, чтобы заставить UDP-вызов получить метрику в системе.

[ОБНОВЛЕНИЕ (6/23/2014): я столкнулся с клоном statsd/Graphite statsd.net, который выглядит многообещающим, но в основном отсутствует на графитовой стороне уравнения. Я по-прежнему считаю, что лучше всего использовать фактические проекты statsd/Graphite, так как любой клон необходим, чтобы догнать.]

Ответ 2

У меня есть statsd + graphite, работающий в моей среде Windows, используя клиент С# NStatsD.

Вот мои заметки о настройке Linux VM:

Примечание. Я знаю, что Linux достаточно опасен, но в любом случае это noob и может делать что-то невообразимо ужасное.

  • Установить Ubuntu Server 12.04. Я использовал VirtualBox для dev, а затем позже EC2 для prod.
  • Загрузите graphite-fabric в свою домашнюю папку. Это script, который будет загружать, компилировать и устанавливать графит и statsd. Он ожидает чистой коробки и использует nginx для веб-сервера.

    sudo apt-get install git

    git clone git://github.com/gingerlime/graphite-fabric.git

    cd graphite-fabric/

  • Установите prereq для ткани

    sudo apt-get install python-setuptools

  • Следующие шаги - это загрузка, компиляция и установка, которые могут занять некоторое время. Стоит оставить все в порядке на любой сессии ssh putty, прежде чем продолжить.

  • Теперь установите в соответствии с инструкциями по гангстеру в README.md - включая раздел требований.

  • Установите statsd в соответствии с инструкциями по гасне.
  • Reboot
  • Выполнение netstat -nulp и наблюдение 8125 используется для подтверждения прослушивания statsd.
  • Проверить, что углерод работает tail /opt/graphite/storage/log/carbon-cache/carbon-cache-a/listener.log. Если это не так, попробуйте sudo /etc/init.d/carbon start

Теперь у вас работает ваш сервер, попробуйте нажать на него несколько счетчиков с клиентом NStatsD.

Исправление временной зоны:

Это фиксирует графит для времен графа в вашей локальной зоне.

  • cd /opt/graphite/webapp/graphite
  • sudo cp local_settings.py.example local_settings.py
  • sudo chown www-data:www-data local_settings.py (проверьте с помощью ls -l, что разрешения выглядят правильно)
  • sudo pico local_settings.py Установите TIME_ZONE на что-то вроде Australia/Sydney. Узнайте, какие временные интервалы вы можете использовать в /usr/share/zoneinfo/
  • Сохраните и перезапустите окно (не уверен, как заставить его выбрать изменения без перезагрузки).

Примечания EC2

root отключен на EC2. Ткань запрашивает пароль root, которого у вас нет. Используйте аргумент -i keyfile с fab, чтобы вместо этого использовать его ssh keyfile.

Заметки VirtualBox

VBoxVMService было удобно автоматически запускать виртуальную машину в качестве службы в моей среде Windows.

Ответ 3

TL; DR:

  • statsd.net - это масштабируемый клон statsd с множеством интересных дополнений и предназначен для сред, ориентированных на Windows. Первый выпуск продукции - 29 мая 2013 года.
  • statsd-csharp-client - это легкий клиент statsd и statsd.net, доступный для .net 3.5, 4.0 и 4.5 через nuget.

Полное раскрытие информации: я являюсь автором этих двух проектов, и я написал их, потому что я не мог воспользоваться сервисом etsy statsd для производства - моя организация не готова развертывать и поддерживать службы на основе nodejs.

У меня была такая же проблема в моей организации - мы - ориентированная на Windows среда, которая хочет собирать статистику со всего мира в единый графитовый репозиторий. Первоначально я думал об использовании etsy statsd, но моя компания еще не готова к запуску с помощью услуг nodejs в производстве. По пути я обнаружил, что наличие моей собственной службы агрегации означало, что я могу сделать много интересных вещей, например, добавить поддержку memcached для масштабируемости, добавить новые агрегаторы и т.д.

Услуга доступна в консольном режиме прямо сейчас и будет готова к использованию с 29 мая 2013 года.

Ответ 4

Мы перестроили Graphite/StatsD в чистом .NET. В настоящее время он используется в производственной среде, ежедневно обрабатывая около 600 млн. Данных.

Statsify:

enter image description here

Ответ 5

Существует довольно много реализаций с открытым исходным кодом StatsD, доступных на разных языках, включая С#.NET. Etsy предоставляет один из своих github examples, также проверьте версию AppFirst statsd_clients.

Ответ 6

Текущие версии statsd и nodejs позволяют запускать statsd в Windows без поправок. Файл statsd package.json уже содержит скрипты для установки и удаления его как службы Windows.

Процедура установки:

  • Установите nodejs для Windows
  • Создайте такой каталог, как C:\StatsD
  • Откройте окно консоли и cd \StatsD
  • Затем выполните npm install https://github.com/etsy/statsd.git
  • В каталоге node_modules\statsd создайте свой собственный config.json
  • В окне консоли выполните cd node_modules\statsd и npm run-script install-windows-service

Однако Graphite работает только в Linux.

Ответ 7

Вам нужен сервер statsd для подключения.
Вам также нужна клиентская библиотека для подключения к ней, например. этот и пакет nuget.