また 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', ←追加
}
};