Логотип Зефирнет

Задайте дополнительные настройки с помощью API панелей инструментов Amazon OpenSearch Service.

Дата:

Сервис Amazon OpenSearch (преемник Amazon Elasticsearch Service) — это полностью управляемый сервис, который можно использовать для рентабельного развертывания и эксплуатации кластеров OpenSearch в масштабе облака AWS. Служба упрощает интерактивный анализ журналов, мониторинг приложений в реальном времени, поиск по веб-сайтам и многое другое, предлагая последние версии OpenSearch, поддержку 19 версий Elasticsearch (версии от 1.5 до 7.10) и возможности визуализации на базе Панели инструментов OpenSearch и Kibana (версии от 1.5 до 7.10).

Распространенным вариантом использования OpenSearch в многопользовательских средах является использование арендаторов в панелях мониторинга OpenSearch и предоставление отдельных шаблонов индексов, панелей мониторинга и визуализаций различным группам в организации. Арендаторы в панелях мониторинга OpenSearch — это не то же самое, что индексы, в которых OpenSearch упорядочивает все данные. У вас по-прежнему может быть несколько индексов для мультитенантности и арендаторов для управления доступом к сохраненным объектам OpenSearch Dashboards.

В этом посте мы сосредоточимся на вводе в действие расширенных параметров для клиентов OpenSearch Dashboards с помощью программных способов, в частности с помощью API расширенных параметров Dashboards. Для более глубокого понимания мультитенантности в OpenSearch см. Мультитенантность OpenSearch Dashboards.

Одним из примеров конфигураций расширенных параметров является развертывание параметров часового пояса в среде, где каждый арендатор привязан к другой географической области с определенным часовым поясом. Мы объясним настройку часового пояса с помощью пользовательского интерфейса и продемонстрируем ее настройку с помощью API дополнительных настроек OpenSearch Dashboards с помощью curl. В этом посте также содержатся рекомендации по другим дополнительным параметрам, которые вы, возможно, захотите включить в свое развертывание.

Чтобы следовать этому сообщению, убедитесь, что у вас есть домен Amazon OpenSearch Service с доступом к OpenSearch Dashboards через роль с правами администратора для домена. Дополнительные сведения о включении механизмов управления доступом для ваших доменов см. Детальный контроль доступа в Amazon OpenSearch Service.

В следующих примерах используется Amazon OpenSearch Service версии 1.0, которая была последней версией на момент написания.

Настройте дополнительные параметры в пользовательском интерфейсе OpenSearch Dashboards.

Чтобы настроить дополнительные параметры через пользовательский интерфейс OpenSearch Dashboards, выполните следующие действия:

  1. Войдите в информационные панели OpenSearch.
  2. Выберите значок пользователя и выберите Переключить арендаторов чтобы выбрать арендатора, для которого вы хотите изменить конфигурацию.

По умолчанию все пользователи OpenSearch Dashboards имеют доступ к двум арендаторам: частному и глобальному. Глобальный арендатор является общим для всех пользователей OpenSearch Dashboards. Частный арендатор является эксклюзивным для каждого пользователя и используется в основном для экспериментов перед публикацией конфигурации другим арендаторам. Перед репликацией в других арендаторах, включая глобальные, обязательно проверьте свои конфигурации в частном клиенте.

  1. Выберите Управление стеком в области навигации, затем выберите Дополнительные настройки.
  2. В желаемом контексте арендатора выберите значение для Часовой пояс для форматирования даты.

В этом примере мы меняем часовой пояс с выбора по умолчанию Браузер в США / Восток.

  1. Выберите Сохранить изменения.

Настройте дополнительные параметры с помощью OpenSearch Dashboards API.

Для сред, в которых вы предпочитаете выполнять операции программно, Amazon OpenSearch Service предоставляет возможность настраивать дополнительные параметры с помощью API дополнительных параметров OpenSearch Dashboards.

Давайте рассмотрим настройку часового пояса с помощью curl.

  1. Во-первых, вам необходимо пройти аутентификацию в конечной точке API с вашим именем пользователя и паролем и получить файлы cookie авторизации в файл. auth.txt:
curl -X POST https://<domain_endpoint>/_dashboards/auth/login -H "osd-xsrf: true" -H "content-type:application/json" -d '{"username":"<username>", "password":"<password>"}' -c auth.txt

