また Systemd の話です。

https://luispc.com/memo/2017/08/01/9481

https://luispc.com/memo/2017/08/19/9542

今回はバックエンドに newrelic を導入しようとしたところ、
うまく動作しなかったため解決策を載せておきます。

 

原因

Systemd のせいです。
newrelic のモジュールはアプリケーションフォルダに、ログファイルを吐き出すんですが
モジュールがこれを見つけることができない(cgroupsのせいで /newrelic-log.txt を見る)ため

 

解決

newrelicのサイトに行くとnewrelic.jsを配置しないといけないわけですが

exports.config = {
app_name: [process.env.NEWRELIC_APP_NAME],
license_key: process.env.NEWRELIC_LICENSE_KEY,
logging: {
level: 'info'
}
};

こんな感じになってると思います。

モジュールを見ていくと分かったんですけど
これ以外にも設定できる項目がたくさんあります。

今回はログをきちんと見つけられるように絶対パスで指定します。

exports.config = {
app_name: [process.env.NEWRELIC_APP_NAME],
license_key: process.env.NEWRELIC_LICENSE_KEY,
logging: {
level: 'info',
filepath: '/home/node/Web-API/newrelic_agent.log', ←追加
}
};