Установка OneAgent с помощью Ansible: различия между версиями

Материал из Dynatrace
 
Строка 1: Строка 1:
Ключ-Астром предоставляет коллекцию Ansible, которую можно использовать для организации развертывания ЕдиногоАгента в вашей среде.
Dynatrace предоставляет коллекцию Ansible, которую можно использовать для организации развертывания OneAgent в вашей среде.


== Требования ==
== Требования ==


* Ansible >= 2.9.0, < 2.10.0
* Ansible >= 2.9.0, < 2.10.0
* ЕдиныйАгент версии 1.199+
* OneAgent версии 1.199+
* Ключ-Астром версии 1.204+
* Dynatrace версии 1.204+
* Сценарий доступа к файлам установщика ЕдиногоАгента
* Сценарий доступа к файлам установщика OneAgent


== Зависимости ==
== Зависимости ==
Строка 12: Строка 12:
* pywinrm 0.4.1+
* pywinrm 0.4.1+


== Загрузите коллекцию Ansible Ключ-Астром ==
== Загрузите коллекцию Dynatrace Ansible ==
1. Выберите «Развернуть Ключ-Астром» в меню навигации, а затем выберите «Начать установку».
1. Выберите «Развернуть Dynatrace» в меню навигации, а затем выберите «Начать установку».


2. Выберите коллекцию Ansible, чтобы загрузить архив коллекции.
2. Выберите коллекцию Ansible, чтобы загрузить архив коллекции.


Это безопасный архив, размещенный в вашей среде Ключ-Астром.
Это безопасный архив, размещенный в вашей среде Dynatrace.
   
   


== Установите коллекцию Ключ-Астром Ansible ==
== Установите коллекцию Dynatrace Ansible ==
1. Сохраните коллекцию Ansible Ключ-Астром
1. Сохраните коллекцию Ansible Dynatrace


Сохраните tar-архив коллекции Ansible в каталоге на узле управления Ansible.
Сохраните tar-архив коллекции Ansible в каталоге на узле управления Ansible.


2. Установите коллекцию Ansible Ключ-Астром
2. Установите коллекцию Ansible Dynatrace


Чтобы установить коллекцию Ansible, перейдите в каталог, в котором вы сохранили архив коллекции Ansible, и выполните следующую команду:
Чтобы установить коллекцию Ansible, перейдите в каталог, в котором вы сохранили архив коллекции Ansible, и выполните следующую команду:
  ansible-galaxy collection install astromkey-oneagent-ansible-1.0.0.20200101-060000.tar.gz
  ansible-galaxy collection install astromkey-oneagent-ansible-1.0.0.20200101-060000.tar.gz
Коллекция состоит из одной роли Ansible, которая развертывает ЕдиныйАгент с использованием специальной конфигурации. Конфигурация гарантирует, что служба ЕдиногоАгента остается в рабочем состоянии. Дополнительные сведения см. в разделе Использование коллекций в документации Ansible.
Коллекция состоит из одной роли Ansible, которая развертывает OneAgent с использованием специальной конфигурации. Конфигурация гарантирует, что служба OneAgent остается в рабочем состоянии. Дополнительные сведения см. в разделе Использование коллекций в документации Ansible.


== Настройка коллекции Ansible Ключ-Астром ==
== Настройка коллекции Ansible Dynatrace ==
Для сценария Ansible требуется доступ к соответствующим файлам установщика ЕдиногоАгента.
Для сценария Ansible требуется доступ к соответствующим файлам установщика OneAgent.


* Если ваш управляющий узел Ansible имеет доступ к вашей среде Ключ-Астром, вы можете настроить сценарий для загрузки файлов установщика непосредственно из среды Ключ-Астром.
* Если ваш управляющий узел Ansible имеет доступ к вашей среде Dynatrace, вы можете настроить сценарий для загрузки файлов установщика непосредственно из среды Dynatrace.
* Кроме того, вы можете самостоятельно загрузить соответствующие файлы установщика — с помощью веб-интерфейса Ключ-Астром — и загрузить их на узел управления. Это обеспечивает сценарий локальными копиями установщиков.
* Кроме того, вы можете самостоятельно загрузить соответствующие файлы установщика — с помощью веб-интерфейса Dynatrace — и загрузить их на узел управления. Это обеспечивает сценарий локальными копиями установщиков.


