Руководство. Мониторинг приложений Service Fabric с помощью ELK
Это руководство представляет собой четвертую часть цикла. В нем показано, как использовать стек ELK (Elasticsearch, Logstash и Kibana) для мониторинга приложений Service Fabric, работающих в Azure.
В четвертой части цикла вы узнаете, как выполнять такие задачи:
- настройка сервера ELK в Azure;
- настройка Logstash для получения журналов из Центров событий;
- визуализация журналов платформы и приложений в Kibana.
Из этого цикла руководств вы узнаете, как выполнять следующие задачи:
Необходимые компоненты
Перед началом работы с этим руководством выполните следующие действия:
- Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.
- Настройте приложение на передачу журналов в расположение, указанное во второй части цикла.
- Выполните инструкции в третьей части цикла, чтобы настроить в запущенном кластере Service Fabric отправку журналов в Центры событий.
- В Центрах событий требуется использовать политику с разрешениями на ожидание передачи данных и связанным первичным ключом из третьей части цикла.
Скачивание примера приложения для голосования
Если вы не создавали пример приложения для голосования в первой части этой серии руководств, вы можете скачать его. В окне терминала выполните следующую команду, чтобы клонировать репозиторий с примером приложения на локальный компьютер.
git clone https://github.com/Azure-Samples/service-fabric-java-quickstart
Создание сервера ELK в Azure
Для этого руководства можно использовать предварительно настроенную среду ELK. При наличии такой среды перейдите к разделу о настройке Logstash. Если у вас нет такой среды, выполните следующие действия, чтобы создать ее в Azure.
Создайте ELK с сертификацией от Bitnami в Azure. Для этого руководства нет конкретных требований к созданию этого сервера.
Перейдите к ресурсу на портале Azure и выберите вкладку Диагностика загрузки в разделе Поддержка и устранение неполадок. Затем щелкните вкладку Журнал последовательного вывода.
В журналах выполните поиск пароля, который требуется для получения доступа к экземпляру Kibana. Результат будет выглядеть, как следующий фрагмент кода:
[ 25.932766] bitnami[1496]: ######################################################################### [ 25.948656] bitnami[1496]: # # [ 25.962448] bitnami[1496]: # Setting Bitnami application password to '[PASSWORD]' # [ 25.978137] bitnami[1496]: # (the default application username is 'user') # [ 26.004770] bitnami[1496]: # # [ 26.029413] bitnami[1496]: #########################################################################
На странице обзора сервера на портале Azure нажмите кнопку "Подключиться", чтобы получить данные для входа.
Подключитесь к серверу по протоколу SSH, на котором хранится образ ELK, с помощью следующей команды.
ssh [USERNAME]@[CONNECTION-IP-OF-SERVER] Example: ssh testaccount@104.40.63.157
Настройка ELK
Сначала загрузите среду ELK.
sudo /opt/bitnami/use_elk
Если используется существующая среда, приостановите работу службы Logstash, выполнив следующую команду.
sudo /opt/bitnami/ctlscript.sh stop logstash
Чтобы установить подключаемый модуль Logstash для Центров событий, выполните следующую команду.
logstash-plugin install logstash-input-azureeventhub
Создайте файл конфигурации Logstash с приведенным ниже содержимым или измените содержимое существующего файла. Если вы создаете файл, сохраните его в каталоге
/opt/bitnami/logstash/conf/access-log.conf
при использовании образа ELK от Bitnami в Azure.input { azureeventhub { key => "[RECEIVER-POLICY-KEY-FOR-EVENT-HUB]" username => "[RECEIVER-POLICY-NAME]" namespace => "[EVENTHUB-NAMESPACENAME]" eventhub => "[EVENTHUB-NAME]" partitions => 4 } } output { elasticsearch { hosts => [ "127.0.0.1:9200" ] } }
Чтобы проверить конфигурацию, выполните следующую команду:
/opt/bitnami/logstash/bin/logstash -f /opt/bitnami/logstash/conf/ --config.test_and_exit
Запустите службу Logstash.
sudo /opt/bitnami/ctlscript.sh start logstash
Проверьте работу Elasticsearch, чтобы убедиться в том, что вы получаете данные.
curl 'localhost:9200/_cat/indices?v'
Перейдите на панель мониторинга Kibana по адресу http://SERVER-IP и введите имя пользователя и пароль для Kibana. Если вы использовали образ ELK в Azure, имя пользователя по умолчанию — user, а пароль такой же, как полученный на вкладке Диагностика загрузки.
Следующие шаги
Из этого руководства вы узнали, как:
- запуск сервера ELK в Azure;
- настройка сервера на получение диагностических данных из кластера Service Fabric.
Перейдите к следующему руководству: