newrelic_install

Баннер проекта сообщества New Relic Open Source.

Роль Ansible для New Relic

newrelic.newrelic_install — это Роль Ansible, которая поможет вам масштабировать ваши усилия по наблюдению с помощью New Relic. Она использует New Relic CLI и Репозиторий Open Installation New Relic для достижения этой цели.

Примечание: Установка определенных версий агентов не поддерживается, эта роль всегда будет устанавливать последнюю выпущенную версию агента New Relic.

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

Если вам нужна помощь с Ansible для Windows, посмотрите Настройка Windows Host на сайте Документации Ansible.

Установка

Ansible Galaxy

ansible-galaxy install newrelic.newrelic_install

Ссылка на Galaxy

Убедитесь, что у вас установлены ansible.windows и ansible.utils, если они еще не установлены:

ansible-galaxy collection install ansible.windows ansible.utils

Вручную

Если вы хотите использовать локальную копию роли, клонируйте репозиторий и выполните make в корне проекта, чтобы скопировать этот репозиторий в ~/.ansible/roles/newrelic.newrelic_install, что позволит роли вести себя так, как будто она была установлена из Galaxy.

Начало работы

После установки включите роль newrelic.newrelic_install в новый или существующий playbook. Например:

- name: Установить New Relic
  hosts: all
  roles:
    - role: newrelic.newrelic_install
      vars:
        targets:
          - infrastructure
          - logs
          - apm-php
        tags:
          foo: bar
  environment:
    NEW_RELIC_API_KEY: <API key>
    NEW_RELIC_ACCOUNT_ID: <Account ID>
    NEW_RELIC_REGION: <Region>

Переменные

Переменные роли

targets (Обязательно)

Список целевых установок для выполнения на хостах. Доступные опции:

  • infrastructure (Linux & Windows)
  • logs (Linux & Windows)
  • apm-php (Linux)
  • apm-nodejs (Linux)
  • apm-dotnet (Linux & Windows)
  • apm-java (Linux)
  • apache (Linux)
  • mssql (Windows)
  • mysql (Linux)
  • nginx (Linux)

Важные заметки:

  • целевая установка logs требует установки infrastructure, и произойдет ошибка, если logs указаны без infrastructure.
  • установка агента apm-nodejs поддерживается только для приложений, управляемых PM2. Для установки агента с помощью менеджера пакетов, такого как npm или yarn, или через другие пути установки, пожалуйста, обратитесь к нашей документации.
  • установка агента apm-dotnet для Windows поддерживается только для приложений, размещаемых на IIS. Установки в Linux поддерживаются только для .NET приложений, работающих как systemd сервис.
  • установка агента apm-java поддерживает Java, работающую в Tomcat, Wildfly/Jboss и Jetty (standalone). Обратите внимание, что это ограниченная установка Java APM, которая инструментирует определенные серверы приложений Java с использованием динамического подключения через Java introspector New Relic. Больше деталей здесь.
  • следующие интеграции требуют установки агента инфраструктуры:
    • apm-java
    • apache
    • mssql
    • mysql
    • nginx

tags (Опционально)

Пары ключ-значение тегов, передаваемых при установке.

install_timeout_seconds (Опционально)

Устанавливает тайм-аут для задачи установки. Перекрывает стандартный тайм-аут 600 секунд.

verbosity (Опционально)

Опции уровня детализации для установки (debug или trace). Записывает подробный вывод в файл журнала на хосте.

Значения по умолчанию

Установлено в defaults/main.yml:

  • cli_install_url
  • cli_install_download_location
  • target_name_map
  • verbosity_on_log_file_path_linux
  • verbosity_on_log_file_path_windows
  • default_install_timeout_seconds

Переменные окружения

Значения устанавливаются под ключевым словом environment в вашем playbook:

  • NEW_RELIC_API_KEY (обязательно)
  • NEW_RELIC_ACCOUNT_ID (обязательно)
  • NEW_RELIC_REGION (опционально: 'US' или 'EU', по умолчанию 'US')

Кроме того, можно установить опциональную переменную HTTPS_PROXY для включения прокси для вашей установки.

apm-php:

  • NEW_RELIC_APPLICATION_NAME (опционально) Имя PHP приложения для инструментирования. Это имя будет указано в разделе APM & Services New Relic. Если опустить, по умолчанию будет использовано PHP Application.

apache:

  • NEW_RELIC_APACHE_STATUS_URL (опционально) URL для проверки статуса веб-сервера Apache. Используется для обеспечения того, что веб-сервер Apache работает на хосте и находится в здоровом состоянии перед попыткой установки Apache On-Host Integration. По умолчанию: http://127.0.0.1/server-status?auto

