У меня есть сценарий, который запрашивает API нашего CI (Buildkite) один раз в минуту, чтобы получить подробную информацию обо всех агентах сборки и отправить метрики в Datadog для анализа. Однако получение точного количества этих агентов в пользовательском интерфейсе Datadog оказалось сложной задачей.
Если скрипт генерирует метрику COUNT для каждого агента, который он видит, тогда агенты будут дважды подсчитываться в пользовательском интерфейсе Datadog, когда интервал превышает минуту, потому что скрипт запускается один раз в минуту и каждый раз видит (в основном) одних и тех же агентов. . Сценарий может подсчитать количество агентов, которые он видит при каждом запуске, и выдать это как GAUGE, но тогда я теряю возможность разбить счетчик в пользовательском интерфейсе Datadog по тегам, зависящим от агента (очередь и т. Д.).
Я полагаю, я мог бы испускать GAUGE со значением 1 для каждого агента при каждом запуске и добавлять искусственный тег index
со значением числового индекса в массиве агентов и полагаться на пользовательский интерфейс Datadog для суммирования значений index
. ? Конечно, я мог бы использовать идентификатор агента / хост, но Datadog взимает плату по количеству значений тегов, и у нас есть наши агенты в группе с автоматическим масштабированием, поэтому хосты часто меняются.
Это кажется хакерским - есть ли лучшее решение? Я слишком много думаю об этом?