В этом примере мы настраиваем панели мониторинга OpenSearch для использования внутренней базы данных пользователей, и пользователь наследует административные разрешения в рамках глобального арендатора. В средах с несколькими арендаторами пользователь должен иметь соответствующие разрешения арендатора. Вы можете увидеть пример этого в следующем разделе, где мы иллюстрируем многопользовательскую среду. Контроль доступа в OpenSearch Dashboards — широкая и важная тема, и было бы несправедливо пытаться втиснуть все это в этот пост. Поэтому здесь мы не будем подробно рассматривать управление доступом. Дополнительную информацию об управлении доступом в многопользовательских панелях управления OpenSearch см. Мультитенантность OpenSearch Dashboards.

Ассоциация auth.txt содержит файлы cookie авторизации, которые вы используете для передачи изменений конфигурации в конечную точку API. То auth.txt файл должен выглядеть примерно так:

# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk. #HttpOnly_<domain_endpoint> FALSE /_dashboards TRUE 0 security_authentication Fe26.2**80fca234dd0974fb6dfe9427e6b8362ba1dd78fc5a71
e7f9803694f40980012b*k9QboTT5A24hs71_wN32Cw*9-RvY2UhS-Cmat4RZPHohTbczyGRjmHezlIlhwePG1gv_P2bgSuZhx9XBV9I-zzdxrZIbJTTpymy4mv1rAB_GRuXjt-6ITUfsG58GrI7TI7D3pWKaw8n6lrhamccGYqL9K_dQrE4kr_godwEDLydR1d_
Oc11jEG98yi_O0qhBTu1kDNzNAEqgXEoaLS--afnbwPS0zvqUc4MUgrfGQOTt7mUoWMC778Tpii4V4gxhAcRqe_KoYQG1LhUq-j9XTHCouzB4qTJ8gR3tlbVYMFwhA**f278b1c9f2c9e4f50924c47bfd1a992234400c6f11ee6f005beecc4201760998*3Aj8gQAIKKPoUR0PX-5doFgZ9zqxlcB3YbfDgJIBNLU

  1. Создайте изменения конфигурации в теле curl и отправьте их с помощью файла cookie авторизации. В этом примере мы включили пример изменения часового пояса на US/Eastern.
curl -X PUT https://<domain_endpoint>/_dashboards/api/saved_objects/config/1.0.0-SNAPSHOT -H "osd-xsrf:true" -H "content-type:application/json" -d '{"attributes":{"dateFormat:tz":"US/Eastern"}}' -b auth.txt

По умолчанию сконструированный API изменяет конфигурацию в частном клиенте, которая является эксклюзивной для каждого пользователя, не может использоваться совместно и идеально подходит для тестирования. Мы предоставляем инструкции по изменению конфигурации в мультитенантных средах позже в этом посте.

Ваш вызов API должен получить ответ, подобный следующему коду, с указанием отправленных вами изменений:

{"id":"1.0.0-SNAPSHOT","type":"config","updated_at":"2021-09-06T19:59:42.425Z","version":"WzcsMV0=","namespaces":["default"],"attributes":{"dateFormat:tz":"US/Eastern"}}

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

curl -X PUT https://<domain_endpoint>/_dashboards/api/saved_objects/config/1.0.0-SNAPSHOT -H "osd-xsrf:true" -H "content-type:application/json" -d '{ "attributes":{ "dateFormat:tz":"US/Eastern", "dateFormat:dow":"Monday" } }' -b auth.txt

Чтобы получить последние изменения конфигурации, создайте запрос GET следующим образом:

curl -X GET https://<domain_endpoint>/_dashboards/api/saved_objects/config/1.0.0-SNAPSHOT -H "osd-xsrf:true" -H "content-type:application/json" -b auth.txt

Настройте дополнительные параметры с помощью OpenSearch Dashboards API в многопользовательских средах.

Клиенты в панелях мониторинга OpenSearch обычно используются для совместного использования пользовательских шаблонов индексов, визуализаций, панелей мониторинга и других объектов OpenSearch с различными группами или организациями.

API OpenSearch Dashboards предоставляет возможность изменять дополнительные параметры в разных арендаторах. В предыдущем разделе мы рассмотрели внесение дополнительных изменений в конфигурацию для частного клиента. Теперь мы рассмотрим аналогичный сценарий для нескольких арендаторов.

  1. Во-первых, вам необходимо пройти аутентификацию в конечной точке API и получить файлы cookie авторизации в файл. auth.txt. Вы можете создать этот запрос так же, как в среде с одним арендатором, как описано в предыдущем разделе.

