Нативное ведение журнала: тайник журнала - Kibana не может получить отображение

Для ведения журнала Knative следуйте инструкциям здесь - https://github.com/knative/docs/blob/master/serving/installing-logging-metrics-traces.md#elasticsearch-kibana-prometheus--grafana-setup, я попытался визуализировать журналы с помощью Kibana UI (инструмент визуализации для Elasticsearch), но столкнулся со следующей ошибкой при настройке шаблона индекса - «Невозможно получить сопоставление. У вас есть индексы, соответствующие шаблону? » logstash  введите описание изображения здесь

Есть ли обходной путь или исправление для этого?

Обновление: вот что я вижу, когда делаю запрос cURL GET, как это предлагается в комментарии  введите описание изображения здесь


person Vidyasagar Machupalli    schedule 28.11.2018    source источник
comment
Можете ли вы показать, что вы получите, запустив GET _cat/indices?v в Dev Tools?   -  person Val    schedule 28.11.2018
comment
@Val Пожалуйста, найдите обновление выше   -  person Vidyasagar Machupalli    schedule 28.11.2018
comment
Похоже, у вас нет индексов, соответствующих шаблону logstash-*   -  person Val    schedule 28.11.2018
comment
Не уверен, что мне здесь не хватает. Я выполнил все инструкции и увидел, что все работает, как ожидалось, кроме Кибаны для проверки журналов.   -  person Vidyasagar Machupalli    schedule 28.11.2018
comment
Также странный ответ от команды _cat/indices. Это действительно названия ваших индексов?   -  person Val    schedule 28.11.2018
comment
да, я выполнил команду и вот что я вижу   -  person Vidyasagar Machupalli    schedule 28.11.2018


Ответы (2)


В последних версиях KNative есть ошибка, которая была задокументирована в этом выпуске https://github.com/knative/serving/issues/2218. Уже есть утвержденный, но еще не объединенный PR, вы можете увидеть здесь https://github.com/knative/serving/pull/2560.

Короче говоря, проблема в том, что fluentd поды используют system-node-critical класс приоритета, который больше не поддерживается за пределами пространства имен kube-system.

В результате fluentd пода не создаются и, следовательно, не отправляют журналы в Elasticsearch, и, следовательно, logstash индексы не отображаются в Kibana.

Чтобы обойти KNative v0.2.2, вы можете загрузить и удалить строку 1909 из файла выпуска здесь: https://github.com/knative/serving/releases/download/v0.2.2/release.yaml.

Затем вы можете установить исправленную версию: kubectl apply -f release.yaml

Если вы не хотите скачивать и редактировать, вы можете получить уже исправленная версия выпуска 0.2.2 здесь, которую можно установить с помощью:

kubectl apply -f https://github.com/gevou/knative-blueprint/blob/master/knative-serving-release-0.2.2-patched.yaml

Конечно, вы можете сделать что-то подобное для предыдущих версий.

person George V    schedule 29.11.2018
comment
Выполнял все предложения. Но все равно вижу ошибку. - person Vidyasagar Machupalli; 04.12.2018
comment
Я перепроверил конфигурацию выше, установив ее на новый кластер GCP, и могу подтвердить, что Kibana работает. Но я знаю, что это не помогает. Пару мыслей: а) Проверяли ли вы свои fluentd pod'ы на наличие ошибок? Вы также можете проверить события через kubectl describe pod [your-fluentd-pod] -n knative-monitoring или через консоль GCP workloads => fluentd-ds => Events. б) У моего кластера есть 2 n1-standard-2 узла, когда все установлено. Я заметил, что небольшим кластерам не хватает памяти или обработки даже при отсутствии запущенных приложений, что приводит к сбою инициализации подов Knative. - person George V; 11.12.2018
comment
Также к сведению, что @val имел в виду в предыдущем комментарии к вашему вопросу, так это перейти в меню Dev Tools Кибаны и запустить там GET _cat/indices?v. - person George V; 11.12.2018
comment
Ваши ответы определенно помогли мне найти решение этой проблемы, и я сердечно благодарю вас за это. Я отправляю это вместе со своими выводами в качестве ответа - person Vidyasagar Machupalli; 13.12.2018

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

Вот шаги: запустите приведенную ниже команду, чтобы применить патч для исправления модулей fluentd-ds, которые не отображают проблему.

kubectl apply -f https://raw.githubusercontent.com/gevou/knative-blueprint/master/knative-serving-release-0.2.2-patched.yaml

Убедитесь, что на каждом из ваших узлов есть метка beta.kubernetes.io/fluentd-ds-ready=true:

kubectl get nodes --selector beta.kubernetes.io/fluentd-ds-ready=true

Если вы получили ответ «Ресурсы не найдены»: выполните следующую команду, чтобы убедиться, что Fluentd DaemonSet работает на всех ваших узлах:

kubectl label nodes — all beta.kubernetes.io/fluentd-ds-ready=”true”

Выполните следующую команду, чтобы убедиться, что демон fluentd-ds готов хотя бы на одном узле:

kubectl get daemonset fluentd-ds --namespace knative-monitoring

введите здесь описание изображения

Подождите немного и запустите эту команду

kubectl proxy

Перейдите в интерфейс Kibana. Для работы прокси может потребоваться пара минут.

  • На странице «Настроить шаблон индекса» введите logstash- * в поле «Шаблон индекса», выберите @timestamp из имени поля «Фильтр времени» и нажмите кнопку «Создать».

  • Чтобы создать второй указатель, нажмите кнопку «Создать образец индекса» в верхнем левом углу страницы. Введите zipkin * в шаблон индекса и выберите timestamp_millis из имени поля Time Filter и нажмите кнопку Create. введите здесь описание изображения

Если проблема все еще существует, следуйте предложениям в комментариях выше, чтобы исправить ошибку.

GET _cat/indices?v

введите здесь описание изображения

Добавлены сквозные результаты здесь

person Vidyasagar Machupalli    schedule 13.12.2018