Как использовать агент Datadog в службе приложений Azure? - PullRequest
0 голосов
/ 21 декабря 2018

Я запускаю веб-приложения в виде контейнеров Docker в службе приложений Azure.Я хотел бы добавить агент Datadog в каждый контейнер, например, чтобы читать файлы журналов в фоновом режиме и публиковать их в управлении журналами Datadog.Вот что я попробовал:

1) Установка агента Datadog в качестве расширения, как описано в этого поста .Эта опция не доступна для приложений службы приложений, только на виртуальных машинах.

2) Использование приложений с несколькими контейнерами, как описано в этом посте .Однако мы не нашли простого способа интегрировать это с конвейерами выпуска Azure DevOps .Я полагаю, что возможно создать пользовательскую задачу развертывания, заключающую в себе команды консоли Azure?

3) Включение агента Datadog в наши файлы Docker, следуя тому, как создаются файлы Datadog Dockerfiles .Процесс кажется довольно сложным и добавляет много дополнительных зависимостей в наш Dockerfile.Мы также не хотели бы наследовать наши файлы Dockerfile от Datadog Dockerfile с FROM datadog/agent.

Я бы предположил, что это должно быть довольно стандартной проблемой для пользователей Azure + Datadog.Есть идеи, какой самый чистый вариант?

Ответы [ 4 ]

0 голосов
/ 28 июня 2019

Журналы из служб приложений также можно отправлять в хранилище BLOB-объектов и пересылать оттуда через функцию Azure.В отличие от трассировок и пользовательских метрик из служб приложений, для этого не требуется виртуальная машина, на которой работает агент.Документы и код функции доступны здесь:

https://github.com/DataDog/datadog-serverless-functions/tree/master/azure/blobs_logs_monitoring

0 голосов
/ 29 апреля 2019

Чтобы ответить на ваш комментарий о необходимости пользовательских метрик, это все еще возможно без агента в том же месте.После установки пакета nuget datadog с именем statsdclient вы можете настроить его так, чтобы он отправлял пользовательские метрики агенту, расположенному в другом месте.Пример ниже:

using StatsdClient;

var dogstatsdConfig = new StatsdConfig
{
    StatsdServerName = "127.0.0.1", // Optional if DD_AGENT_HOST environment variable set
    StatsdPort = 8125, // Optional; If not present takes the DD_DOGSTATSD_PORT environment variable value, else default is 8125
    Prefix = "myTestApp", // Optional; by default no prefix will be prepended
    ConstantTags = new string[1] { "myTag:myTestAppje" } // Optional
};

StatsdClient.DogStatsd.Configure(dogstatsdConfig);
StatsdClient.DogStatsd.Increment("fakeVisitorCountByTwo", 2); //Custom metric itself
0 голосов
/ 28 июня 2019

Я написал расширение службы приложений для отправки метрик Datadog APM с ядром .NET и предоставил инструкции по его настройке: https://github.com/payscale/datadog-app-service-extension

Дайте мне знать, если у вас есть какие-либо вопросы или если этоне относится к вашей ситуации.

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

Я сомневаюсь, что агент Datadog будет когда-либо работать с веб-приложением служб приложений, поскольку у вас нет доступа к работающему хосту, оно было разработано для виртуальных машин.Вы пробовали это https://www.datadoghq.com/blog/azure-monitoring-enhancements/?Они говорят, что поддерживают AppServices

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...