=== Вариант 1. Используйте прямую загрузку из среды Ключ-Астром. ===
=== Вариант 1. Используйте прямую загрузку из среды Dynatrace. ===
Сценарий использует Deployment API для загрузки установщиков для конкретной платформы на управляемые узлы. Вам нужно будет указать переменные, чтобы предоставить роли Ansible информацию, необходимую для аутентификации вызова API в вашей среде:
Сценарий использует Deployment API для загрузки установщиков для конкретной платформы на управляемые узлы. Вам нужно будет указать переменные, чтобы предоставить роли Ansible информацию, необходимую для аутентификации вызова API в вашей среде:


Строка 49: Строка 49:


=== Вариант 2. Используйте локальные установщики ===
=== Вариант 2. Используйте локальные установщики ===
Используйте веб-интерфейс Ключ-Астром для загрузки необходимых файлов установщика ЕдиногоАгента, а затем загрузите их на узел управления. Затем сценарий Ansible скопирует файлы установщика на управляемые узлы во время выполнения.
Используйте веб-интерфейс Dynatrace для загрузки необходимых файлов установщика OneAgent, а затем загрузите их на узел управления. Затем сценарий Ansible скопирует файлы установщика на управляемые узлы во время выполнения.


Используйте переменную <code>oneagent_local_installer</code>, чтобы предоставить роли Ansible путь к файлу установщика. Например:
Используйте переменную <code>oneagent_local_installer</code>, чтобы предоставить роли Ansible путь к файлу установщика. Например:
  oneagent_local_installer: /path/of/oneagent_linux_installer.sh
  oneagent_local_installer: /path/of/oneagent_linux_installer.sh
Обратите внимание, что для Windows, Linux и AIX требуются специальные программы установки. Исходные имена установщиков, загруженные с Ключ-Астром, включают обозначения целевых платформ. Если вы меняете имена установщиков, убедитесь, что сценарий может их различать.
Обратите внимание, что для Windows, Linux и AIX требуются специальные программы установки. Исходные имена установщиков, загруженные с Dynatrace, включают обозначения целевых платформ. Если вы меняете имена установщиков, убедитесь, что сценарий может их различать.


Если вы не укажете локальный установщик, сценарий попытается использовать метод прямой загрузки.
Если вы не укажете локальный установщик, сценарий попытается использовать метод прямой загрузки.
Строка 60: Строка 60:


