Управление Cloud Provider Observability в Grafana Cloud с помощью Terraform
Управляйте Cloud Provider Observability, включая ресурсы Amazon CloudWatch и Microsoft Azure, в Grafana Cloud с помощью Terraform. Дополнительные сведения о Cloud Provider Observability см. в документации Cloud Provider Observability.
Прежде чем начать
Прежде чем начать, убедитесь, что у вас есть следующее:
- Учётная запись Grafana Cloud
- Дополнительные сведения о настройке учётной записи Grafana Cloud см. в разделе Get started.
- Terraform, установленный на вашей машине
- Дополнительные сведения об установке Terraform см. в документации по установке Terraform.
- Права администратора в вашем экземпляре Grafana
- Дополнительные сведения о назначении ролей Grafana RBAC см. в разделе Assign RBAC roles.
Note
Сохраните все перечисленные ниже файлы конфигурации Terraform в одном каталоге.
Настройка аутентификации для провайдера Grafana
Провайдер Grafana — это логическая абстракция вышестоящего API, с помощью которой можно взаимодействовать с ресурсами Grafana Cloud. Его необходимо настроить со следующей информацией:
- Токен политики доступа Grafana Cloud, включающий разрешения, которые нужны провайдеру для доступа к Grafana Cloud Provider API.
- Региональная конечная точка API облачного провайдера, определяющая, к какому стеку Grafana Cloud вы обращаетесь.
Чтобы настроить аутентификацию для провайдера Grafana:
-
Создайте политику доступа и токен Grafana Cloud.
- Чтобы создать политику доступа для вашей организации, обратитесь к шагам Create an access policy for a stack и используйте следующие области доступа, перечисленные для поддерживаемых ресурсов Amazon CloudWatch или Microsoft Azure:
- Amazon CloudWatch
- Сбор метрик или сбор метаданных ресурсов
integration-management:readintegration-management:writestacks:read
- Потоки метрик
metrics:write
- Журналы доступа ALB, журналы с Lambda или журналы с Amazon Data Firehose
logs:write
- Сбор метрик или сбор метаданных ресурсов
- Amazon CloudWatch
- Microsoft Azure
- Бессерверные метрики
integration-management:readintegration-management:writestacks:read
- Журналы с функциями Azure
logs:write
- Бессерверные метрики
- Чтобы создать политику доступа для вашей организации, обратитесь к шагам Create an access policy for a stack и используйте следующие области доступа, перечисленные для поддерживаемых ресурсов Amazon CloudWatch или Microsoft Azure:
-
Получите региональную конечную точку API Cloud Provider.
- Чтобы получить региональную конечную точку API облачного провайдера, используйте ваш токен политики доступа и следующую команду, которая возвращает список всех принадлежащих вам стеков Grafana вместе с соответствующими именами хостов Cloud Provider API:
curl -sH "Authorization: Bearer @@@GRAFANA_CLOUD_ACCESS_POLICY_TOKEN@@@" "https://grafana.com/api/instances" | \ jq '[.items[]|{stackName: .slug, clusterName:.clusterSlug, cloudProviderAPIURL: "https://cloud-provider-api-\(.clusterSlug).grafana.net"}]'Note
Если эта конечная точка не работает, возможно, ваша конечная точка Grafana Cloud Provider API использует новый формат URL. Дополнительные сведения о URL Grafana Cloud см. в разделе Determine Grafana Cloud URLs based on region.
-
Создайте файл с именем
cloud-provider.tfи добавьте следующий блок кода:terraform { required_providers { grafana = { source = "grafana/grafana" } } } provider "grafana" { cloud_api_url = "<@@@CLOUD_PROVIDER_API_URL@@@" cloud_access_policy_token = "@@@CLOUD_ACCESS_POLICY_TOKEN@@@>" } -
Создайте файл
variables.tfи вставьте переменныеCLOUD_ACCESS_POLICY_TOKENиCLOUD_PROVIDER_API_URLсо своими значениями. -
Выполните следующую команду Terraform:
terraform apply -var-file="variables.tf"
Настройка ресурсов
Инструкции по настройке конкретных ресурсов Amazon CloudWatch и Microsoft Azure в Cloud Provider Observability с помощью Terraform см. в следующих документах:
- Amazon CloudWatch
- Сбор метрик: извлекайте метрики CloudWatch из нескольких регионов для вашей учётной записи AWS без необходимости устанавливать Grafana Alloy.
- Потоки метрик: отправляйте метрики с помощью потоков метрик CloudWatch с использованием Amazon Data Firehose, получая аналитику в реальном времени и масштабируемость при упрощении конфигурации и снижении затрат и ручных усилий.
- Журналы доступа ALB: отправляйте журналы доступа балансировщика нагрузки приложений из AWS в Grafana Cloud с помощью функции Lambda.
- Журналы с Lambda: отправляйте журналы в Grafana Cloud из нескольких сервисов AWS с помощью функции lambda-promtail.
- Журналы с Amazon Data Firehose: отправляйте журналы из AWS в Grafana Cloud с помощью Amazon Data Firehose и минимальной инфраструктуры.
- Microsoft Azure
- Бессерверные метрики: отслеживайте ресурсы Azure без необходимости настраивать или развёртывать коллектор, используя Cloud Provider Observability.
- Журналы с функциями Azure: отправляйте журналы событий Azure в конечную точку Loki с помощью функции Azure, которая подписывается на концентратор событий Azure.
Ресурсы облачного провайдера Grafana
С помощью Terraform можно определять следующие ресурсы и источники данных Cloud Provider Observability: