Конфигурация Ключ-АСТРОМ как код

Материал из Документация Ключ-АСТРОМ

Применение Ключ-АСТРОМ / Владение / Создание и управление владениями / Конфигурация Ключ-АСТРОМ как код

Ключ-АСТРОМ конфигурация как код обеспечивает наблюдаемость как код и безопасность, как код для полной автоматизации конфигурации платформы Ключ-АСТРОМ в любом масштабе: от автоматизации стандартной конфигурации всех ваших сред Ключ-АСТРОМ до удовлетворения конкретных требований для отдельных сред.

Почему конфигурация как код?

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

Подход Ключ-АСТРОМ конфигурация как код позволяет управлять задачами наблюдения за средой Ключ-АСТРОМ с помощью файлов конфигурации вместо графического пользовательского интерфейса.

Файлы конфигурации позволяют вам создавать, обновлять и управлять конфигурациями наблюдаемости безопасно, последовательно и многократно. Их можно повторно использовать, добавлять версии и делиться ими в вашей команде.

Как это работает

Разработчики определяют файл конфигурации и проверяют его в системе контроля версий вместе с исходным кодом приложения. Код создается и развертывается со следующим запросом на извлечение, автоматически создавая конфигурацию наблюдаемости, такую ​​как дашборд, синтетические мониторы и оповещения.

Возможности

Конфигурация как код может выполнять следующие действия:

  • Создавайте шаблоны конфигурации, которые можно повторно использовать в различных средах.
  • Управляйте взаимозависимостями между конфигурациями без необходимости сохранения уникальных идентификаторов.
  • Применяйте одну и ту же конфигурацию к сотням сред Ключ-АСТРОМ и обновляйте их все одновременно.
  • Продвигайте конфигурации приложений в разных средах после развертывания на каждом этапе.
  • Поддерживайте все механизмы и лучшие практики рабочих процессов на базе Git, такие как запросы на извлечение, слияние и утверждения.
  • Передайте свою конфигурацию в систему контроля версий и совместно работайте над изменениями.

Terraform

Помимо встроенного функционала Terraform, установщик может запускаться, как автономный исполняемый файл для экспорта существующей конфигурации из среды Ключ-АСТРОМ. Эта функциональность представляет собой альтернативу ручному созданию конфигурации Terraform и позволяет легко создавать шаблоны на основе существующей конфигурации.

Предустановка

  • Terraform CLI с установленным поставщиком Ключ-АСТРОМ, доступным под управлением PATH.
  • Токен доступа, как минимум со следующими разрешениями:
    • Чтение настроек (settings.read)
    • Запись настроек (settings.write)
    • Чтение конфигурации (ReadConfig)
    • Запись конфигурации (WriteConfig)
    • Создание и чтение синтетических мониторов, местоположений и узлов (ExternalSyntheticIntegration)
    • Данные запроса на захват (CaptureRequestData)
    • Чтение записей хранилища учетных данных (credentialVault.read)
    • Запись записей хранилища учетных данных (credentialVault.write)
    • Чтение сетевых зон (networkZones.read)
    • Запись сетевых зон (networkZones.write)

Для аутентификации некоторых ресурсов (например, API автоматизации, управления документами и учётными записями) требуется клиент OAuth. Подробнее см. на страницах, посвящённых конкретным ресурсам, в реестре Terraform.

Руководство по экспорту

1. Определите URL-адрес среды и токен API в окне терминала. Это позволит идентифицировать клиента Ключ-АСТРОМ для получения конфигурации.

Windows - SaaS

set astromkey_ENV_URL=https://########.live.astromkey.com

set astromkey_API_TOKEN=dt0c01.########.########

Windows - Managed

set astromkey_ENV_URL=https://<astromkey-host>/e/########

set astromkey_API_TOKEN=dt0c01.########.########

Linux - SaaS

export astromkey_ENV_URL=https://########.live.astromkey.com

export astromkey_API_TOKEN=dt0c01.########.########

Linux - Managed

export astromkey_ENV_URL=https://<astromkey-host>/e/########

