Блог 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/. Вы должны увидеть страницу, подобную приведённой ниже. Если организация не активна, создайте её.

Консоль AWS Organizations

Существующая организация

AMG интегрируется с AWS SSO, поэтому вы можете легко назначить в рабочей среде (workspace) AMG доступ пользователям и группам из уже существующей директории, такой как Active Directory, LDAP и Okta. Это позволит им использовать для входа те же имя пользователя и пароль, что и для других систем. Также это поможет вам обеспечить соблюдение требований безопасности вашей компании, таких как двухфакторная аутентификация или уровень сложности паролей.

Если у вас нет существующей директории пользователей, или вы не хотите настраивать интеграцию с внешними провайдерами идентификационных данных на основе стандарта Security Assertion Markup Language (SAML) 2.0, то вы можете создавать локальных пользователей в AWS SSO и использовать их для входа в рабочую среду Grafana:

Консоль SSO: создание пользователя

Консоль SSO: создание пользователя

После того, как мы закончили с настройкой AWS SSO и AWS Organizations, мы готовы перейти к настройке самого AMG.

Настройка AMG в вашем аккаунте AWS

Вы можете с лёгкостью разворачивать автоматически масштабируемые рабочие среды Grafana (виртуальные серверы Grafana) по требованию. Они позволят вам создавать единые информационные панели для нескольких источников данных. До того, как мы начнём использовать AMG в следующем разделе, нам нужно его настроить. Мы будем использовать консоль AWS, чтобы показать необходимые шаги, а также дадим дополнительные комментарии, которые необходимо учитывать при выполнении каждого шага.

После нажатия кнопки Create workspace в правом верхнем углу на стартовой странице консоли AMG введите название для вашей рабочей среды и, если хотите, описание:

Создание новой рабочей среды AMG

Создание новой рабочей среды AMG

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

На этом шаге вы также включаете AWS Single Sign-On (SSO) для входа в AMG. Именно таким способом мы будем контролировать доступ к рабочим средам Grafana:

Настройка рабочей среды AMG

Настройка рабочей среды AMG

Если вы не настроили управление пользователями в AWS SSO, как было рекомендовано выше, вы можете сделать это сейчас, используя встроенные возможности AMG. Для этого нажмите на кнопку Create user:

Включение SSO путём создания пользователя

Включение SSO путём создания пользователя

После этого заполните форму с информацией о пользователе, введя email-адрес, имя и фамилию:

Создание пользователя SSO

Создание пользователя SSO

Вскоре вы получите письмо с приглашением в AWS SSO:

Письмо с приглашением пользователя в SSO

Письмо с приглашением пользователя в SSO

Теперь пользователь (в нашем случае grafana-user) может использовать для входа URL-адрес SSO (формата d-xxxxx-awsapps.com/start) или адрес рабочей среды Grafana, доступный на странице в консоли с детальной информацией. Для входа необходимо использовать одноразовый пароль, который вы как администратор получаете при создании пользователя в SSO.

Возвращаемся к настройке рабочей среды: мы почти закончили, осталось выбрать источники данных, которые будут использоваться в AMG. Мы выбрали все опции, как показано ниже, чтобы попробовать все доступные возможности, но вы можете ограничить их в соответствии с требуемым сценарием использования:

Настройка прав доступа рабочей среды AMG

Настройка прав доступа рабочей среды AMG

Как обычно, в конце вы можете проверить введённые настройки и затем подтвердить создание новой рабочей среды AMG:

Обзор настроек новой рабочей среды AMG

Обзор настроек новой рабочей среды AMG

После создания рабочей среды вы можете выбрать пользователей, которым будет предоставлен доступ к ней. Можно настроить как отдельных пользователей AWS SSO, так и группу пользователей:

Предоставление доступа пользователю

Предоставление доступа пользователю

Мы закончили с административной настройкой, давайте теперь перейдём к следующим шагам. Мы можем зайти в рабочую среду AMG под пользователем, указанным выше. Для входа вы можете перейти на URL-адрес рабочей среды со страницы детальной информации (см. предыдущий скриншот) и использовать данные доступа SSO (в нашем случае это пользователь grafana-user), после чего вы должны увидеть AMG в списке доступных приложений:

Стартовая страница SSO с приложением AMG

Стартовая страница SSO с приложением AMG

После этого вам необходимо выбрать AMG, и вы попадёте в свою рабочую среду Grafana:

Стартовая страница Grafana

Стартовая страница 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

Автоматически найденные источники данных в AWS

Создание источника данных

Создание источника данных

С помощью этой функциональности вы можете увидеть аккаунты и созданные в них ресурсы для шести сервисов AWS, с которыми AMG интегрируется «из коробки». Благодаря правам доступа, которые вы настроили при создании рабочей среды, теперь вы можете просто выбрать необходимый аккаунт и ресурс, а AMG автоматически настроит его в качестве источника данных, используя правильную роль IAM. Вам не придётся вручную копировать и вставлять какие-либо настройки.

Настройка источника данных AWS вручную

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

  • Выберите плагин для требуемого источника данных
  • Выберите один из следующих механизмов аутентификации:
    • Ключ доступа и секретный ключ
    • Файл с данными доступа
    • ARN роли, которая будет использоваться для аутентификации
  • Выберите регион по умолчанию (опционально)

В примере ниже мы подключаем Amazon Managed Prometheus (AMP) в качестве источника данных:

Подключение AMP вручную в качестве источника данных

Подключение AMP вручную в качестве источника данных

После подключения вы можете начать создавать информационные панели, используя подключенные источники данных, и запрашивать необходимые метрики с использованием PromQL. Ниже приведён скриншот, показывающий метрики кластера Amazon EKS, которые были получены из AMP:

Метрики подов EKS

Метрики подов EKS

Информационные панели, доступные «из коробки»

Некоторые плагины для источников данных в AWS поставляются с уже доступными «из коробки» информационными панелями, чтобы позволить вам быстро начать работу. Вы можете найти их на вкладке Dashboards, как показано ниже:

Список доступных информационных панелей Amazon CloudWatch

Список доступных информационных панелей Amazon CloudWatch

Вы можете с лёгкостью импортировать информационную панель, используя кнопку Import. Ниже представлен скриншот информационной панели Amazon EC2:

Информационная панель EC2

Информационная панель EC2

Создание своих информационных панелей

Grafana поддерживает разные виды визуализации для создания информационных панелей с использованием различных источников данных. Ниже показана панель с трассировкой AWS X-Ray демонстрационного приложения из воркшопа One Observability. Вы можете использовать язык фильтрации AWS X-Ray для создания информационных панелей Grafana с визуализацией данных трассировок, как показано ниже:

Созданная информационная панель с данными трассировки AWS X-Ray

Созданная информационная панель с данными трассировки AWS X-Ray

Вы также можете исследовать отдельную трассировку и увидеть её сегменты на временной шкале, просто нажав на идентификатор трассировки. Кроме того, 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.