Docker Exporter для Prometheus

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

Эти конечные точки доступны как:

localhost:8080/myapp/status/health or

localhost:8080/myapp/status/version

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


person orcl user    schedule 15.08.2017    source источник


Ответы (2)


Похоже, вы ищете ключевые слова и место для начала настройки, где Prometheus, работающий в кластере Kubernetes, мог бы очистить данные из конечной точки метрик.

Я предлагаю добавить job_name для двух путей myapp/status/version и myapp/status/health в раздел scrape_config вашего prometheus Configmap и сделать целью любое имя приложения, которое вызывается на основе назначения kube-dns. Фактическое доменное имя, скорее всего, представляет собой app_name, добавленное к пространству имен, в котором оно находится: <app_name>.<k8s_namespace>.svc.cluster.local> Localhost обычно разрешается только в вашей непосредственной системе (например, ноутбуке или самом модуле), и он привязан к 127.0.0.1, который обычно не маршрутизируется в сети by kube-dns, поскольку технически все модули и узлы имеют этот интерфейс, и нет возможности их различать.

Вы можете убедиться, что полное доменное имя разрешается, войдя в модуль K8s и выполнив nslookup для комбинации. Полное доменное имя не разрешается за пределами кластера, поскольку оно предназначено для маршрутизации внутри кластера - если вы не создадите его иначе.

HTH и удачи с настройкой.

person Heidi Schmidt    schedule 16.08.2017

Я думаю, что лучший подход здесь - очистить само приложение, а не метрики из самого Kubernetes.

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

person ConorB    schedule 15.08.2017
comment
зачем мне клиент прометей? Конечные точки есть, и они открыты. Разве я не должен напрямую настраивать конечные точки в Prometheus? - person orcl user; 15.08.2017