Устранение Неполадок
Это руководство помогает диагностировать и решать распространённые проблемы с IceGate.
Здоровье Сервисов
Проверка Статуса Сервисов
# Сервис Query
curl http://localhost:3100/ready
# Сервис Ingest
curl http://localhost:4318/health
Просмотр Логов Сервисов
# Docker Compose
docker compose logs -f query
docker compose logs -f ingest
Проблемы с Подключением
Не Удаётся Подключиться к Сервису Query
Симптомы:
- Connection refused на порту 3100
- Ошибки тайм-аута
Решения:
-
Проверьте, что сервис запущен:
docker ps | grep query -
Проверьте привязку порта:
netstat -tlnp | grep 3100 -
Проверьте логи сервиса на наличие ошибок:
docker compose logs query | tail -100
Не Удаётся Подключиться к Объектному Хранилищу
Симптомы:
- "Connection refused" к объектному хранилищу
- Ошибки аутентификации S3
Решения:
-
В локальном развёртывании RustFS проверьте, что объектное хранилище работает. Путь готовности специфичен для RustFS - на AWS S3 или у другого провайдера сразу переходите к шагу 3:
curl http://localhost:9000/health/ready -
Проверьте учётные данные:
echo $AWS_ACCESS_KEY_ID echo $AWS_SECRET_ACCESS_KEY -
Протестируйте подключение к S3. Уберите
--endpoint-url, если бэкенд - настоящий AWS S3:aws s3 ls --endpoint-url http://localhost:9000
Не Удаётся Подключиться к Каталогу
Симптомы:
- Ошибки "Catalog unavailable"
- Ошибки создания таблиц
Решения:
-
В S3-каталоге по умолчанию убедитесь, что объект состояния каталога читается, - отдельного сервиса каталога здесь нет:
aws --endpoint-url http://localhost:9000 s3 ls s3://warehouse/catalog/root.jsonОтсутствие
root.jsonозначает, что миграция не выполнялась. Сначала запуститеmaintain migrate create. -
Проверьте конфигурацию каталога:
catalog: backend: !s3 warehouse: catalog warehouse: s3://warehouse/ properties: bucket: warehouse region: us-east-1 endpoint: http://rustfs:9000 -
Только для REST-бэкенда проверьте, что Nessie запущен:
curl http://localhost:19120/api/v1/trees
Проблемы с Запросами
Запрос Возвращает Пустые Результаты
Возможные Причины:
- Неправильный идентификатор тенанта
- Временной диапазон вне окна данных
- Данные ещё не компактированы
Решения:
-
Проверьте заголовок тенанта:
curl -H "X-Scope-OrgID: correct-tenant" ... -
Проверьте временной диапазон:
# Список доступного временного диапазона curl http://localhost:3100/loki/api/v1/labels \ -H "X-Scope-OrgID: my-tenant" -
Проверьте WAL на наличие свежих данных:
aws s3 ls s3://warehouse/wal/ --recursive
Тайм-аут Запроса
Симптомы:
- Запросы выполняются слишком долго
- 504 Gateway Timeout
Решения:
-
Добавьте фильтр по временному диапазону:
{service_name="api"} | timestamp > 1h ago -
Уменьшите лимит результатов:
curl ... --data-urlencode 'limit=100' -
Проверьте план запроса:
curl http://localhost:3100/loki/api/v1/explain \ --data-urlencode 'query={service_name="api"}' \ -H "X-Scope-OrgID: my-tenant"
Некорректный Синтаксис Запроса
Симптомы:
- Ответы "parse error"
- 400 Bad Request
Решения:
-
Проверьте синтаксис LogQL:
- Метки должны быть в фигурных скобках:
{service_name="api"} - Строковые значения в кавычках:
"value" - Формат длительности:
[5m],[1h]
- Метки должны быть в фигурных скобках:
-
Проверьте неподдерживаемые возможности:
- Pipeline парсеры (json, logfmt) пока не поддерживаются
- Некоторые агрегации не реализованы
Проблемы с Загрузкой
Данные Не Появляются
Симптомы:
- Данные отправлены, но запрос возвращает пустой результат
- Нет ошибок от ingest
Решения:
-
Проверьте, что данные были приняты:
curl -v -X POST http://localhost:4318/v1/logs \ -H "X-Scope-OrgID: my-tenant" \ -H "Content-Type: application/json" \ -d '...' -
Проверьте файлы WAL:
aws s3 ls s3://warehouse/wal/logs/ --recursive -
Дождитесь компакции (или запросите WAL напрямую)
Ошибки Загрузки
Распространённые Ошибки:
400 Bad Request: Некорректный формат OTLP503 Service Unavailable: Хранилище недоступно429 Too Many Requests: Превышен лимит запросов
Решения:
- Проверьте формат OTLP payload
- Проверьте подключение к хранилищу
- Уменьшите частоту загрузки или масштабируйте реплики ingest
Проблемы с Производительностью
Медленные Запросы
-
Добавьте фильтры по партициям:
{tenant_id="my-tenant", service_name="api"} -
Ограничьте временной диапазон:
--data-urlencode 'start=1704067200' --data-urlencode 'end=1704153600' -
Проверьте статистику таблицы:
SHOW STATS FOR icegate.logs;
Высокое Потребление Памяти
- Уменьшите количество параллельных запросов
- Добавьте лимиты запросов
- Увеличьте выделение памяти сервиса
Получение Помощи
Если проблемы сохраняются:
-
Соберите диагностическую информацию:
# Логи сервисов docker compose logs > logs.txt # Информация о системе docker stats > stats.txt -
Обратитесь к GitHub Issues
-
Включите:
- Версию IceGate
- Конфигурацию (очищенную от секретов)
- Сообщения об ошибках
- Шаги для воспроизведения
Следующие Шаги
- Проверьте процедуры Обслуживания
- Проверьте конфигурацию Развёртывания
- Изучите Архитектуру