Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。Add-onを見ました。今回はもう1つの必須Add-onである「ログ関連のAdd-on」を見ていきます。Webサービスを運営する上で、ログの監視は欠かすことができません。システム構築においても、運営時のログ監視のことを考えておく必要があります。本稿では、Herokuのログ集約機能とログ監視を支援するAdd-onを紹介します。S3へのアーカイブメールあるいはチャットなどへの通知Logentriesが持つその他の機能タグAnomaly通知(有償プランのみ)Inactivity通知(有償プランのみ)グラフLogentriesとPapertrail、どちらを使うべきか?まとめHerokuの料金体系改定について本題に入る前に、5月上旬に発表されたHerokuの料金体系の改定について触れておきます。5月7日のHerokuのブログにおいて、2015年6月以降、Herokuの料金体系が大きく改定されることがアナウンスされました。dynos」というメッセージが表示され、新しい料金体系への変更が促されます。新しい料金体系では以下の5つのプランがあります。2XPerformanceそれぞれのプランの詳細はこちらの表にまとまっています。以前に比べると、かなりシンプルで分かりやすくなっているのではないでしょうか。Hourベースの料金体系からDynoサイズに基づく月額固定料金となった無償プランでは1日6時間(以上)のスリープが必須になった趣味で運用するようなアプリケーションのために、7米ドル/月のHobbyプランが新設された一部の機能が完全にStandardプラン以上での提供となったという感じです。個人で無償枠を利用してサービスを運用していた人にとっては、7米ドルのコストがかかるようになったのは痛いかもしれませんが、複数Dynoを利用してサービスを運用していた人にとっては、むしろ値下げとなっています[1]。以前は750時間の無償枠があったので必ず安くなるわけではありませんが。Herokuアプリケーションからログを出力するそれでは本題のログについて、話を始めましょう。Heroku上で動くアプリケーションからどのようにしてログを出力すればよいかというと、これは単純に標準出力に文字列を出力するだけです。Javaなら「System.out.println」、Rubyなら「puts」だけでもOKです(もちろん、何らかのLoggerクラスを使用したほうがよいですが)。一般にオンプレミス、あるいはIaaS上のクラウドサーバ上でアプリを実行する場合には、ログはファイルに出力するように設定することが多いと思います。Herokuの場合、ファイル出力を指定すると、逆にDyno再起動のタイミングでそれまでに記録したログが消えてう点に注意が必要です。Herokuのログ集約エンジン「Logplex」こうして出力されたログは「Logplex」というログの収集エンジンによって集約されます。Dynoを2台で運用している場合、それぞれのDynoが別々にログを出力しますが、Logplexはこれらを集約してくれます。そのおかげでユーザは、あたかも1つのアプリケーションサーバがログを出力したかのように統合された形でログを見ることができます[2]。Logplexが集約するログ情報には、ユーザが自分で出力した情報だけでなく、次のようなHeroku自身が出力するログも含まれます。Routerからのログ出力には、以下の情報が含まれます。HTTPボディサイズ一般的なWebアプリケーションが必要とするアクセスログ情報は概ね含まれていると思いますが、特にservice時間が出力されるのがうれしいところです。service時間は、パフォーマンス調整をする際の重要な手掛かりとなります。そのログがどのDynoから出力されたログであるかは、ログの属性情報として出力されます。シュンジ)株式会社Giveryに所属するエンジニア。CODEプロジェクトというエンジニアの成長を促進するプラットフォーム開発のテックリード。Herokuも使った新しいプロダクトを今秋リリース予定。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。12:00法務担当者、6割超が今後業務で「生成AIを使用したい」と回答。NEW新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。