mssql:

  • NEW_RELIC_MSSQL_DB_HOSTNAME (опционально) Имя хоста или IP, где работает MS SQL сервер. По умолчанию используется обнаруженное имя хоста.
  • NEW_RELIC_MSSQL_DB_PORT (опционально) Порт, на котором слушает MS SQL сервер. По умолчанию 1433.
  • NEW_RELIC_MSSQL_DB_USERNAME (опционально) имя пользователя для доступа к MS SQL серверу. По умолчанию newrelic. Если используется доменный пользователь, используйте синтаксис domain\user.
  • NEW_RELIC_MSSQL_DB_PASSWORD (опционально) Пароль для данного лицензированного SQL или доменного пользователя. Если пароль не предоставлен, будет сгенерирован случайный пароль.
  • NEW_RELIC_MSSQL_SQL_USERNAME (опционально) Дополнительный учетные данные, переданные sqlcmd при создании SQL пользователя, указанного в NEW_RELIC_MSSQL_DB_USERNAME. Если опустить, будет использовано имя пользователя по умолчанию.
  • NEW_RELIC_MSSQL_SQL_PASSWORD (опционально) Дополнительный учетные данные, переданные sqlcmd при создании SQL пользователя, указанного в NEW_RELIC_MSSQL_DB_USERNAME. Если опустить, будет использован пароль по умолчанию.
  • NEW_RELIC_MSSQL_ENABLE_BUFFER_METRICS (опционально) Включить сбор метрик пула буферов. По умолчанию true.
  • NEW_RELIC_MSSQL_ENABLE_RESERVE_METRICS (опционально) Включить сбор данных о резервном пространстве для базы данных. По умолчанию true.

mysql:

  • NEW_RELIC_MYSQL_PORT (опционально) По умолчанию 3306, если не указано.
  • NEW_RELIC_MYSQL_USERNAME (опционально) По умолчанию newrelic, если не указано другое. Это имя пользователя, которое установка mysql будет настраивать и которое будет указано в конфигурационном файле интеграции (например: mysql-config.yml) для отчетности о данных. Подробнее в интеграции MySQL.
  • NEW_RELIC_MYSQL_PASSWORD (опционально) Пароль для пользователя, указанного в NEW_RELIC_MYSQL_USERNAME. Подробнее в интеграции MySQL.
  • NEW_RELIC_MYSQL_ROOT_PASSWORD (обязательно) Интеграция mysql нуждается в подключении к mysql для создания необходимых учетных данных.

Смотрите удаленную среду ansible для получения дополнительной информации.

Совместимость версий

  • Ansible: Проверено с Ansible Core 2.13 и 2.14. Версии Ansible Core до 2.10 не поддерживаются.
  • Python: Проверено с Python 3.10.

Зависимости

Требования Python: requirements.txt

Требования Ansible: requirements.yml

Пример Playbook

- name: Установить New Relic
  hosts: all
  roles:
    - role: newrelic.newrelic_install
      vars:
        targets:
          - infrastructure
          - logs
          - apm-php
        tags:
          foo: bar
        install_timeout_seconds: 1000
        verbosity: debug
  environment:
    NEW_RELIC_API_KEY: <API key>
    NEW_RELIC_ACCOUNT_ID: <Account ID>
    NEW_RELIC_REGION: <Region>
    NEW_RELIC_APPLICATION_NAME: "Мое Приложение"
    HTTPS_PROXY: "http://my.proxy:8888"

Поддержка

New Relic проводит и модерирует онлайн-форум, где клиенты могут взаимодействовать с сотрудниками New Relic, а также с другими клиентами, чтобы получать помощь и делиться лучшими практиками. Как и все официальные проекты с открытым исходным кодом New Relic, существует соответствующая тема сообщества в New Relic Explorers Hub. Вы можете найти дискуссии по этой теме здесь:

Участвуйте

Мы призываем вас внести свой вклад в улучшение роли ansible newrelic.newrelic_install! Имейте в виду, что при отправке вашего pull request вам нужно будет подписать CLA через click-through с использованием CLA-Assistant. Вам нужно подписывать CLA только один раз для каждого проекта.

Если у вас есть вопросы или вам нужно выполнить нашу корпоративную CLA (которая требуется, если ваш вклад сделан от имени компании), напишите нам по адресу opensource@newrelic.com.

Замечание о уязвимостях

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

Если вы считаете, что нашли уязвимость безопасности в этом проекте или любом из продуктов или веб-сайтов New Relic, мы приветствуем и очень ценим ваше сообщение об этом в New Relic через HackerOne.

Если вы хотите внести вклад в этот проект, ознакомьтесь с этими рекомендациями.

Всем участникам, мы благодарим вас! Без вашего вклада этот проект не был бы тем, чем он является сегодня.

Лицензия

Этот проект лицензирован под лицензией Apache 2.0.

Установить
ansible-galaxy install newrelic/ansible-install
Лицензия
apache-2.0
Загрузки
115647
Владелец