export astromkey_API_TOKEN=dt0c01.########.########

При желании можно указать выходную директорию astromkey_TARGET_FOLDER. Если не указано ./configuration, будет использоваться директория по умолчанию.

2. Откройте исполняемый файл Terraform Astromkey Provider в терминале. Это не стандартный исполняемый файл, такой как terraform.exe или ./terraform. Обычно он находится в .terraform/providers/registry.terraform.io/astromkey-oss/astromkey/{provider_version}/{os_version}/terraform-provider-astromkey_x.y.z.

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

Windows : terraform-provider-astromkey.exe -export [-ref] [-migrate] [-import-state] [-id] [-flat] [-exclude] [<resourcename>[=<id>]]

Linux : ./terraform-provider-astromkey -export [-ref] [-migrate] [-import-state] [-id] [-flat] [-exclude] [<resourcename>[=<id>]]

Параметры

  • -ref: Включить ресурсы с источниками данных и зависимостями.
  • -migrate: Включить ресурсы с зависимостями, за исключением источников данных. Подробнее см. в руководстве по миграции .
  • -import-state: Инициализация модулей terraform и импорт ресурсов в состояние.
  • -id: Отображение прокомментированного идентификатора в файлах ресурсов.
  • -flat: Хранить все ресурсы непосредственно в целевой папке без модульной структуры.
  • -exclude: Исключить указанные ресурсы из экспорта.
  • -list-exclusions: Выводит обзор ресурсов, которые не будут экспортированы, если явно не указано иное.

По умолчанию дашборды (astromkey_json_dashboard) и различные другие ресурсы исключаются из экспорта, если ресурс не указан явно. Используйте эту опцию -list-exclusions, чтобы получить полный список исключенных ресурсов.

Примеры использования

В следующих примерах показаны различные способы использования утилиты экспорта.

  • Экспортировать все конфигурации без источников данных/зависимостей: ./terraform-provider-astromkey -export
  • Экспортируйте все конфигурации с источниками данных/зависимостями и включите прокомментированные идентификаторы: ./terraform-provider-astromkey -export -ref -id
  • Экспортируйте все конфигурации с источниками данных/зависимостями, включая указанные ресурсы в списке исключений: ./terraform-provider-astromkey -export -ref * astromkey_json_dashboard astromkey_document
  • Конфигурация экспорта: ./terraform-provider-astromkey -export astromkey_json_dashboard astromkey_document
  • Экспорт конкретных конфигураций и их зависимостей: ./terraform-provider-astromkey -export -ref astromkey_json_dashboard astromkey_web_application
  • Экспортируйте конкретные профили оповещений по их идентификаторам: ./terraform-provider-astromkey -export -ref astromkey_alerting=4f5942d4-3450-40a8-818f-c5faeb3563d0 astromkey_alerting=9c4b75f1-9a64-4b44-a8e4-149154fd5325
  • Экспортировать несколько ресурсов, включая зависимости: ./terraform-provider-astromkey -export -ref astromkey_calculated_service_metric astromkey_alerting=4f5942d4-3450-40a8-818f-c5faeb3563d0
  • Экспортируйте все конфигурации и импортируйте их в состояние: ./terraform-provider-astromkey -export -import-state
  • Экспортируйте определенные веб-приложения и импортируйте их в состояние: ./terraform-provider-astromkey -export -import-state astromkey_web_application
  • Экспортировать все конфигурации, за исключением указанных ресурсов: ./terraform-provider-astromkey -export -ref -exclude astromkey_calculated_service_metric astromkey_alerting

Дополнительная информация

  • Некоторые экспортированные конфигурации могут быть устаревшими или требовать изменений. Такие файлы перемещаются в директорию .flawed в выходной папке с указанием причин в комментариях в начале файла.
  • В некоторых конфигурациях может отсутствовать важная информация из-за конфиденциальности данных или случаев terraform apply, когда файлы требуют дополнительного внимания. Такие файлы перемещены в .requires_attention, с пояснениями в виде комментариев в начале файла. Например в astromkey_credentials, конфиденциальные строки недоступны через API.