Рейтинг:1

Агент метрик GKE регистрирует много ошибок

флаг cn

Мы создали кластер GKE и получаем ошибки от gke-metrics-agent. Ошибки появляются каждые примерно 30 минут. Всегда одни и те же 62 ошибки.

Все ошибки имеют ярлык k8s-pod/k8s-app: "gke-metrics-agent".

Первая ошибка:

error exporterhelper/queued_retry.go:245 Ошибка экспорта. Попробуйте включить параметр конфигурации retry_on_failure. {"kind": "exporter", "name": "googlecloud", "error": "Ошибка rpc: code = DeadlineExceeded desc = Крайний срок истек до завершения операции."  

За этой ошибкой следуют эти ошибки в порядке

  • "go.opentelemetry.io/collector/exporter/exporterhelper.(*retrySender).send"
  • "/go/src/gke-logmon/gke-metrics-agent/vendor/go.opentelemetry.io/collector/exporter/exporterhelper/queued_retry.go:245"
  • go.opentelemetry.io/collector/exporter/exporterhelper.(*metricsSenderWithObservability).отправить
  • /go/src/gke-logmon/gke-metrics-agent/vendor/go.opentelemetry.io/collector/exporter/exporterhelper/metrics.go:120

Таких ошибок около 40. Две ошибки, которые выделяются:

- ошибка exporterhelper/queued_retry.go:175 Ошибка экспорта. Сброс данных.Попробуйте включить send_queue, чтобы пережить временные сбои. {"вид": "экспортер", "имя": "googlecloud", "dropped_items": 19}"

- warn batchprocessor/batch_processor.go:184 Ошибка отправителя {"kind": "processor", "name": "batch", "error": "Ошибка rpc: code = DeadlineExceeded desc = Крайний срок истек до завершения операции."} "

Я пытался найти эти ошибки в Google, но ничего не нашел. Я даже не могу найти документацию для gke-metrics-agent.

Что я пробовал:

  • проверить квоты
  • обновить GKE до более новой версии (текущая версия 1.21.3-gke.2001)
  • узлы обновления
  • отключить все правила брандмауэра
  • дать все разрешения узлам k8s

Я могу предоставить дополнительную информацию о нашем кластере kubernetes, но я не знаю, какая информация может быть важна для решения этой проблемы.

Srividya avatar
флаг cn
** «Крайний срок превышен» ** — это [известная проблема] (https://github.com/census-ecosystem/opencensus-go-exporter-stackdriver/releases/tag/v0.13.6), начиная с Kubernetes. 1.16 метрики отправляются в Cloud Monitoring через агент GKE Metrics, созданный поверх [Open Telemetry] (https://opentelemetry.io/). Можете ли вы предоставить подробную информацию о версии, которую вы используете для экспортера OpenCensus, и проверить, обновив версию экспортера OpenCensus, которая увеличивает время ожидания, и сообщите мне, работает ли она?
Melchy avatar
флаг cn
Спасибо за ответ. Кажется, я не знаю, как обновить экспортер OpenCensus. Я нашел модуль gke-metrics-agent в kubernetes и попытался изменить аннотацию component.gke.io/component-version: 0.6.0 на 0.13.6. Это перезапустило модули, но ошибка присутствует. Я также пытался изменить мониторинг, чтобы открыть телеметрию, но я не знаю, как это сделать. Можно ли установить это с помощью terraform? Я нашел только параметр Monitoring_service, который по умолчанию установлен на Monitoring.googleapis.com/kubernetes.
Srividya avatar
флаг cn
Можете ли вы проверить эту ссылку для обновления экспортера [OpenCensus] (https://github.com/census-ecosystem/opencensus-go-exporter-stackdriver/releases/tag/v0.13.6) и для [OpenTelemetry] (https:/ /github.com/GoogleCloudPlatform/opentelemetry-operations-java) операций в облаке Google?
Maciek Leks avatar
флаг kw
Как это закончилось? Такое же поведение наблюдаю с 1.20.10-гке.301.
Melchy avatar
флаг cn
Я до сих пор понятия не имею, что делать. Я проверил ссылку на OpenCensus и вижу, что есть новая версия, но я до сих пор не знаю, как ее обновить. Может быть, мне следует удалить экспортер по умолчанию и создать собственный экспортер с новой версией?
Рейтинг:1
флаг cn

«Сроки превышены» — известная проблема, метрики отправляются в Cloud Monitoring через агент GKE Metrics, который построен на основе Open Telemetry. В настоящее время существует два обходных пути для решения этой проблемы:

1.Обновление тайм-аут.

Поскольку новый выпуск включено изменение, которое увеличивает время ожидания по умолчанию с 5 до 12 секунд. Поэтому вам может потребоваться перестроить и повторно развернуть рабочую нагрузку с новой версией, которая может исправить эту ошибку rpc.

2. Чтобы использовать более высокие версии GKE, у этой проблемы есть исправление с версиями gke-metrics-agent: 1.18.6-gke.6400+ 1.19.3-gke.600+ 1.20.0-gke.600+.

Chandra Kiran Pasumarti avatar
флаг fr
@Melchy, если вы считаете, что приведенный выше ответ помог вам, рассмотрите возможность его принятия (âï¸).
Рейтинг:0
флаг cn

Если вы все еще видите эти ошибки, взгляните на свои показатели. В основном kubernetes.io/контейнер/... метрики для контейнеров, работающих на том же узле, что и агент gke-metrics-agent, регистрирующий ошибки. Видите ли вы пробелы в метриках, которых быть не должно?

Ошибки превышения контекста могут возникать время от времени, но не в огромных количествах. Это могут быть проблемы с сетью или просто случайные вспышки. Есть ли у вас какие-либо сетевые политики/правила брандмауэра, которые могут помешать gke-metrics-agent взаимодействовать с Cloud Monitoring?

К сожалению, вы не можете самостоятельно обновлять открытую телеметрию внутри gke-metrics-agent. Более новая версия кластера также может помочь, поскольку она обновляет агент, поэтому попробуйте обновить свой кластер, если это возможно. Если проблема влияет на ваши показатели, обратитесь в службу поддержки.

Melchy avatar
флаг cn
Привет, спасибо за ответ, я больше не вижу ошибок. После обновления кластера k8s и ожидания около недели ошибки внезапно исчезли. Понятия не имею почему.
kwiesmueller avatar
флаг cn
Возможно, вы получили новую версию gke-metrics-agent с исправлением.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.