В мультитенантных средах убедитесь, что вы настроили роль пользователя с соответствующими разрешениями арендатора. Один из шаблонов заключается в том, чтобы связать пользователя с kibana_user и настраиваемая группа с разрешениями арендатора. В нашем примере мы связали пользователя-администратора арендатора tenant-a_admin_user к двум ролям, как показано в следующем коде: kibana_user системная роль и пользовательский tenant-a_admin_role включая разрешения арендатора.

GET _plugins/_security/api/account
{ "user_name" : "tenant-a_admin_user", "is_reserved" : false, "is_hidden" : false, "is_internal_user" : true, "user_requested_tenant" : "tenant-a", "backend_roles" : [ "" ], "custom_attribute_names" : [ ], "tenants" : { "global_tenant" : true, "tenant-a_admin_user" : true, "tenant-a" : true }, "roles" : [ "tenant-a_admin_role", "kibana_user" ]
} GET _plugins/_security/api/roles/tenant-a_admin_role
{ "tenant-a_admin_role" : { "reserved" : false, "hidden" : false, "cluster_permissions" : [ ], "index_permissions" : [ ], "tenant_permissions" : [ { "tenant_patterns" : [ "tenant-a" ], "allowed_actions" : [ "kibana_all_write" ] } ], "static" : false }
}

После аутентификации в OpenSearch Dashboards API auth.txt содержит файлы cookie авторизации, которые вы используете для передачи изменений конфигурации в конечную точку API. Содержание auth.txt файл должен быть похож на тот, который мы проиллюстрировали в предыдущем разделе.

  1. Создайте изменения конфигурации, добавив securitytenant заголовок. В этом примере мы изменяем часовой пояс и день недели в tenant-a:
curl -X PUT https://<domain_endpoint>/_dashboards/api/saved_objects/config/1.0.0-SNAPSHOT -H "osd-xsrf:true" -H "content-type:application/json" -H "securitytenant: tenant-a" -d '{ "attributes":{ "dateFormat:tz":"US/Eastern", "dateFormat:dow":"Monday" } }' -b auth.txt

Конечная точка OpenSearch Dashboards API возвращает ответ, подобный следующему:

{"id":"1.0.0-SNAPSHOT","type":"config","updated_at":"2021-10-10T17:41:47.249Z","version":"WzEsMV0=","namespaces":["default"],"attributes":{"dateFormat:tz":"US/Eastern","dateFormat:dow":"Monday"}}

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

Заключение

В этом посте вы использовали пользовательский интерфейс и API Amazon OpenSearch Service Dashboards для настройки дополнительных параметров для среды с одним и несколькими арендаторами. Масштабное внедрение панелей мониторинга OpenSearch в многопользовательских средах требует более эффективных методов, чем просто использование пользовательского интерфейса. Это особенно важно в средах, где вы обслуживаете централизованные домены ведения журналов и мониторинга для разных команд. Вы можете использовать API-интерфейсы OpenSearch Dashboards, которые мы проиллюстрировали в этом посте, и внедрить свои расширенные настройки в код своей инфраструктуры, чтобы ускорить развертывание!

Дайте нам знать о ваших вопросах и других темах, которые вы хотели бы, чтобы мы осветили в разделе комментариев.


Об авторах

Прашант Агравал является специалистом по архитектуре решений в Amazon Web Services, базирующейся в Сиэтле, штат Вашингтон. Прашант тесно сотрудничает с командой Amazon OpenSearch, помогая клиентам перенести свои рабочие нагрузки в облако AWS. До прихода в AWS Прашант помогал различным клиентам использовать Elasticsearch для поиска и аналитики.

Эврен Сен работает архитектором решений в AWS, специализируясь на стратегических клиентах в сфере финансовых услуг. Он помогает своим клиентам создавать облачный центр передового опыта, проектировать и развертывать решения в облаке AWS. Вне AWS Эврен любит проводить время с семьей и друзьями, путешествовать и кататься на велосипеде.

Источник: https://aws.amazon.com/blogs/big-data/set-advanced-settings-with-the-amazon-opensearch-service-dashboards-api/

Spot_img

Последняя разведка

Spot_img

Чат с нами

Всем привет! Могу я чем-нибудь помочь?