Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
K2Bridge (мост Кибана-Кусто) позволяет использовать Azure Data Explorer в качестве источника данных и визуализировать эти данные в Kibana. K2Bridge — это контейнерное приложение с открытым исходным кодом. Он действует как прокси-сервер между экземпляром Kibana и кластером Azure Data Explorer. В этой статье описывается, как использовать K2Bridge для создания этого подключения.
K2Bridge переводит запросы Kibana на язык запросов Kusto (KQL) и отправляет результаты Azure Data Explorer обратно в Kibana.
K2Bridge поддерживает вкладки Kibana: Discover, Visualize и Dashboard.
Вкладка Discover (Обнаружение) позволяет выполнять следующее:
- искать и исследовать данные;
- отфильтровать результаты;
- добавить или удалить поля в таблице результатов;
- просматривать содержимое записи;
- сохранять поисковые запросы и делиться ими.
Вкладка Visualize (Визуализация) позволяет выполнять следующее:
- создание линейчатых и круговых диаграмм, таблиц данных, тепловых карт и других визуализаций;
- сохранение визуализаций.
Вкладка Dashboard (Панель мониторинга) позволяет выполнять следующее:
- создание панелей из новых или сохраненных ранее визуализаций;
- Сохраните панель мониторинга.
На следующем изображении показан экземпляр Kibana, связанный с Azure Data Explorer с помощью K2Bridge. Пользовательский опыт в Kibana не изменился.
Предварительные требования
Прежде чем вы сможете визуализировать данные из Azure Data Explorer в Kibana, подготовьте следующее.
- Подписка Azure. Создайте бесплатную учетную запись Azure.
- Кластер и база данных Azure Data Explorer. Вам нужно знать URL-адрес кластера и имя базы данных.
- Helm версии 3, диспетчер пакетов Kubernetes.
- Кластер службы Azure Kubernetes (AKS) или любой другой кластер Kubernetes. Используйте версию 1.21.2 или более новую, и не менее трех узлов Службы Kubernetes Azure. Версия 1.21.2 протестирована и проверена. Если вам нужен кластер AKS, узнайте, как развернуть кластер AKS с помощью Azure CLI или с помощью портала Azure.
- Субъект-служба Microsoft Entra, авторизованный для просмотра данных в Azure Data Explorer, включая идентификатор клиента и секрет клиента. Кроме того, можно использовать управляемое удостоверение, назначаемое системой.
Если вы решили использовать сервисный субъект Microsoft Entra, вам нужно создать сервисный субъект Microsoft Entra. Для установки требуется идентификатор клиента и секрет. Мы рекомендуем субъект-службу с разрешением просмотра и не рекомендуем вам использовать разрешения более высокого уровня. Чтобы назначить разрешения, см. статью Управление разрешениями базы данных на портале Azure или используйте команды управления, чтобы управлять ролями безопасности базы данных.
Если вы решили использовать удостоверение, назначаемое системой, вам потребуется получить ClientID управляемого удостоверения пула агентов (который находится в созданной группе ресурсов "[MC_xxxx]")
Запустите K2Bridge в службе Azure Kubernetes (AKS)
По умолчанию диаграмма Helm K2Bridge ссылается на общедоступный образ, расположенный в Microsoft Container Registry (MCR). MCR не требует никаких учетных данных.
Загрузите необходимые карты Helm.
Добавьте в Helm зависимость Elasticsearch. Зависимость требуется, потому что K2Bridge использует небольшой внутренний экземпляр Elasticsearch. Экземпляр обслуживает запросы, связанные с метаданными, такие как запросы шаблонов индекса и сохраненные запросы. Этот внутренний экземпляр не сохраняет бизнес-данные. Вы можете рассматривать экземпляр как деталь реализации.
Чтобы добавить зависимость Elasticsearch в Helm, выполните следующие команды:
helm repo add elastic https://helm.elastic.co helm repo updateЧтобы получить диаграмму K2Bridge из каталога диаграмм репозитория GitHub:
Клонируйте репозиторий с GitHub.
Перейдите в каталог корневого репозитория K2Bridges.
Выполните следующую команду:
helm dependency update charts/k2bridge
Разверните K2Bridge.
Задайте для переменных правильные значения для вашей среды.
ADX_URL=[YOUR_ADX_CLUSTER_URL] #For example, https://mycluster.westeurope.kusto.windows.net ADX_DATABASE=[YOUR_ADX_DATABASE_NAME] ADX_CLIENT_ID=[SERVICE_PRINCIPAL_CLIENT_ID] ADX_CLIENT_SECRET=[SERVICE_PRINCIPAL_CLIENT_SECRET] ADX_TENANT_ID=[SERVICE_PRINCIPAL_TENANT_ID]Примечание.
Если вы используете управляемое удостоверение, значение
ADX_CLIENT_IDпредставляет собой идентификатор клиента управляемого удостоверения, расположенного в созданной группе ресурсов[_MC_xxxx_]. Дополнительные сведения см. в статье о группе ресурсов MC_.ADX_CLIENT_SECRETтребуется только в том случае, если вы используете принципал службы Microsoft Entra.При желании включите телеметрию Application Insights. Если вы впервые используете Application Insights, создайте ресурс Application Insights. Скопируйте ключ инструментария в переменную.
APPLICATION_INSIGHTS_KEY=[INSTRUMENTATION_KEY] COLLECT_TELEMETRY=trueУстановите диаграмму K2Bridge. Визуализации и панели мониторинга поддерживаются только в версии Kibana 7.10. Последние теги образов: 6.8_latest и 7.16_latest; они поддерживают Kibana 6.8 и Kibana 7.10 соответственно. Образ с тегом "7.16_latest" поддерживает версию Kibana OSS 7.10.2 и использует внутренний экземпляр Elasticsearch версии 7.16.2.
Если использовался сервисный субъект Microsoft Entra:
helm install k2bridge charts/k2bridge -n k2bridge --set settings.adxClusterUrl="$ADX_URL" --set settings.adxDefaultDatabaseName="$ADX_DATABASE" --set settings.aadClientId="$ADX_CLIENT_ID" --set settings.aadClientSecret="$ADX_CLIENT_SECRET" --set settings.aadTenantId="$ADX_TENANT_ID" [--set image.tag=6.8_latest/7.16_latest] [--set image.repository=$REPOSITORY_NAME/$CONTAINER_NAME] [--set privateRegistry="$IMAGE_PULL_SECRET_NAME"] [--set settings.collectTelemetry=$COLLECT_TELEMETRY]Или, если использовалась управляемая идентификация:
helm install k2bridge charts/k2bridge -n k2bridge --set settings.adxClusterUrl="$ADX_URL" --set settings.adxDefaultDatabaseName="$ADX_DATABASE" --set settings.aadClientId="$ADX_CLIENT_ID" --set settings.useManagedIdentity=true --set settings.aadTenantId="$ADX_TENANT_ID" [--set image.tag=7.16_latest] [--set settings.collectTelemetry=$COLLECT_TELEMETRY]В разделе Конфигурация вы можете найти полный набор параметров конфигурации.
Вывод предыдущей команды предлагает следующую команду Helm для развертывания Kibana. При желании запустите эту команду:
helm install kibana elastic/kibana --version 7.17.3 -n k2bridge --set image=docker.elastic.co/kibana/kibana-oss --set imageTag=7.10.2 --set elasticsearchHosts=http://k2bridge:8080Используйте переадресацию портов для доступа к Kibana на локальном хосте.
kubectl port-forward service/kibana-kibana 5601 --namespace k2bridgeПодключитесь к Kibana, перейдя в http://127.0.0.1:5601.
Предоставьте пользователям доступ к Kibana. Для этого есть несколько способов. Используемый вами метод во многом зависит от вашего варианта использования.
Например, вы можете предоставить доступ к сервису как к сервису типа LoadBalancer. Для этого добавьте параметр --set service.type=LoadBalancer в предыдущую команду установки Kibana Helm.
Затем запустите эту команду:
kubectl get service -w -n k2bridgeВыходные данные должны выглядеть так:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kibana-kibana LoadBalancer xx.xx.xx.xx <pending> 5601:30128/TCP 4m24sЗатем вы можете использовать появившееся сгенерированное значение EXTERNAL-IP. Используйте его для доступа к Kibana. Для этого откройте браузер и перейдите к <EXTERNAL-IP>:5601.
Настройте шаблоны индекса для доступа к вашим данным.
В новом экземпляре Kibana:
- Откройте Kibana.
- Перейдите в раздел Управление.
- Выберите Шаблоны индекса.
- Создайте шаблон индекса. Имя индекса должно точно соответствовать имени таблицы или имени функции без звездочки (*). Вы можете скопировать соответствующую строку из списка.
Примечание.
Чтобы запустить K2Bridge на других поставщиках Kubernetes, измените значение Elasticsearch storageClassName в values.yaml, чтобы оно соответствовало предложенному поставщиком.
Обнаружение данных
Когда Azure Data Explorer настроен в качестве источника данных для Kibana, вы можете использовать Kibana для исследования данных.
В Kibana выберите вкладку Discover (Обнаружение).
В списке шаблонов индекса выберите подходящий шаблон индекса для исследуемого источника данных. В нашем примере используется шаблон индекса для таблицы Azure Data Explorer.
Если в ваших данных есть поле временного фильтра, вы можете указать временной диапазон. В правом верхнем углу страницы Обнаружить выберите временной фильтр. По умолчанию на странице отображаются данные за последние 15 минут.
В таблице результатов показаны первые 500 записей. Вы можете развернуть документ, чтобы изучить данные в его полях в формате JSON или таблицы.
Вы можете добавить определенные столбцы в таблицу результатов, выбрав add (добавить) рядом с именем поля. По умолчанию таблица результатов включает столбец _source и столбец Time, если существует поле времени.
В строке запроса можно искать данные следующим образом:
- Ввод поискового запроса.
- Использование синтаксиса запросов Lucene. Например:
- Выполните поиск по запросу «ошибка», чтобы найти все записи, содержащие это значение.
- Выполните поиск по запросу «состояние: 200», чтобы получить все записи со значением статуса 200.
- Использование логических операторов AND, OR, и NOT.
- Использование подстановочных знаков звездочки (*) и вопросительного знака (?). Например, запрос «город назначения: L*» соответствует записям, в которых значение города назначения начинается с «L» или «l». (K2Bridge не чувствителен к регистру.)
Примечание.
Поддерживается только синтаксис запросов Lucene в Kibana. Не используйте параметр KQL, который означает "язык запросов Kibana".
Совет
В разделе Поиск можно найти дополнительные правила и логику поиска.
Чтобы отфильтровать результаты поиска, используйте список Available field (Доступные поля). В списке полей вы можете увидеть следующее.
- Пять наиболее распространённых значений для поля.
- Количество записей, содержащих поле.
- Процент записей, содержащих каждое значение.
Совет
Используйте увеличительное стекло, чтобы найти все записи с определенным значением.
Вы также можете использовать лупу для фильтрации результатов и просмотра представления в формате таблицы результатов для каждой записи в таблице результатов.
Выберите Save (Сохранить) или Share (Поделиться), чтобы использовать этот запрос повторно.
Визуализация данных
Используйте визуализации Kibana для быстрого просмотра данных Azure Data Explorer.
Создание визуализации на вкладке Discover (Обнаружение)
Чтобы создать визуализацию с вертикальными столбцами, на вкладке Discover (Обнаружение) найдите боковую панель Available fields (Доступные поля).
Выберите имя поля, а затем нажмите кнопку Visualize (Визуализировать).
Откроется вкладка Visualize (Визуализация) и отобразится нужная визуализация. Чтобы изменить данные и метрики визуализации, воспользуйтесь разделом Создание визуализации на вкладке "Визуализация".
Создание визуализации на вкладке "Визуализация"
Перейдите на вкладку Visualize (Визуализация) и щелкните Create visualization (Создать визуализацию).
В окне New Visualization (Новая визуализация) выберите тип визуализации.
Когда визуализация будет создана, вы сможете изменить метрики собрать их в один контейнер.
Примечание.
K2Bridge поддерживает один контейнерный агрегат. Для некоторых агрегатов поддерживаются параметры поиска. Используйте синтаксис Lucene, а не вариант KQL, который обозначает синтаксис языка запросов Kibana.
Внимание
- Поддерживаются следующие визуализации:
Vertical bar,Area chart,Line chart,Horizontal bar,Pie chart,Gauge,Data table,Heat map,Goal chartиMetric chart. - Поддерживаются следующие метрики:
Average,Count,Max,Median,Min,Percentiles,Standard deviation,Sum,Top hitsиUnique count. - Метрика
Percentiles ranksне поддерживается. - Использование бакетных агрегаций необязательно: вы можете визуализировать данные без бакетной агрегации.
- Поддерживаются следующие контейнеры:
No bucket aggregation,Date histogram,Filters,Range,Date range,HistogramиTerms. - Контейнеры
IPv4 rangeиSignificant termsне поддерживаются.
создание панелей мониторинга;
Вы можете создавать панели мониторинга с визуализациями Kibana для суммирования, сравнения и противопоставления данных Azure Data Explorer в наглядных представлениях.
Чтобы создать панель мониторинга, выберите вкладку Dashboard (Панель мониторинга) и щелкните Create new dashboard (Создать панель мониторинга).
Откроется новая панель мониторинга в режиме редактирования.
Чтобы добавить новую панель визуализации, щелкните Create new (Создать).
Чтобы добавить ранее созданную визуализацию, щелкните Add an existing (Добавить существующую) и выберите визуализацию.
Чтобы переместить панели, упорядочить их по приоритету, изменить их размер и так далее, щелкните Edit (Изменить) и примените следующие возможности:
- чтобы переместить панель, щелкните заголовок панели и, удерживая его, перетащите в новое место;
- Чтобы изменить размер панели, щелкните элемент управления изменением размера, затем перетащите его до нужных размеров.