Блог Amazon Web Services
Начинаем работу с Amazon Managed Service for Grafana
Зарегистрируйтесь, чтобы получать приглашения на мероприятия AWS на русском языке.
Оригинал статьи: ссылка (Imaya Kumar Jagannathan, Senior Solution Architect; Michael Hausenblas, Open Source Product Developer Advocate)
Amazon Managed Service for Grafana (AMG) – это полностью управляемый и безопасный сервис для визуализации данных, который позволяет клиентам быстро запрашивать, сопоставлять и визуализировать операционные метрики, логи и трассировки своих приложений из нескольких источников. AMG основан на проекте Grafana с открытым исходным кодом. Это широко распространённый инструмент визуализации данных, который популярен благодаря поддержке многих источников данных. Он также позволяет добавлять новые источники с помощью плагинов. Разработанный совместно с Grafana Labs сервис AMG управляет созданием, настройкой, масштабированием и обслуживанием Grafana, что избавляет клиентов от необходимости делать это самостоятельно. Клиенты также получают встроенные возможности по управлению безопасностью, обеспечивающие соответствие требованиям организации, например, единую регистрацию (single sign-on), тонкую настройку доступа к данным и аудит-отчёты. AMG интегрируется с различными сервисами AWS для сбора операционных данных, например, Amazon CloudWatch, Amazon Elasticsearch Service, Amazon Timestream, AWS IoT SiteWise, AWS X-Ray и Amazon Managed Service for Prometheus (AMP). Для подключения баз данных с открытым исходным кодом, инструментов для мониторинга от других вендоров, а также других облачных сервисов можно воспользоваться соответствующими плагинами. С помощью AMG вы можете с лёгкостью визуализировать информацию из нескольких сервисов, аккаунтов и регионов AWS в единой информационной панели Grafana.
Также вы можете использовать Grafana Enterprise, чтобы получить доступ к дополнительным возможностям и плагинам. Grafana Enterprise позволяет собирать данные из AppDynamics, DataDog, Dynatrace, New Relic, MongoDB, Oracle Database, ServiceNow, Snowflake, Splunk и Wavefront. Кроме того, вам будут доступны поддержка и тренинги напрямую от Grafana Labs, что поможет вам легко изучать и использовать продвинутые возможности Grafana. Узнать больше можно по ссылке.
Подготовительные шаги
Для гибкой и удобной работы с AMG мы используем AWS Single Sign-On (SSO) для управления пользователями. AWS SSO доступен после включения организаций (AWS Organizations). Чтобы проверить, является ли аккаунт частью организации, откройте ссылку https://console.aws.amazon.com/organizations/. Вы должны увидеть страницу, подобную приведённой ниже. Если организация не активна, создайте её.
AMG интегрируется с AWS SSO, поэтому вы можете легко назначить в рабочей среде (workspace) AMG доступ пользователям и группам из уже существующей директории, такой как Active Directory, LDAP и Okta. Это позволит им использовать для входа те же имя пользователя и пароль, что и для других систем. Также это поможет вам обеспечить соблюдение требований безопасности вашей компании, таких как двухфакторная аутентификация или уровень сложности паролей.
Если у вас нет существующей директории пользователей, или вы не хотите настраивать интеграцию с внешними провайдерами идентификационных данных на основе стандарта Security Assertion Markup Language (SAML) 2.0, то вы можете создавать локальных пользователей в AWS SSO и использовать их для входа в рабочую среду Grafana:
После того, как мы закончили с настройкой AWS SSO и AWS Organizations, мы готовы перейти к настройке самого AMG.
Настройка AMG в вашем аккаунте AWS
Вы можете с лёгкостью разворачивать автоматически масштабируемые рабочие среды Grafana (виртуальные серверы Grafana) по требованию. Они позволят вам создавать единые информационные панели для нескольких источников данных. До того, как мы начнём использовать AMG в следующем разделе, нам нужно его настроить. Мы будем использовать консоль AWS, чтобы показать необходимые шаги, а также дадим дополнительные комментарии, которые необходимо учитывать при выполнении каждого шага.
После нажатия кнопки Create workspace в правом верхнем углу на стартовой странице консоли AMG введите название для вашей рабочей среды и, если хотите, описание:
Далее необходимо определить права доступа. Мы предлагаем разрешить сервису самостоятельно создать необходимые роли и политики IAM для доступа к данным в сервисах AWS, кроме тех случаев, когда вы хотите самостоятельно произвести более тонкую настройку.
На этом шаге вы также включаете AWS Single Sign-On (SSO) для входа в AMG. Именно таким способом мы будем контролировать доступ к рабочим средам Grafana:
Если вы не настроили управление пользователями в AWS SSO, как было рекомендовано выше, вы можете сделать это сейчас, используя встроенные возможности AMG. Для этого нажмите на кнопку Create user:
После этого заполните форму с информацией о пользователе, введя email-адрес, имя и фамилию:
Вскоре вы получите письмо с приглашением в AWS SSO:
Теперь пользователь (в нашем случае grafana-user
) может использовать для входа URL-адрес SSO (формата d-xxxxx-awsapps.com/start
) или адрес рабочей среды Grafana, доступный на странице в консоли с детальной информацией. Для входа необходимо использовать одноразовый пароль, который вы как администратор получаете при создании пользователя в SSO.
Возвращаемся к настройке рабочей среды: мы почти закончили, осталось выбрать источники данных, которые будут использоваться в AMG. Мы выбрали все опции, как показано ниже, чтобы попробовать все доступные возможности, но вы можете ограничить их в соответствии с требуемым сценарием использования:
Как обычно, в конце вы можете проверить введённые настройки и затем подтвердить создание новой рабочей среды AMG:
После создания рабочей среды вы можете выбрать пользователей, которым будет предоставлен доступ к ней. Можно настроить как отдельных пользователей AWS SSO, так и группу пользователей:
Мы закончили с административной настройкой, давайте теперь перейдём к следующим шагам. Мы можем зайти в рабочую среду AMG под пользователем, указанным выше. Для входа вы можете перейти на URL-адрес рабочей среды со страницы детальной информации (см. предыдущий скриншот) и использовать данные доступа SSO (в нашем случае это пользователь grafana-user
), после чего вы должны увидеть AMG в списке доступных приложений:
После этого вам необходимо выбрать AMG, и вы попадёте в свою рабочую среду Grafana:
На этом настройка закончена, и мы готовы начать использовать AMG. Давайте первым делом получим данные из Prometheus.
Интеграция с Amazon Managed Service for Prometheus (AMP) и другими источниками данных
Amazon Managed Service for Grafana поддерживает различные источники данных, такие как Amazon Managed Service for Prometheus, Amazon CloudWatch, AWS X-Ray, Amazon Elasticsearch, Amazon Timestream, AWS IoT SiteWise plugin и другие. Полный список доступен по ссылке.
AMG может автоматически находить аккаунты и ресурсы внутри AWS, поддерживаемые в качестве источников данных, а также настраивать их с использованием прав доступа, предоставленных с помощью CloudFormation.
С помощью этой функциональности вы можете увидеть аккаунты и созданные в них ресурсы для шести сервисов AWS, с которыми AMG интегрируется «из коробки». Благодаря правам доступа, которые вы настроили при создании рабочей среды, теперь вы можете просто выбрать необходимый аккаунт и ресурс, а AMG автоматически настроит его в качестве источника данных, используя правильную роль IAM. Вам не придётся вручную копировать и вставлять какие-либо настройки.
Настройка источника данных AWS вручную
Вы также можете вручную настроить необходимые источники данных, используя следующие шаги:
- Выберите плагин для требуемого источника данных
- Выберите один из следующих механизмов аутентификации:
- Ключ доступа и секретный ключ
- Файл с данными доступа
- ARN роли, которая будет использоваться для аутентификации
- Выберите регион по умолчанию (опционально)
В примере ниже мы подключаем Amazon Managed Prometheus (AMP) в качестве источника данных:
После подключения вы можете начать создавать информационные панели, используя подключенные источники данных, и запрашивать необходимые метрики с использованием PromQL. Ниже приведён скриншот, показывающий метрики кластера Amazon EKS, которые были получены из AMP:
Информационные панели, доступные «из коробки»
Некоторые плагины для источников данных в AWS поставляются с уже доступными «из коробки» информационными панелями, чтобы позволить вам быстро начать работу. Вы можете найти их на вкладке Dashboards, как показано ниже:
Вы можете с лёгкостью импортировать информационную панель, используя кнопку Import. Ниже представлен скриншот информационной панели Amazon EC2:
Создание своих информационных панелей
Grafana поддерживает разные виды визуализации для создания информационных панелей с использованием различных источников данных. Ниже показана панель с трассировкой AWS X-Ray демонстрационного приложения из воркшопа One Observability. Вы можете использовать язык фильтрации AWS X-Ray для создания информационных панелей Grafana с визуализацией данных трассировок, как показано ниже:
Вы также можете исследовать отдельную трассировку и увидеть её сегменты на временной шкале, просто нажав на идентификатор трассировки. Кроме того, Grafana позволяет перейти напрямую в консоль AWS X-Ray с использованием глубоких ссылок (deep links). Там вы можете воспользоваться инструментом X-Ray Analytics.
Вы можете использовать большую коллекцию уже готовых информационных панелей Grafana, созданных сообществом. Их можно импортировать в вашу рабочую среду Grafana, чтобы быстро начать визуализировать и исследовать данные из различных популярных источников.
Заключение
С помощью AMG (а также AMP) вы можете использовать Grafana и Prometheus, не беспокоясь об управлении и обслуживании инфраструктурных ресурсов.
Более того, вы можете использовать открытые стандарты, такие как OpenTelemetry от CNCF с нашим дистрибутивом AWS Distro for OpenTelemetry, который вместе с нашими управляемыми сервисами для Grafana и Prometheus, позволяют создать мощную систему observability на AWS.