Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • Developer Tools
    • コマンドライン
    • Heroku VS Code Extension
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Working with Node.js
      • Node.js Behavior in Heroku
      • Troubleshooting Node.js Apps
    • Ruby
      • Rails のサポート
      • Bundler の使用
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Python でのバックグランドジョブ
      • Python Behavior in Heroku
      • Django の使用
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Maven の使用
      • Spring Boot の使用
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Migrating to Heroku Postgres
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Working with AI
    • Heroku Inference
      • Inference API
      • Quick Start Guides
      • AI Models
      • Inference Essentials
    • Vector Database
    • Model Context Protocol
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
  • パターンとベストプラクティス
  • Heroku アプリの監視機能

Heroku アプリの監視機能

日本語 — Switch to English

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2023年05月09日(火)

Table of Contents

  • ログ記録
  • アプリケーションパフォーマンス監視 (APM)
  • エラー監視
  • プラットフォーム監視
  • Heroku しきい値アラート
  • 稼働時間の監視
  • アプリとデータベースのための Heroku 通知
  • Heroku Status
  • アラート管理
  • データベース監視

監視機能は問題を事前に突き止め、インシデントに素早く対応するのに役立ちます。この記事では、Heroku アプリのあらゆる側面を監視するのに必要な主要な監視ツールと、最も効果的に使用する方法の手順について説明します。

Premier または Signature Success Plan の Heroku Enterprise​ の顧客は、Customer Solutions Architecture (CSA) チームに、このトピックに関する詳細なガイダンスを要求​できます。ここでエキスパートコーチングセッション​について学習するか、または Salesforce の担当者にお問い合わせください。

ログ記録

ログ記録ツールは、Heroku アプリおよびデータベースのログを収集して格納します。インシデントの際は、ログを使用して、何が発生しているかを特定し、修正方法を絞り込むのに活用することができます。インシデントの後は、根本原因分析でログを参照することができます。

Heroku アドオン​をインストールして、ログ記録ツールを設定します。ログ​のカテゴリには、さまざまな機能と保持期間を持ついくつかのログ記録ツールが含まれているため、アドオンの機能をニーズと比較してください。

アドオンをインストールしたら、次の設定を行うことをお勧めします。

  • 選択したログ記録ツールおよびプランのログボリュームクォータを超えていないことを確認します。クォータを超えている場合、プロバイダーのプランをアップグレードするか、ログフィルタリングを設定するか、アプリのログ記録設定を調整します。
  • インシデントが起きる前にログ記録ツールの検索機能を学習しておき、インシデントが発生したときに問題を掘り下げることができるようにします
  • アプリのログにリクエスト ID でタグ付けする​ことで、特定のリクエストについてのすべてのログを収集できるようにします
  • 他のツールで表示されない可能性があるプラットフォームエラーに対し、ログベースのアラートを設定します。R14​/R15​ のメモリエラーと H10​ のアプリクラッシュから開始します。
  • 構造化ログを生成するために、アプリの言語に対してさまざまなログ記録ライブラリを検討します (Python で structlog​ など)

Heroku では、最新のログを少量保持します​が、このセクションで扱うようなツールを使用して、過去のログを保持して検索する必要があります。

 

Heroku アドオンではない既存のログ記録ツールがある場合、ログドレイン​を設定してログをそのツールに送信できます。Heroku Shield を使用している場合は、Private Space Logging​ を使用して、すべてのログを Space から外部ツールにドレインできます。

アプリケーションパフォーマンス監視 (APM)

アプリケーションパフォーマンス監視 (APM) ツールでは、アプリのパフォーマンスの詳細が表示され、速度低下の原因になっている可能性があるアプリの部分を特定するのに役立ちます。APM ツールからのデータを使用して、パフォーマンスに関する取り組みを導き、低速のエンドポイントを最適化します。

Heroku アドオン​をインストールして、APM ツールを設定します。Monitoring​ (監視) カテゴリには、New Relic APM​、Scout APM​、Solarwinds AppOptics​ などの APM ツールがあります。

アドオンのプロビジョニングが済み、それを使用するようアプリを設定したら、次のことができます。

  • 最も遅いエンドポイントを特定し、最適化する機会がないか探します。遅いエンドポイントをバックグラウンドジョブ​に変えるか、キャッシング戦略を採用することを検討します。
  • リクエストのキューイング時間を調べます。トラフィックが多いときにキューイング時間が急増している場合、アプリの並列性設定を確認します。Node​ および Ruby​ アプリに関するガイダンスを参照してください。
  • 外部 API やデータベースなどの外部サービスのパフォーマンスに注目します。外部サービスによって Web リクエストの速度が低下している場合、作業のバックグラウンド化​を検討してください。

APM ツールからの分析情報に対する操作​の詳細を参照してください。

エラー監視

エラー監視ツールは、コード、依存関係、フレームワークのいずれから発信されたかにかかわらず、アプリによってスローされた例外またはエラーを取得します。エラー監視により、エラーのスタックトレースを表示し、その根本原因にドリルダウンできます。インシデントの発生の際は、アプリからスローされるエラーを見ることで、トラブルシューティングのすばやい実行に役立ちます。

Heroku アドオン​をインストールして、エラー監視を設定します。Errors and Exceptions​ (エラーと例外) カテゴリには、Bugsnag​、Raygun​、Sentry​ などのエラー監視ツールが含まれています。

アドオンのインストール後、エラーを取得するためにそのライブラリをアプリに追加します。詳細は、各アドオンのドキュメントを参照してください。

