Получение метрик для микро сервисов, развернутых с использованием Docker Swarm на хостах

Я создал несколько микросервисов, использующих инфраструктуру Moleculer, которые взаимодействуют друг с другом. Микро-сервисы были развернуты на разных хостах с использованием Docker Swarm.

Как получить общее количество вызовов, которые каждая служба выполняет к другой службе, а также другие показатели (например, объем данных, передаваемых между службами, пропускная способность, используемая каждой службой и т. Д.)

Я хочу использовать такую ​​информацию, как общее количество вызовов каждой службы к другой службе, чтобы решить, какие микроуслуги следует развернуть на том же хосте. (например, развертывание микроуслуг с большинством вызовов между ними на одном хосте)

1 ответ

Вы можете использовать cAdvisor для мониторинга использования полосы пропускания для каждого контейнера и / или службы. Кроме того, вы можете экспортировать пользовательские метрики из ваших услуг и сделать Prometheus, чтобы очистить оба. Наконец, вы можете отправлять запросы в Prometheus для проверки количества вызовов и пропускной способности всех ваших услуг.

cAdvisor считывает различные статистические данные из вашего роевого кластера (процессор, память, пропускную способность и т. д.) и делает их доступными на конечной точке http. Используя молекулярные метрики и модуль prometheus, вы также можете предоставлять статистику о вашем приложении, такую ​​как использование памяти, выполненные вызовы и любые другие пользовательские метрики, которые вы хотите использовать в конечной точке http.

Prometheus может быть настроен для чтения с нескольких конечных точек метрик и сохранения их в базе данных временных рядов, чтобы вы могли сопоставлять все эти данные, отправляя к ним запросы (представьте, что это база данных ad, и вы выполняете запросы, аналогичные SQL, чтобы получать различные статистические данные в кластере).

Другие вопросы по тегам