newrelic.newrelic_install
New Relic Ansible 角色
newrelic.newrelic_install
是一个 Ansible 角色,可以帮助您扩展 New Relic 的可观测性工作。它使用 New Relic CLI 和 New Relic 开放安装库 来实现。
注意:不支持安装特定版本的代理,此角色总是安装最新发布版本的 New Relic 代理。
请查看下面的部分以获取安装详细信息、如何入门、角色变量、依赖关系,以及展示此角色使用的示例 ansible playbook
。
如果您需要 Windows 操作系统的 Ansible 帮助,请查看 设置 Windows 主机,来自 Ansible 文档 网站。
安装
Ansible Galaxy
ansible-galaxy install newrelic.newrelic_install
确保您已经安装 ansible.windows
和 ansible.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 管理的应用。要通过npm
、yarn
或其他安装路径安装代理,请参考我们的 文档。- 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
(可选)
安装的详细程度选项(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
环境变量
值在您的 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 中有一个相关的社区主题。您可以在此处找到该项目的主题/线程:
- New Relic 文档: 使用我们平台的全面指南
- New Relic 社区: 解决故障问题的最佳去处
- New Relic 开发者: 构建自定义可观测性应用程序的资源
- New Relic 大学: 适合各级 New Relic 用户的一系列在线培训
- New Relic 技术支持 24/7/365 的工单支持。阅读更多关于我们的 技术支持服务。
贡献
我们鼓励您为改进 newrelic.newrelic_install
ansible 角色做出贡献!请记住,在提交您的拉取请求时,您需要通过点击 CLA-Assistant 进行签署。您只需在每个项目上签署一次 CLA。
如果您有任何问题,或需要执行我们的公司 CLA(如果您的贡献是代表公司),请通过电子邮件与我们联系 opensource@newrelic.com。
有关漏洞的说明
正如我们的 安全政策 所述,New Relic 致力于保护客户及其数据的隐私和安全。我们认为,提供安全研究人员的协调披露和与安全社区的互动是实现我们安全目标的重要手段。
如果您认为在此项目或任何 New Relic 产品或网站中发现了安全漏洞,我们欢迎并非常感谢您通过 HackerOne 向 New Relic 报告。
如果您想为此项目做出贡献,请查看 这些指南。
感谢所有贡献者!没有您的贡献,项目不会有今天的成就。
许可证
本项目依据 Apache 2.0 许可证进行许可。
Role for New Relic's Targeted Installs
ansible-galaxy install newrelic.newrelic_install