エラー監視ツールとそのライブラリをインストールしたら、次を行います。

  • エラーの急増についてユーザーにアラートを出すようツールを設定します。それらのアラートをアラート管理ツール​に送信して、チームに連絡します
  • ツールを GitHub と統合して、新しいエラーを特定のデプロイと関連付けます

プラットフォーム監視

プラットフォーム監視ツールは dyno のメトリクス​、Postgres のメトリクス​、Redis のメトリクス​、および ルーターのメトリクス​を Heroku プラットフォームから取得し、それらを視覚ダッシュボードに表示します。これらのツールを使用して、メモリが不足している dyno やデータベース負荷の急増といった問題を表面化させます。

Heroku アドオン​をインストールして、プラットフォーム監視を設定します。Monitoring​ (監視) カテゴリには Librato​ や AppOptics​ などのプラットフォーム監視ツールが含まれています。

log-runtime-metrics を有効にして​、Heroku ログ経由で dyno レベルのメトリックをプラットフォーム監視ツールに公開します。

ツールがインストールされたら、重要なメトリックについて確認し、アラートを設定します。

  • 選択したツールがネイティブでサポートする Heroku メトリックを確認します。Librato は、デフォルトで表面化した Heroku メトリックを要約​します。
  • メモリ使用量​、dyno の負荷​、Web 応答時間、エラーレートなどの主要なシステムメトリックについてアラート​を設定します

プラットフォーム監視ツールを使用したデータベースの監視に関するヒントについては、「Heroku Postgres の監視​」を参照してください。

Heroku しきい値アラート

Heroku しきい値アラート​は、エラーレートや応答時間が大きすぎるときに通知します。一般的に、Heroku では応答時間は 500 ミリ秒以下とすることをお勧めします​。しきい値アラートではパフォーマンスの問題がほぼリアルタイムで通知されるため、ダウンタイムの原因となる前に解決できます。

アプリのしきい値アラートは、Heroku Dashboard でこれを有効化する​ことによって設定します。

しきい値アラートを設定するときは、次のようにします。

  • 応答時間のしきい値と感度は、問題を早期に見つけ出すのに十分な低さとするが、誤報を防ぐための十分な高さに設定します。
  • ツールのメール統合機能を使用してアラート管理ツール​にアラートを送信​し、問題がある場合にチームに連絡します。アラート監視ツールがない場合は、チーム全体の配信リストにアラートを送信します。

稼働時間の監視

稼働時間監視ツールは、アプリの可用性をエンドユーザーの視点から測定します。これらのツールでは、無効な DNS レコード、CDN の問題、特定のリージョンでの長い応答時間など、他のツールでは検出できない問題が検出されることがあります。

Heroku アドオン​をインストールして、稼働時間の監視を設定します。Monitoring​ (監視) カテゴリには Pingdom​ や Better Uptime​ などの稼働時間監視ツールが含まれています。

稼働時間監視ツールを使用するときは、次のようにします。

  • さまざまなリージョンからのアプリの可用性を確認するようツールを設定します
  • 公開されている URL を使用して、稼働時間検査で DNS や CDN の問題が見つかるようにします
  • アラート監視ツール​と統合して、問題がある場合にチームに連絡するようにします

アプリとデータベースのための Heroku 通知

Heroku では、次のような特定のアプリおよびデータベースイベントに対してメール通知が送信されます。

  • Heroku Postgres、Heroku Data for Redis、Apache Kafka on Heroku の通知​ (次に予定しているメンテナンスやメンテナンスステータスを含む)
  • アプリによって使用される Heroku スタック​のサポート終了
  • ユーザーの介入が必要な Heroku Connect エラー

アプリの共同作業者であるか、アプリを含むチームの管理者である場合、メール通知を受け取ります。Heroku Connect アラートを管理するには、Connect ダッシュボード​の Settings -> Manage Connection -> Access​ にアクセスします。

緊急でない通知は無視されて忘れられがちです。メールを読んで指示に従うようにしてください。

Heroku Status

Heroku Status​ では、プラットフォームのインシデントやメンテナンスの問題に関する更新情報が提供されます。メンテナンスアラートにより、チームは事前に準備することができます。インシデントアラートでは、アプリ、データベース、または Heroku のツールに影響を及ぼすおそれのある問題をチームに通知します。

Heroku Status アラートをサブスクライブする​と、アラートが発生したときにメール通知を受け取ります。

ステータス通知を設定するときは、次のようにします。

  • アラート管理ツール​のメール統合機能を使用して、重要なインシデントをアラート管理ツールに送信します。"Critical incidents only" (重要なインシデントのみ) を選択して、インシデントが本番アプリに直接影響する可能性がある場合のみチームに連絡します
  • ステータス通知をチーム配信リストに送信し、すべてのチームメンバーが情報共有の輪に入るようにします

アラート管理

アラート管理ツールは、監視ツールからのアラートをチームに通知します。

アラートの受信を「待機している」人を選択したり、その人が応答できない場合に通知する別の人を選択することができます。

PagerDuty​ や OpsGenie​ などのアラート管理ツールを設定します。

ツールを設定した後、次のことを行います。

  • 事前に作成された統合機能やメールを使用して、監視ツールからアラート管理ツールにアラートを送信します
  • いつ誰に通知するかを指定する、チームのアラートポリシーを設定します
  • アラートポリシーには、メインのチームメンバーが応答できない場合に応答するバックアップチームメンバーを含めるようにします

データベース監視

データベースのパフォーマンスはアプリのパフォーマンスに影響します。「monitoring your Heroku Postgres database​」(Heroku Postgres データベースの監視) のガイダンスを参照してください。

関連カテゴリー

  • パターンとベストプラクティス
アプリケーションの負荷テスト PgBouncer の設定

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices