Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›Устранение неполадок

Запись диагностических данных

Инструмент Elasticsearch Support Diagnostic создаёт моментальный снимок статистики кластера и большинства настроек. Он работает со всеми версиями Elasticsearch.

Эта информация может быть использована для устранения проблем с вашим кластером. Примеры проблем, которые можно устранить с помощью вывода инструмента Support Diagnostic, см. в блоге Elastic.

Вы можете сгенерировать диагностическую информацию с помощью этого инструмента перед обращением в поддержку Elastic или форум Elastic, чтобы сократить время обработки.

См. это видео для пошаговой инструкции по записи диагностики Elasticsearch.

Если вы используете Elastic Cloud Hosted, то можете использовать AutoOps для мониторинга вашего кластера. AutoOps значительно упрощает управление кластером благодаря рекомендациям по производительности, проницаемости использования ресурсов, обнаружению проблем в реальном времени и путям решения проблем. Дополнительную информацию см. в Мониторинг с помощью AutoOps.

Требования

  • Java Runtime Environment или Java Development Kit v1.8 или выше

Доступ к инструменту

Инструмент Support Diagnostic включён как подбиблиотека в некоторых развертываниях Elastic:

  • Elastic Cloud Enterprise: Расположен в Elastic Cloud Enterprise > Развертывание > Операции > Подготовить пакет > Elasticsearch.
  • Elastic Cloud на Kubernetes: Запускается как eck-diagnostics.

Вы также можете загрузить файл diagnostics-X.X.X-dist.zip для последней версии Support Diagnostic с репозитория support-diagnostic.

Запись диагностической информации

Чтобы записать диагностическую информацию Elasticsearch:

  1. В терминале проверьте, достаточны ли ваше сетевое подключение и разрешения пользователя для подключения к кластеру Elasticsearch, проверив состояние кластера состояние.

    Например, с параметрами host:localhost, port:9200 и username:elastic вы бы использовали следующий запрос curl:

    curl -X GET -k -u elastic -p https://localhost:9200/_cluster/health

    Если вы получите ответ HTTP 200 OK, то можете перейти к следующему шагу. Если вы получите другой код ответа, то устраните проблему перед продолжением.

  2. Используя те же параметры среды, запустите скрипт диагностического инструмента.

    Дополнительную информацию о параметрах, которые можно передать инструменту, см. в справочнике по параметрам диагностики.

    Рекомендуются следующие параметры команд:

    Системы на базе Unix

    sudo ./diagnostics.sh --type local --host localhost --port 9200 -u elastic -p --bypassDiagVerify --ssl --noVerify

    Windows

    sudo .\diagnostics.bat --type local --host localhost --port 9200 -u elastic -p --bypassDiagVerify --ssl --noVerify

    Режимы выполнения скрипта

    Вы можете выполнить скрипт в трёх режимах:

    • local (по умолчанию, рекомендуется): Опрашивает API Elasticsearch, собирает информацию об операционной системе и записывает журналы кластера и сборки мусора.
    • remote: Устанавливает сеанс ssh на соответствующий целевой сервер для получения той же информации, что и local.
    • api: Опрашивает API Elasticsearch. Вся остальная информация должна быть собрана вручную.
  3. После завершения скрипта проверьте, что в diagnostic.log не было зарегистрировано ошибок. Если журнал ошибок содержит ошибки, обратитесь к Устранение ошибок в diagnostic.log.
  4. Если скрипт завершился без ошибок, то архив с форматом <diagnostic type>-diagnostics-<DateTimeStamp>.zip создаётся в рабочей директории или в указанной вами директории вывода. При необходимости вы можете просмотреть или поделиться диагностическим архивом.

Устранение ошибок ответа состояния кластера, отличного от 200

При опросе состояния кластера, если вы получите любой ответ, кроме 200 0K, то инструмент диагностики может не работать должным образом. Ниже приведены возможные коды ошибок и их решения:

HTTP 401 UNAUTHENTICATED
Дополнительная информация в сообщении об ошибке, как правило, указывает, что ваша пара username:password неверна или что ваш индекс .security недоступен, и вам нужно настроить временного пользователя с role:superuser для аутентификации.
HTTP 403 UNAUTHORIZED
Ваш username распознаётся, но имеет недостаточные права для запуска диагностики. Используйте другой имя пользователя или повысьте права пользователя.
HTTP 429 TOO_MANY_REQUESTS (например, circuit_breaking_exception)
Ваш имя пользователя аутентифицирован и авторизован, но кластер подвергается достаточно высокой нагрузке, чтобы не отвечать на API-вызовы. Такие ответы, как правило, временны. Вы можете продолжить запуск диагностики, но результаты диагностики могут быть неполными.
HTTP 504 BAD_GATEWAY
У вашей сети возникли проблемы с доступом к кластеру. Возможно, вы используете прокси или брандмауэр. Попробуйте запустить инструмент диагностики из другого места, подтвердите свой порт или используйте IP-адрес вместо доменного имени URL.
HTTP 503 SERVICE_UNAVAILABLE (например, master_not_discovered_exception)
В вашем кластере в данный момент нет избранного узла-мастера, что необходимо для API-отклика. Это может быть временно, пока мастер-узел не переключится. Если проблема сохраняется, то исследуйте причину перед продолжением.

Устранение ошибок в diagnostic.log

Ниже приведены распространённые ошибки, которые могут возникнуть при запуске диагностического инструмента:

  • Error: Could not find or load main class com.elastic.support.diagnostics.DiagnosticApp

    Это указывает на то, что вы случайно загрузили файл исходного кода вместо diagnostics-X.X.X-dist.zip со страницы релизов.

  • Could not retrieve the Elasticsearch version due to a system or network error - unable to continue.

    Это указывает на то, что диагностика не смогла выполнить команды на кластере. Повторите опрос состояния кластера и убедитесь, что при запуске пакетной или командной файла вы используете те же параметры.

  • Ошибка security_exception, которая включает is unauthorized for user:

    У предоставленного пользователя недостаточно прав администратора для запуска инструмента диагностики. Используйте другого пользователя или предоставьте пользователю права role:superuser.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/diagnostic.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API