9.5. Сбои взаимодействия с PPEM #
9.5.1. Ошибка HTTP Status Code 500 #
При отправке метрик для 10 000 таблиц и индексов PPEM через otlphttp в журналах pgpro-otel-collector может появиться следующая ошибка:
{
"level": "error",
"ts": "2025-09-05T17:44:37.351+0300",
"msg": "Exporting failed. Dropping data.",
"resource": {
"service.instance.id": "62cc1e9c-a53f-423e-9c6f-41b1f6a0872a",
"service.name": "pgpro-otel-collector",
"service.version": "v0.4.0"
},
"otelcol.component.id": "otlphttp/ppem_metrics",
"otelcol.component.kind": "exporter",
"otelcol.signal": "metrics",
"error": "not retryable error: Permanent error: rpc error: code = Unknown desc = error exporting items, request to http://192.168.21.147:80/v1/metrics responded with HTTP Status Code 500, Message=, Details=[]",
"dropped_items": 393313
}Ошибка может указывать на то, что PPEM не может обработать пакет метрик за один запрос. Используйте процессор batch, чтобы разделить запрос к PPEM на несколько частей. Задайте значение для параметра send_batch_max_size:
processors:
batch/metrics:
send_batch_size: 8192
send_batch_max_size: 8192
timeout: 10s
...Этот параметр позволяет разделять крупные запросы на пакеты, в каждом из которых содержится по 8 192 метрики. После определения этого параметра убедитесь, что очередь на отправку со временем не переполняется:
curl 127.0.0.1:8888/metrics | grep queue_size
9.5.2. Ошибка sending queue is full #
По умолчанию максимальный размер очереди — 1000 элементов. Чем больше элементов в очереди, тем больше оперативной памяти требуется pgpro-otel-collector.
Если очередь переполняется, в журналах коллектора появляется следующая ошибка:
{
"level": "warn",
"ts": "2025-09-22T15:24:45.161+0300",
"msg": "Sender failed",
"resource": {
"service.instance.id": "8859d053-3485-4a61-bc28-8d839bc9e20f",
"service.name": "pgpro-otel-collector",
"service.version": "v0.4.0"
},
"otelcol.component.id": "batch/metrics",
"otelcol.component.kind": "processor",
"otelcol.pipeline.id": "metrics",
"otelcol.signal": "metrics",
"error": "sending queue is full"
}Ошибка означает, что данные сбрасываются до отправки в PPEM. В этом случае необходимо уменьшить количество метрик, отправляемых в PPEM, или увеличить размер очереди. Пример конфигурации очереди:
exporters:
otlphttp/ppem_metrics:
sending_queue:
enabled: true
queue_size: 1000
...Кроме того, можно увеличить значение batch/metrics.timeout, а также глобальный интервал сбора метрик, чтобы они собирались реже.
Повторная передача пакетов в случае возникновения ошибки включена по умолчанию. Пример конфигурации:
exporters:
otlphttp/ppem_metrics:
retry_on_failure:
initial_interval: 5s
max_interval: 30s
max_elapsed_time: 300s
multiplier: 1.5
...В примере указаны значения по умолчанию. Полный набор параметров конфигурации очереди и повторной передачи доступен в документации OpenTelemetry.
9.5.3. Ошибки тайм-аута #
Следующая ошибка связана с тайм-аутом, заданным на стороне PPEM:
{
"level": "info",
"ts": "2025-09-05T18:20:28.465+0300",
"msg": "Exporting failed. Will retry the request after interval.",
"resource": {
"service.instance.id": "b225f72c-f753-4816-85ef-57a982a0392c",
"service.name": "pgpro-otel-collector",
"service.version": "v0.4.0"
},
"otelcol.component.id": "otlphttp/ppem_metrics",
"otelcol.component.kind": "exporter",
"otelcol.signal": "metrics",
"error": "failed to make an HTTP request: Post \"http://192.168.21.147:80/v1/metrics\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)",
"interval": "4.905832986s"
}Увеличьте тайм-аут на стороне PPEM следующим образом:
http:
server:
timeout: 5m # Укажите своё значениеДругая ошибка может быть связана с тайм-аутом, указанном на стороне pgpro-otel-collector, как правило, для журналов и метрик:
{
"level": "error",
"ts": 1752593436.7439601,
"msg": "Exporting failed. Dropping data.",
"kind": "exporter",
"data_type": "logs",
"name": "otlphttp/ppem_logs",
"error": "no more retries left: failed to make an HTTP request: Post \"http://192.168.22.114:80/v1/logs\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)",
"dropped_items": 1
}Увеличьте тайм-аут, указанный на стороне pgpro-otel-collector:
exporters:
otlphttp/elastic_logs:
timeout: 1m
...
otlphttp/ppem_logs:
timeout: 1m
...
otlphttp/ppem_metrics:
timeout: 1m
...Обе ошибки могут также свидетельствовать о том, что PPEM или pgpro-otel-collector не хватает ресурсов процессора для корректной работы с указанными параметрами плагинов.