Support to install newrelic
leroy0211 opened this issue · 4 comments
Hi,
We use newrelic a lot in our projects, and I'm wondering if this is a great candidate to install with install-php-extensions
.
This might be related to #784 , but it was closed with status completed
.
I don't know newrelic... is it a PHP extension? How do you install it?
newrelic is a APM monitoring tool, which uses a newrelic.ini
file for configuration, located in $PHP_INI_DIR
.
There are basically 2 ways of using the newrelic php daemon. Either as separate container, or in the same container as php is running. Both need the newrelic php agent installed in the image that is running php.
The newrelic agent adds a few "native" php functions to interact with newrelic. see: https://docs.newrelic.com/docs/apm/agents/php-agent/php-agent-api/guide-using-php-agent-api/
We usually install newrelic in our images like so:
RUN cd ~ \
&& export NEWRELIC_VERSION="$(curl -sS https://download.newrelic.com/php_agent/release/ | sed -n 's/.*>\(.*linux\).tar.gz<.*/\1/p')" \
&& curl -sS "https://download.newrelic.com/php_agent/release/${NEWRELIC_VERSION}.tar.gz" | gzip -dc | tar xf - \
&& cd "${NEWRELIC_VERSION}" \
&& NR_INSTALL_SILENT=true ./newrelic-install install \
&& NR_SO_FILE=`readlink /usr/local/lib/php/extensions/no-debug-non-zts-*/newrelic.so` \
&& mv "${NR_SO_FILE}" /usr/local/lib/php/extensions/no-debug-non-zts-*/newrelic.so \
&& chown -R www-data:www-data /var/log/newrelic \
&& cd .. \
&& unset NEWRELIC_VERSION \
&& rm -rf "${NEWRELIC_VERSION}"
A few notes, this doesn't change the newrelic.ini file located in $PHP_INI_DIR
, so neither a license key or application name is configured (which are the minimum requirements for this extension to work).
We often mount a separate newrelic.ini
in our containers, which override the default newrelic.ini
What do you think? Would this be a php extension to add to docker-php-extension-installer
?
Thanks for the detailed instructions!
Done.
thank you, it works