1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/didiopensource-KnowStreaming

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
页面无数据排查手册.md 6.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 06:13 49c2643

Руководство по устранению проблемы отсутствия данных на странице

1. Проблемы с подключением к кластеру

1.1. Описание проблемы

Как показано на рисунке, если кластер не пуст, то, скорее всего, проблема связана с неправильной конфигурацией адреса.

1.2. Решение

При подключении к кластеру следуйте указаниям об ошибке для её устранения. Например:

1.3. Нормальное состояние

При успешном подключении к кластеру информация на странице автоматически отображается без ошибок.

2. Ошибка соединения JMX

Предыстория: Kafka использует JMX-сервис для запуска метрик, поэтому KnowStreaming активно подключает JMX-службу Kafka для сбора метрик. Если мы обнаруживаем, что на странице отсутствуют метрики, одной из возможных причин может быть неправильная конфигурация порта JMX Kafka, что приводит к сбою в получении метрик и отсутствию данных на странице.

Для получения более подробной информации см. документ в том же каталоге: «Решение проблемы с неудачным подключением JMX».

3. Проблемы ElasticSearch

Предыстория: KnowStreaming сохраняет собранные из Kafka метрики в ES. Если у ES есть проблемы, это также может привести к отсутствию данных на странице.

Журнал: KnowStreaming регистрирует связанные с ES события в файле logs/es/es.log!

Примечание: при выполнении команды curl в системе Mac может возникнуть ошибка zsh. Вы можете выполнить следующие действия:

1. Перейдите в файл .zshrc с помощью команды vim ~/.zshrc.
2. Добавьте в .zshrc строку setopt no_nomatch.
3. Обновите конфигурацию с помощью команды source ~/.zshrc.

3.1. Причина 1: Отсутствие индекса

3.1.1. Описание ошибки

В журнале появляется сообщение об ошибке:

# Расположение журнала: logs/es/es.log
com.didiglobal.logi.elasticsearch.client.model.exception.ESIndexNotFoundException: method [GET], host[http://127.0.0.1:9200], URI [/ks_kafka_broker_metric_2022-10-21,ks_kafka_broker_metric_2022-10-22/_search], status line [HTTP/1.1 404 Not Found]

Проверка списка индексов KS с помощью команды curl http://{IP-адрес ES}: {порт ES}/_cat/indices/ks_kafka* показывает, что индекс отсутствует.

3.1.2. Решение

Выполните скрипт init_es_template.sh для создания индекса и шаблона.

3.2. Причина 2: Ошибка шаблона индекса

3.2.1. Описание ошибки

Существует список данных для нескольких кластеров, но нет данных на значке страницы сведений о кластере. Запрос списка шаблонов индексов KS показывает, что шаблон не существует.

Нормальный шаблон KS выглядит следующим образом:

3.2.2. Решение

Удалите шаблон и индекс KS:

curl -XDELETE {IP-адрес ES}:{порт ES}/ks_kafka*
curl -XDELETE {IP-адрес ES}:{порт ES}/_template/ks_kafka*

Затем выполните скрипт init_es_template.sh для создания шаблона и индекса.

3.3. Причина 3: Кластер Shard заполнен

3.3.1. Описание ошибки

Появляется сообщение об ошибке:

{"error":{"root_cause":[{"type":"validation_exception","reason":"Validation Failed: 1: this action would add [4] total shards, but this cluster currently has [1000]/[1000] maximum shards open;"}],"type":"validation_exception","reason":"Validation Failed: 1: this action would add [4] total shards, but this cluster currently has [1000]/[1000] maximum shards open;"},"status":400}

Создание индекса вручную завершается неудачно.

Например, попытка создать индекс ks_kafka_cluster_metric_test завершается неудачно:

# Команда для создания индекса ks_kafka_cluster_metric_test
curl -s  -XPUT http://{IP-адрес ES}:{порт ES}/ks_kafka_cluster_metric_test

3.3.2. Решение

Количество осколков по умолчанию для индекса ES составляет 1000, и создание индекса завершится неудачно после достижения этого количества.

Чтобы увеличить максимальное количество осколков ES, выполните команду:

curl -XPUT  -H"content-type:application/json" http://{IP-адрес ES}:{порт ES}/_cluster/settings -d '
{
  "persistent": {
    "cluster": {
      "max_shards_per_node":{максимальное количество осколков, по умолчанию 1000, можно настроить на 10 000 для тестирования}
    }
  }
}'

После этого выполните скрипт init_es_template.sh, чтобы заполнить недостающие индексы.

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/didiopensource-KnowStreaming.git
git@gitlife.ru:oschina-mirror/didiopensource-KnowStreaming.git
oschina-mirror
didiopensource-KnowStreaming
didiopensource-KnowStreaming
master