k8s-image-availability-exporter icon indicating copy to clipboard operation
k8s-image-availability-exporter copied to clipboard

Отсутствуют все заявленные метрики

Open b100dy opened this issue 2 years ago • 11 comments

Собирал релиз с мастер ветки, ставил через хелм чарт использую такие values: k8sImageAvailabilityExporter: image: repository: xxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/image-availability-exporter tag: master-1

В метриках которые я получаю с сервиса во такой вывод с контейнера:

HELP k8s_image_availability_exporter_completed_rechecks_total Number of image rechecks completed.

TYPE k8s_image_availability_exporter_completed_rechecks_total counter

k8s_image_availability_exporter_completed_rechecks_total 5174

HELP log_statements_total Number of log statements, differentiated by log level.

TYPE log_statements_total counter

log_statements_total{level="info"} 2

HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.

TYPE process_cpu_seconds_total counter

process_cpu_seconds_total 3398.21

HELP process_max_fds Maximum number of open file descriptors.

TYPE process_max_fds gauge

process_max_fds 1.048576e+06

HELP process_open_fds Number of open file descriptors.

TYPE process_open_fds gauge

process_open_fds 12

HELP process_resident_memory_bytes Resident memory size in bytes.

TYPE process_resident_memory_bytes gauge

process_resident_memory_bytes 9.2213248e+07

HELP process_start_time_seconds Start time of the process since unix epoch in seconds.

TYPE process_start_time_seconds gauge

process_start_time_seconds 1.65426765079e+09

HELP process_virtual_memory_bytes Virtual memory size in bytes.

TYPE process_virtual_memory_bytes gauge

process_virtual_memory_bytes 8.28502016e+08

HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.

TYPE process_virtual_memory_max_bytes gauge

process_virtual_memory_max_bytes 1.8446744073709552e+19

HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.

TYPE promhttp_metric_handler_requests_in_flight gauge

promhttp_metric_handler_requests_in_flight 1

HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.

TYPE promhttp_metric_handler_requests_total counter

promhttp_metric_handler_requests_total{code="200"} 3651 promhttp_metric_handler_requests_total{code="500"} 0 promhttp_metric_handler_requests_total{code="503"} 0

b100dy avatar Jun 07 '22 05:06 b100dy

Будто RBAC некорректен. Есть ли что-то в логах?

zuzzas avatar Jun 07 '22 05:06 zuzzas

I installed via helm using my namespace prometheus role and rolebinding exist in namespace and look ok...

I see only two line in logs`s pod time="2022-06-03T14:47:31Z" level=info msg="Waiting for cache sync" time="2022-06-03T14:47:32Z" level=info msg="Caches populated successfully"

b100dy avatar Jun 07 '22 07:06 b100dy

@zuzzas Проверили RBAC - все записалось так, как указано в чарте. Проверили k8s audit logs - там тоже нет ошибок. Есть логи, что сервисаккаунт получает доступ к необходимым ресурсам (деплойменты, кронджобы и т.д.). По логам видно, что возвращается 200 статус в следующем виде:

{metadata={}, code=200, message=Connection closed early, status=Success}

Настораживает сообщение Connection closed early, status=Success . При этом ответ на запрос метадаты приходит в ту же секунду, когда запрос отправляется. Т.е. сообщение отваливается не по таймауту

granescb avatar Jun 22 '22 06:06 granescb

@granescb Кажется, есть идеи. Подскажи версию Kubernetes, пожалуйста.

zuzzas avatar Jun 22 '22 06:06 zuzzas

@zuzzas v1.18.6

granescb avatar Jun 22 '22 06:06 granescb

@zuzzas что-то получилось?

b100dy avatar Jun 27 '22 19:06 b100dy

@zuzzas Any updates here?

granescb avatar Jul 11 '22 09:07 granescb

Скорее всего проблема возникает, когда не указывается --ignored-images

Здесь парсинг

Здесь обработка

Мы тоже натолкнулись на эту проблему и после указания несуществующего image в ignored-images метрики появились

Если значение для опции ignored-images отсутствует, то в итоге получается массив из одного пустого regex выражения, с которым происходит matching любого docker image и они все пропускаются

verdel avatar Aug 02 '22 17:08 verdel

@verdel Возможно пофиксить?

granescb avatar Aug 04 '22 08:08 granescb

@verdel Возможно пофиксить?

Я уже закинул PR #57

verdel avatar Aug 04 '22 14:08 verdel

@zuzzas можно попросить о ревью PR #57?

verdel avatar Aug 10 '22 10:08 verdel