newrelic.newrelic_install

New Relic 开源社区项目横幅。

New Relic Ansible 角色

newrelic.newrelic_install 是一个 Ansible 角色,可以帮助您扩展 New Relic 的可观测性工作。它使用 New Relic CLINew Relic 开放安装库 来实现。

注意:不支持安装特定版本的代理,此角色总是安装最新发布版本的 New Relic 代理。

请查看下面的部分以获取安装详细信息、如何入门、角色变量、依赖关系,以及展示此角色使用的示例 ansible playbook

如果您需要 Windows 操作系统的 Ansible 帮助,请查看 设置 Windows 主机,来自 Ansible 文档 网站。

安装

Ansible Galaxy

ansible-galaxy install newrelic.newrelic_install

链接到 Galaxy

确保您已经安装 ansible.windowsansible.utils,如果尚未安装:

ansible-galaxy collection install ansible.windows ansible.utils

手动安装

如果您想使用角色的本地副本,请克隆该库并在项目根目录运行 make,以将该库复制到 ~/.ansible/roles/newrelic.newrelic_install,使角色表现得像是从 Galaxy 安装的一样。

入门

安装后,请在新的或现有的 playbook 中包含 newrelic.newrelic_install 角色。例如:

- 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 密钥>
    NEW_RELIC_ACCOUNT_ID: <账户 ID>
    NEW_RELIC_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,如果在没有 infrastructure 的情况下指定 logs,将抛出错误。
  • apm-nodejs 代理安装仅支持由 PM2 管理的应用。要通过 npmyarn 或其他安装路径安装代理,请参考我们的 文档
  • Windows 的 apm-dotnet 代理安装仅支持由 IIS 托管的应用。Linux 安装仅支持作为 systemd 服务运行的 .NET 应用程序。
  • apm-java 代理安装支持在 Tomcat、Wildfly/Jboss 和 Jetty(独立)中运行的 Java。请注意,这是一个有限的 Java APM 安装,通过动态附加使用 New Relic 的 Java 识别器来探测某些 Java 应用服务器。详细信息请见 此处
  • 以下集成要求已安装基础设施代理:
    • apm-java
    • apache
    • mssql
    • mysql
    • nginx

tags(可选)

传递给安装的键值对标签。

install_timeout_seconds(可选)

设置安装任务的超时时间。覆盖默认的 600 秒超时时间。

verbosity(可选)

安装的详细程度选项(debugtrace)。将在主机上的日志文件中写入详细输出。

默认设置

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

环境变量

值在您的 playbook 中的 environment 关键字下设置:

  • NEW_RELIC_API_KEY(必需)
  • NEW_RELIC_ACCOUNT_ID(必需)
  • NEW_RELIC_REGION(可选:'US' 或 'EU',默认 'US')

此外,可以设置可选的 HTTPS_PROXY 变量以启用安装的代理。

apm-php:

  • NEW_RELIC_APPLICATION_NAME(可选)要探测的 PHP 应用程序的名称。该名称将在 New Relic 的 APM & Services 下列出。如果省略,则默认为 PHP Application

apache:

  • NEW_RELIC_APACHE_STATUS_URL(可选)检查 Apache Web 服务器状态的 URL。此 URL 用于确保主机上正在运行 Apache Web 服务器,并在尝试安装 Apache 本地集成之前处于良好状态。默认为:http://127.0.0.1/server-status?auto

mssql:

  • NEW_RELIC_MSSQL_DB_HOSTNAME(可选)运行 MS SQL 服务器的主机名或 IP。如果未指定,则默认为发现的主机名。
  • 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(可选)在创建由 NEW_RELIC_MSSQL_DB_USERNAME 指定的 SQL 用户时传递给 sqlcmd 的可选凭据覆盖,如果省略,将使用默认登录用户名。
  • NEW_RELIC_MSSQL_SQL_PASSWORD(可选)在创建由 NEW_RELIC_MSSQL_DB_USERNAME 指定的 SQL 用户时传递给 sqlcmd 的可选凭据覆盖,如果省略,将使用默认登录密码。
  • 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 密钥>
    NEW_RELIC_ACCOUNT_ID: <账户 ID>
    NEW_RELIC_REGION: <区域>
    NEW_RELIC_APPLICATION_NAME: "我的应用"
    HTTPS_PROXY: "http://my.proxy:8888"

支持

New Relic 主办并管理一个在线论坛,客户可以与 New Relic 员工以及其他客户互动以获得帮助并分享最佳实践。与所有官方的 New Relic 开源项目一样,New Relic Explorers Hub 中有一个相关的社区主题。您可以在此处找到该项目的主题/线程:

贡献

我们鼓励您为改进 newrelic.newrelic_install ansible 角色做出贡献!请记住,在提交您的拉取请求时,您需要通过点击 CLA-Assistant 进行签署。您只需在每个项目上签署一次 CLA。

如果您有任何问题,或需要执行我们的公司 CLA(如果您的贡献是代表公司),请通过电子邮件与我们联系 opensource@newrelic.com

有关漏洞的说明

正如我们的 安全政策 所述,New Relic 致力于保护客户及其数据的隐私和安全。我们认为,提供安全研究人员的协调披露和与安全社区的互动是实现我们安全目标的重要手段。

如果您认为在此项目或任何 New Relic 产品或网站中发现了安全漏洞,我们欢迎并非常感谢您通过 HackerOne 向 New Relic 报告。

如果您想为此项目做出贡献,请查看 这些指南

感谢所有贡献者!没有您的贡献,项目不会有今天的成就。

许可证

本项目依据 Apache 2.0 许可证进行许可。

安装
ansible-galaxy install newrelic.newrelic_install
许可证
apache-2.0
下载
195.9k
拥有者