php - 获取在 docker 容器中运行的 New Relic
问题描述
我正在尝试让 New Relic 在 docker 容器 ( FROM php:7.3-apache
) 中运行以推送到 Cloud Run。
我已遵循此文档
https://docs.newrelic.com/docs/agents/php-agent/advanced-installation/docker-other-container-environments-install-php-agent/
对于“在同一容器中安装代理和守护程序”并添加
RUN \
curl -L https://download.newrelic.com/php_agent/release/newrelic-php5-9.17.1.301-linux.tar.gz | tar -C /tmp -zx && \
export NR_INSTALL_USE_CP_NOT_LN=1 && \
export NR_INSTALL_SILENT=1 && \
/tmp/newrelic-php5-*/newrelic-install install && \
rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* && \
sed -i \
-e 's/"REPLACE_WITH_REAL_KEY"/"NRAK-xxxxxxxxxxxxxxxxxxx"/' \
-e 's/newrelic.appname = "PHP Application"/newrelic.appname = "My apps real name"/' \
-e 's/;newrelic.daemon.app_connect_timeout =.*/newrelic.daemon.app_connect_timeout=15s/' \
-e 's/;newrelic.daemon.start_timeout =.*/newrelic.daemon.start_timeout=5s/' \
/usr/local/etc/php/conf.d/newrelic.ini
到我的 docker 文件并将 3 个变量切换为实际值。
当我在容器内执行 PS 时,它看起来正在运行,但 New Relic 仪表板中没有出现任何内容。
当我发现 php_agent.log 我得到
2021-06-21 19:06:34.870 +0000 (1 1) info: attempt daemon connection via '@newrelic'
2021-06-21 19:06:34.871 +0000 (1 1) info: New Relic 9.17.1.301 ("xigua" - "6498785b65c7") [daemon='@newrelic' php='7.3.28' zts=no sapi='apache2handler' apache='2.4.38' mpm=prefork pid=1 ppid=0 uid=0 euid=0 gid=0 egid=0 backtrace=yes
startup=agent os='Linux' rel='4.19.128-microsoft-standard' mach='x86_64' ver='#1 SMP Tue Jun 23 12' node='544d6a6fd26a']
2021-06-21 19:06:34.871 +0000 (1 1) warning: A global default license has not been set or has invalid format. Please add a 'newrelic.license' key in the global php.ini or in the newrelic.ini file, or ensure that a valid license is provided on a per-virtual host or per-directory basis.
当我发现 newrelic-daemon.log 我得到
2021/06/21 19:06:34.974122 (17) Info: New Relic daemon version 9.17.1.301-6498785b65c7 [listen="@newrelic" startup=agent pid=17 ppid=1 uid=0 euid=0 gid=0 egid=0 runtime="go1.9.7" GOMAXPROCS=24 GOOS=linux GOARCH=amd64]
2021/06/21 19:06:35.024983 (36) Info: New Relic daemon version 9.17.1.301-6498785b65c7 [listen="@newrelic" startup=agent pid=36 ppid=17 uid=0 euid=0 gid=0 egid=0 runtime="go1.9.7" GOMAXPROCS=24 GOOS=linux GOARCH=amd64]
2021/06/21 19:06:35.071290 (53) Info: New Relic daemon version 9.17.1.301-6498785b65c7 [listen="@newrelic" startup=agent pid=53 ppid=36 uid=0 euid=0 gid=0 egid=0 runtime="go1.9.7" GOMAXPROCS=24 GOOS=linux GOARCH=amd64]
2021/06/21 19:06:35.071516 (53) Info: collector configuration is &{CAFile: CAPath: Proxy:}
2021/06/21 19:06:35.071855 (53) Info: daemon listening on @newrelic
php --ini
给我
Configuration File (php.ini) Path: /usr/local/etc/php
Loaded Configuration File: (none)
Scan for additional .ini files in: /usr/local/etc/php/conf.d
Additional .ini files parsed: /usr/local/etc/php/conf.d/docker-php-ext-imap.ini,
/usr/local/etc/php/conf.d/docker-php-ext-mysqli.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini,
/usr/local/etc/php/conf.d/docker-php-ext-zip.ini,
/usr/local/etc/php/conf.d/newrelic.ini
当我 cat /usr/local/etc/php/conf.d/newrelic.ini | grep "newrelic.license"
得到真正正确的钥匙时
; Setting: newrelic.license
newrelic.license = "NRAK-xxxxxxxxxxxxxxxxxxxxx"
我做错了什么或错过了什么步骤?
解决方案
您的许可证密钥错误。
A global default license has not been set or has invalid format. Please add a 'newrelic.license' key in the global php.ini or in the newrelic.ini file, or ensure that a valid license is provided on a per-virtual host or per-directory basis.
看来您正在放置用户 API_KEY: NRAK-xxxxxxxxxxxxxxxxxxxxx,但实际上您必须将您的许可证密钥放在 Administration > API Keys > License Keys 上
推荐阅读
- c# - WPF TextBox 对 stringformat 0:N2 做出奇怪的反应
- sql - sql except - 不包括一列
- javascript - 如何在javascript中的Formdata中形成嵌套对象
- sms - 茉莉拦截器
- c# - 通过 c# 中的进程保存在 Adobe Reader 中打开的 pdf 文件
- azure - azure 应用服务中最大连接和响应超时的自动缩放规则
- orm - ORM vs 查询生成器 vs 本机驱动程序
- pandas - KeyError:'[False False False ... False False False] 在轴中找不到'
- java - 如何将 for 循环转换为 Java 流的第一次出现?
- php - Stripe 确定付费订阅状态