Проблема
Я думаю, что ваша проблема не в сборе и передаче статистики в Elasticsearch, а в том, чтобы тонну работы извлечь метрики из ваших сервисов, потому что большинство из них не имеют метрикифайлы / журналы.
Затем вам нужно будет экспортировать их с помощью некоторого пользовательского сценария, зарегистрировать их и записать с помощью filebeat, передать в logstash для обработки текста и извлечения метрик, чтобы они были проиндексированы таким образом, чтобы вы могли выполнять какие-тоаналитики, а затем отправьте его вasticsearch.
Мой ответ на вопрос
По крайней мере, для 3 упомянутых вами служб есть Прометей экспортеров легко доступны, и вы можете найти их здесь .Экспортеры - это простые процессы, которые будут запрашивать собственные API-интерфейсы статистики ваших служб и предоставлять API метрики Prometheus для Prometheus to Scrape (опрос).
После того, как Prometheus очистит метрики, вы можете отобразить их в сводных панелях с помощью Grafana (который является де-факто слоем визуализации для Prometheus) или массовый экспорт ваших метрик в любое место (Elasticsearch и т. Д.) Для визуализации и исследования.
Заключение
Преимущества этого подхода:
- Prometheus может автоматически обнаруживать новые узлы, которые вы добавляете в свои сети
- Легко доступные экспортеры haproxy, redis и mysql для Prometheus
- Код не требуется, каждому экспортеру требуется минимальная конфигурация, специфичная для каждой отслеживаемой технологии, его можно легко контейнировать и развертывать, если ваша среда ориентирована на контейнеры, в противном случае вам просто нужно запустить каждый экспортер на правильных компьютерах
- Прометей очень, очень легкий тo развернуть