Login Logout

Howto NewRelic

Installer l’agent Servers “sysmond”

Doc officielle : https://docs.newrelic.com/docs/servers/new-relic-servers-linux/installation-configuration/servers-installation-ubuntu-debian

# echo 'deb http://apt.newrelic.com/debian/ newrelic non-free' > /etc/apt/sources.list.d/newrelic.list
# wget -O /etc/apt/trusted.gpg.d/newrelic.asc https://download.newrelic.com/548C16BF.gpg
# dos2unix /etc/apt/trusted.gpg.d/newrelic.asc
# chmod 644 /etc/apt/trusted.gpg.d/newrelic.asc
# apt update
# apt install newrelic-sysmond
# nrsysmond-config --set license_key=<votre clé de licence>
# systemctl start newrelic-sysmond

Installer l’agent PHP

Doc officielle : https://docs.newrelic.com/docs/agents/php-agent

# echo 'deb http://apt.newrelic.com/debian/ newrelic non-free' > /etc/apt/sources.list.d/newrelic.list
# wget -O /etc/apt/trusted.gpg.d/newrelic.asc https://download.newrelic.com/548C16BF.gpg
# dos2unix /etc/apt/trusted.gpg.d/newrelic.asc
# chmod 644 /etc/apt/trusted.gpg.d/newrelic.asc
# apt update
# apt install newrelic-php5
# newrelic-install install
# rm /etc/php5/conf.d/newrelic.ini
# systemctl restart <votre serveur web>

Debconf vous demandera la clé de license à mettre. On pourra aussi la mettre à la main dans /etc/php5/mods-available/newrelic.ini.

Divers

Désactiver les requêtes à AWS

Il arrive que NewRelic fasse des requêtes à l’adresse http://169.254.169.254/2009-04-04/meta-data/instance-id qui est une API utilisée par AWS pour mettre à disposition des méta-données.

Lorsqu’on n’est pas chez AWS ça n’a aucune utilité. On peut désactiver cette fonctionnalité dans la configuration avec utilization.detect_aws: false.

Documentation : https://docs.newrelic.com/docs/agents/ruby-agent/configuration/ruby-agent-configuration#utilization (valable pour les agents Ruby et autres)

Dans le cas de newrelic-daemon :

# ps auwx | grep newrelic
root      6925  0.0  0.0 188284  7660 ?        Ssl  Apr27   0:00 /usr/bin/newrelic-daemon --agent --pidfile /var/run/newrelic-daemon.pid --logfile /var/log/newrelic/newrelic-daemon.log --port /tmp/.newrelic.sock --tls --define utilization.detect_aws=true --define utilization.detect_docker=true
root      6936  0.1  0.0 1467440 21840 ?       Sl   Apr27   1:20 /usr/bin/newrelic-daemon --agent --pidfile /var/run/newrelic-daemon.pid --logfile /var/log/newrelic/newrelic-daemon.log --port /tmp/.newrelic.sock --tls --define utilization.detect_aws=true --define utilization.detect_docker=true -no-pidfile

S’il n’y a que la config d’exemple, alors c’est le module PHP qui fournit sa commande. Elle est gérée dans /etc/php5/mods-available/newrelic.ini. Sinon, on peut copier la config d’exemple (# cp /etc/newrelic/newrelic.cfg.template /etc/newrelic/newrelic.cfg).

On doit ajuster les variables utilization.detect_aws (idem pour docker).

Si on gère le démon via le script d’init (donc pas via PHP), il faut relancer le démon :

# /etc/init.d/newrelic-daemon restart