Application Metrics
3つめの機能はApplication Metricsです。
Herokuには、アプリケーションの設計や開発時において、便利な機能が多数搭載されていますが、このアプリケーションのパフォーマンスや状態を監視するためのMetrics機能まで充実していることは意外と知られていないのではないでしょうか?
Herokuのモニタリング機能であるApplication Metricsは、Herokuダッシュボードのアプリケーションページからアクセスできます。取得できる情報は非常に多岐にわたり、それぞれのMetricsは最大7日前まで確認できます。
Application Metricsで取得できる情報
- メモリ利用状況(上限、使用量、スワップなど)
- Dynoのロード(平均、最大)
- プラットフォームイベント(再起動、デプロイ、スケールなど)
- アプリケーションイベント(エラー、警告、情報など)
- [Web Dynoのみ]アプリケーションのレスポンス時間(平均、最大、実質平均時間想定など)
- [Web Dynoのみ]スループット
この他にも、アプリケーションのエラーやスループットの低下が起きた際に、どのようにすればいいかをサポートするApplication Guidanceの機能や、アプリケーションに問題が発生した際に、特定のメールアドレスやチームのメンバーにアラートを自動で送信する機能も用意してあるため、Metricsと一日中にらめっこしなくても、問題が発生した際に素早く状況を把握して対処できます。
さらに、Java VMのステータスなど、アプリケーション固有の情報を取得したい場合には、Herokuが提供するBuildpackを追加すれば、環境固有の情報を集めてMetricsに追加することもできます。
例えばJava VMの状況を知りたい場合、以下のBuildpackを追加します。
heroku buildpacks:add https://github.com/heroku/heroku-buildpack-metrics
現在(2017年7月時点)、このBuildpackを使ったMetricsの追加は、Betaの扱いで対応できる環境はJava VMのみとなりますが、今後は他の言語や環境にも対応を拡大していく予定です。
おわりに
いかがでしたでしょうか? 今回は多少マニアックですが、痒いところに手が届くHerokuの便利機能をご紹介しました。
Herokuは機能をよく知って使い込めば使い込むほど、アプリケーションの開発や運用の効率を高めていくことができます。今回ご紹介した内容はすぐに活用できるものが多いので、ぜひ実際の開発プロジェクトにも活用してみて下さい。