== Переменные ==
== Переменные ==
Роль ЕдиногоАгента Ansible поддерживает следующие переменные:
Роль OneAgent Ansible поддерживает следующие переменные:
{| class="wikitable"
{| class="wikitable"
!Название
!Название
Строка 68: Строка 68:
|<code>oneagent_environment_url</code>
|<code>oneagent_environment_url</code>
|unset
|unset
|URL целевой среды Ключ-Астром (SaaS или Managed).
|URL целевой среды Dynatrace (SaaS или Managed).
|-
|-
|<code>oneagent_paas_token</code>
|<code>oneagent_paas_token</code>
|unset
|unset
|Токен PaaS, полученный со страницы развертывания Ключ-Астром.
|Токен PaaS, полученный со страницы развертывания Dynatrace.
|-
|-
|<code>oneagent_local_installer</code>
|<code>oneagent_local_installer</code>
|unset
|unset
|Путь к установщику ЕдиногоАгента, хранящемуся на узле управления.
|Путь к установщику OneAgent, хранящемуся на узле управления.
|-
|-
|<code>oneagent_installer_arch</code>
|<code>oneagent_installer_arch</code>
Строка 82: Строка 82:
Windows: <code>x86</code>
Windows: <code>x86</code>
AIX: <code>ppc</code>
AIX: <code>ppc</code>
|Архитектура установщика ЕдиногоАгента.
|Архитектура установщика OneAgent.
|-
|-
|<code>oneagent_version</code>
|<code>oneagent_version</code>
|<code>latest</code>
|<code>latest</code>
|Требуемая версия ЕдиногоАгента в формате 1.199.247.20200714-111723.
|Требуемая версия OneAgent в формате 1.199.247.20200714-111723.
|-
|-
|<code>oneagent_download_dir</code>
|<code>oneagent_download_dir</code>
Строка 95: Строка 95:
|<code>oneagent_install_args</code>
|<code>oneagent_install_args</code>
|unset
|unset
|Параметры установки ЕдиногоАгента Ключ-Астром, определенные в виде списка элементов.
|Параметры установки Dynatrace OneAgent, определенные в виде списка элементов.
|-
|-
|<code>oneagent_platform_install_args</code>
|<code>oneagent_platform_install_args</code>
Строка 103: Строка 103:
|<code>oneagent_preserve_installer</code>
|<code>oneagent_preserve_installer</code>
|<code>false</code>
|<code>false</code>
|Возможность сохранить установщик на управляемом узле после установки ЕдиногоАгента.
|Возможность сохранить установщик на управляемом узле после установки OneAgent.
|-
|-
|<code>oneagent_package_state</code>
|<code>oneagent_package_state</code>
|<code>present</code>
|<code>present</code>
|Требуемое состояние пакета ЕдиногоАгента. Укажите <code>текущую</code> или <code>последнюю</code> версию для установки. Укажите <code>отсутствует</code> для удаления.
|Требуемое состояние пакета OneAgent. Укажите <code>текущую</code> или <code>последнюю</code> версию для установки. Укажите <code>отсутствует</code> для удаления.
|-
|-
|<code>oneagent_reboot_host</code>
|<code>oneagent_reboot_host</code>
|<code>false</code>
|<code>false</code>
|Возможность перезагрузки управляемого узла после установки ЕдиногоАгента.
|Возможность перезагрузки управляемого узла после установки OneAgent.
|-
|-
|<code>oneagent_validate_certs</code>
|<code>oneagent_validate_certs</code>
|<code>true</code>
|<code>true</code>
|Возможность требовать сертификаты. Если установлено значение false, позволяет загружать ЕдиныйАгент с сервера с небезопасным SSL-сертификатом (истекшим сроком действия, самоподписанным и т. д.).
|Возможность требовать сертификаты. Если установлено значение false, позволяет загружать OneAgent с сервера с небезопасным SSL-сертификатом (истекшим сроком действия, самоподписанным и т. д.).
|-
|-
|<code>oneagent_reboot_timeout</code>
|<code>oneagent_reboot_timeout</code>
Строка 133: Строка 133:
Следующий пример playbook:
Следующий пример playbook:


* Загружает установщик ЕдиногоАгента определенной версии (<code>oneagent_version</code>) и сохраняет его в пользовательском каталоге (<code>oneagent_download_dir</code>).
* Загружает установщик OneAgent определенной версии (<code>oneagent_version</code>) и сохраняет его в пользовательском каталоге (<code>oneagent_download_dir</code>).
* Использует переменную <code>vars_files</code> для указания на безопасный файл учетных  <code>credentials.yml</code>, в котором хранятся ваш идентификатор среды и токен PaaS.
* Использует переменную <code>vars_files</code> для указания на безопасный файл учетных  <code>credentials.yml</code>, в котором хранятся ваш идентификатор среды и токен PaaS.
* Указывает сценарию развернуть ЕдиныйАгент в группах хостов с именами <code>linux_other</code> и <code>linux_arm</code> в вашем инвентаре.
* Указывает сценарию развернуть OneAgent в группах хостов с именами <code>linux_other</code> и <code>linux_arm</code> в вашем инвентаре.
* Указывает сценарию использовать <code>x86</code> в качестве архитектуры по умолчанию для группы хостов <code>linux_other</code>. Группа хостов linux_arm имеет собственный параметр <code>oneagent_installer_arch</code>, указанный в файле инвентаризации.
* Указывает сценарию использовать <code>x86</code> в качестве архитектуры по умолчанию для группы хостов <code>linux_other</code>. Группа хостов linux_arm имеет собственный параметр <code>oneagent_installer_arch</code>, указанный в файле инвентаризации.
* Использует переменную <code>oneagent_install_args</code> для указания параметров установки ЕдиногоАгента, которые назначают хосты группе хостов <code>My.HostGroup_123-456</code> и сетевой зоне <code>my.network.zone</code>.
* Использует переменную <code>oneagent_install_args</code> для указания параметров установки OneAgent, которые назначают хосты группе хостов <code>My.HostGroup_123-456</code> и сетевой зоне <code>my.network.zone</code>.
* Задает другой параметр <code>USER</code>, используя параметр <code>oneagent_platform_install_args</code> для каждой группы хостов в инвентаризации.
* Задает другой параметр <code>USER</code>, используя параметр <code>oneagent_platform_install_args</code> для каждой группы хостов в инвентаризации.


Строка 146: Строка 146:
    hosts: linux_other,linux_arm
    hosts: linux_other,linux_arm
    collections:
    collections:
      - astrom-key.oneagent
      - dynatrace.oneagent
    vars_files:
    vars_files:
      - encrypted_credentials.yml
      - encrypted_credentials.yml

Текущая версия на 11:37, 22 января 2023

Dynatrace предоставляет коллекцию Ansible, которую можно использовать для организации развертывания OneAgent в вашей среде.

Требования

  • Ansible >= 2.9.0, < 2.10.0
  • OneAgent версии 1.199+
  • Dynatrace версии 1.204+
  • Сценарий доступа к файлам установщика OneAgent

Зависимости

  • pywinrm 0.4.1+

Загрузите коллекцию Dynatrace Ansible

1. Выберите «Развернуть Dynatrace» в меню навигации, а затем выберите «Начать установку».

2. Выберите коллекцию Ansible, чтобы загрузить архив коллекции.

Это безопасный архив, размещенный в вашей среде Dynatrace.


Установите коллекцию Dynatrace Ansible

1. Сохраните коллекцию Ansible Dynatrace

Сохраните tar-архив коллекции Ansible в каталоге на узле управления Ansible.

2. Установите коллекцию Ansible Dynatrace

Чтобы установить коллекцию Ansible, перейдите в каталог, в котором вы сохранили архив коллекции Ansible, и выполните следующую команду:

ansible-galaxy collection install astromkey-oneagent-ansible-1.0.0.20200101-060000.tar.gz

Коллекция состоит из одной роли Ansible, которая развертывает OneAgent с использованием специальной конфигурации. Конфигурация гарантирует, что служба OneAgent остается в рабочем состоянии. Дополнительные сведения см. в разделе Использование коллекций в документации Ansible.

Настройка коллекции Ansible Dynatrace

Для сценария Ansible требуется доступ к соответствующим файлам установщика OneAgent.

  • Если ваш управляющий узел Ansible имеет доступ к вашей среде Dynatrace, вы можете настроить сценарий для загрузки файлов установщика непосредственно из среды Dynatrace.
  • Кроме того, вы можете самостоятельно загрузить соответствующие файлы установщика — с помощью веб-интерфейса Dynatrace — и загрузить их на узел управления. Это обеспечивает сценарий локальными копиями установщиков.

Вариант 1. Используйте прямую загрузку из среды Dynatrace.

Сценарий использует Deployment API для загрузки установщиков для конкретной платформы на управляемые узлы. Вам нужно будет указать переменные, чтобы предоставить роли Ansible информацию, необходимую для аутентификации вызова API в вашей среде:

  • oneagent_environment_url:
    • Managed: https://{ваш-домен}/e/{идентификатор-вашей-среды}
  • oneagent_paas_token
    • Токен PaaS вашей среды

Мы рекомендуем безопасно хранить и токен PAAS, и идентификатор среды, используя такие механизмы шифрования, как Ansible Vault. Дополнительные сведения см. в разделе Шифрование содержимого с помощью Ansible Vault.

Вариант 2. Используйте локальные установщики

Используйте веб-интерфейс Dynatrace для загрузки необходимых файлов установщика OneAgent, а затем загрузите их на узел управления. Затем сценарий Ansible скопирует файлы установщика на управляемые узлы во время выполнения.

Используйте переменную oneagent_local_installer, чтобы предоставить роли Ansible путь к файлу установщика. Например:

oneagent_local_installer: /path/of/oneagent_linux_installer.sh

Обратите внимание, что для Windows, Linux и AIX требуются специальные программы установки. Исходные имена установщиков, загруженные с Dynatrace, включают обозначения целевых платформ. Если вы меняете имена установщиков, убедитесь, что сценарий может их различать.

Если вы не укажете локальный установщик, сценарий попытается использовать метод прямой загрузки.

Пример использования см. в файле local_installer.yml в разделе Примеры.

Переменные

Роль OneAgent Ansible поддерживает следующие переменные:

Название Значение по умолчанию Описание
oneagent_environment_url unset URL целевой среды Dynatrace (SaaS или Managed).
oneagent_paas_token unset Токен PaaS, полученный со страницы развертывания Dynatrace.
oneagent_local_installer unset Путь к установщику OneAgent, хранящемуся на узле управления.
oneagent_installer_arch Linux: x86

Windows: x86 AIX: ppc

Архитектура установщика OneAgent.
oneagent_version latest Требуемая версия OneAgent в формате 1.199.247.20200714-111723.
oneagent_download_dir Linux/AIX: $TEMP or /tmp

Windows: %TEMP% or C:\Windows\Temp

Каталог загрузки установщика. Для Linux и AIX каталог не должен содержать пробелов.
oneagent_install_args unset Параметры установки Dynatrace OneAgent, определенные в виде списка элементов.
oneagent_platform_install_args unset Дополнительный список параметров установки для конкретной платформы, добавленный к `oneagent_install_args' при запуске на соответствующей платформе.
oneagent_preserve_installer false Возможность сохранить установщик на управляемом узле после установки OneAgent.
oneagent_package_state present Требуемое состояние пакета OneAgent. Укажите текущую или последнюю версию для установки. Укажите отсутствует для удаления.
oneagent_reboot_host false Возможность перезагрузки управляемого узла после установки OneAgent.
oneagent_validate_certs true Возможность требовать сертификаты. Если установлено значение false, позволяет загружать OneAgent с сервера с небезопасным SSL-сертификатом (истекшим сроком действия, самоподписанным и т. д.).
oneagent_reboot_timeout 3600 Время ожидания в секундах для перезагрузки управляемого узла.

Логирование

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

  • Задайте для переменной среды ANSIBLE_LOG_PATH путь к файлу журнала.
  • Укажите переменную log_path в разделе [default] файла настроек конфигурации Ansible.

Подробностью журналов можно управлять с помощью параметра командной строки -v. Многократное повторение параметра увеличивает уровень детализации до уровня отладки соединения, что достигается с помощью -vvvv.

Примеры

Следующий пример playbook:

  • Загружает установщик OneAgent определенной версии (oneagent_version) и сохраняет его в пользовательском каталоге (oneagent_download_dir).
  • Использует переменную vars_files для указания на безопасный файл учетных credentials.yml, в котором хранятся ваш идентификатор среды и токен PaaS.
  • Указывает сценарию развернуть OneAgent в группах хостов с именами linux_other и linux_arm в вашем инвентаре.
  • Указывает сценарию использовать x86 в качестве архитектуры по умолчанию для группы хостов linux_other. Группа хостов linux_arm имеет собственный параметр oneagent_installer_arch, указанный в файле инвентаризации.
  • Использует переменную oneagent_install_args для указания параметров установки OneAgent, которые назначают хосты группе хостов My.HostGroup_123-456 и сетевой зоне my.network.zone.
  • Задает другой параметр USER, используя параметр oneagent_platform_install_args для каждой группы хостов в инвентаризации.
---
- name: Download OneAgent installer in specific version to a custom
    directory with additional OneAgent install parameters. Both linux_other
    and linux_arm have different user specified by platform args parameter.
  hosts: linux_other,linux_arm
  collections:
    - dynatrace.oneagent
  vars_files:
    - encrypted_credentials.yml
  vars:
    oneagent_download_dir: /home/user1
    oneagent_version: 1.199.247.20200714-111723
    oneagent_install_args:
      - INSTALL_PATH=/opt/example
      - --set-host-group=My.HostGroup_123-456
      - --set-network-zone=my.network.zone
  tasks:
    - import_role:
        name: oneagent

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

  • local_installer.yml — установка ЕдиногоАгента с помощью локальной программы установки.
  • advanced_config.yml — установка ЕдиногоАгента с пользовательским путем установки и каталогом загрузки.
  • oneagentctl_config.yml — конфигурация ЕдиногоАгента с помощью команды oneagentctl.

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

Чтобы узнать о проблемах с путями при установке в Windows, ознакомьтесь с разделом «Форматирование пути для Windows» в документации Ansible.