ブログ

DrupalアプリケーションのモニタリングにNew Relicを活用しよう

New RelicでDrupalアプリケーションをモニタリングする際に便利な機能や設定内容をご紹介します。

アプリケーションを監視したりパフォーマンス分析するためのAPM(Application Performance Monitoring)ツールは世の中にたくさんあります。アクイアではAcquia Cloud Platformで稼働するDrupalアプリケーションをモニタリングする方法として New Relic が利用できるようになっています。

本記事では、New RelicでDrupalアプリケーションをモニタリングする際に便利な機能や設定内容をご紹介します。NRUG (New Relic User Group) Vol.2 で発表したLT内容を書き起こしたものです。

Acquia Cloud Platformサブスクリプションをお持ちの方は、New Relic APMを無料で使うことができます。まだ使いはじめていない方は、この機会にぜひ導入してはいかがでしょうか。

New RelicによるDrupal固有の機能

New Relicでは、Drupalに特化したメトリクスを取得して可視化してくれる機能が用意されています。

導入方法は、Drupalアプリケーションが動くサーバーにPHPエージェントを導入した上で、New Relic設定ファイルの newrelic.framework.drupal.modules 値を1に設定してあげることで有効化されます。ですがデフォルトでは有効化された状態らしいので、特に設定をいじらずとも使い始めることができます。

これによって、モジュール単位、フック単位、Views単位という切り口で調査できるようになります。

Image
new relic

取得できるメトリクス

  • Views - Viewsの view::execute メソッド内で費やされた時間を示します。
  • Hooks - 各フック内で費やされた時間を示します。 module_invokemodule_invoke_all 関数によって算出されます。
  • Modules - 各モジュール内で費やされた時間を示します。(New RelicのPHPエージェントの)バージョン3.5以降、 module_invokemodule_invoke_all 関数によって算出されます。

Drupalモニタリングをもっと便利にするモジュール

有志のDrupalコントリビューターが作成したNew Relicモジュールを使用することで、New Relic活用の幅をさらに広げることができます。

できること① Deploymentの作成

Deploymentは手動で作成、あるいはDrupalモジュールの有効化/非有効化や、configurationのインポートをトリガーにすることができます。Deploymentを作成するには、Drupal管理画面でRest API キーをセットする必要があります。本番環境がデプロイされた際にDeployment機能でマークしておくと、デプロイに起因した問題が発生していないかをグラフから確認できます。

Image
new relic

 

できること② DrushコマンドやCronの取り扱い

DrupalのCLI(Drush)やCronによるトランザクションの取り扱いについて、管理画面で設定することができます。

  • Ignore completely - 無視する
  • Track as background tasks - バックグラウンドタスクとしてトラックする
  • Track normaly - アプリ内の他URLと同じようにトラックする
     

例えば Track as background tasks に設定すると、New Relicでは Non-web transactions として扱われるようになり、バッチ処理のようなバックグラウンドタスクと、通常のWebリクエストを分けてグラフ化することができます。

Image
new relic

 

できること③ ログメッセージの転送

DrupalのwatchdogログメッセージをエラーとしてNew Relicに転送する設定が行えます。これによってNew Relic画面でログメッセージを閲覧したり、アラート対象とすることができます。設定時にwatchdogのどの重要度のメッセージを転送するかを選べます。例えばEmergencyとAlertのみ転送する、といったことが可能です。New Relicでは、watchdogログで示される重要度に関係なく、転送されたメッセージは全てエラーとして取り扱われます。

Image
new relic

 

できること④ URLによるフィルタリングや選別

特定のURLを無視したり、逆に特定のURLのみ追跡する設定、特定のURLをバックグラウンドタスクとして認識させる設定が行えます。

Image
new relic

まとめ

New RelicでDrupalアプリケーションをモニタリングする際に便利な機能や設定内容をまとめました。Drupalアプリのトラブルシューティングやパフォーマンス改善にお役立ていただけると嬉しいです。

2022年4月にNew Relicジャパンさんとのウェビナーを開催します。New Relicにご興味ある方はこちらもぜひご確認ください。

関連リソース

全て表示する