Herokuログ

Herokuは様々なプログラミング言語で記述されたアプリケーションのデプロイ、実行、管理を行います。Herokuのログプレックスルーターが、アプリとHerokuのその他ソース(ディノス、ルーター、ランタイムなど)からログを収集します。ログプレックスがメッセージをソースからドレインにルーティングします。

HerokuログドレインはHTTPSでのメッセージングをサポートしており、データのバッチをPOSTリクエストでHTTPSエンドポイントに送信します。HTTPソースのURLに直接データをポストするようにHerokuアプリケーションを設定し、Site24x7アプリケーションログでそのデータを監視します。

目次

必要条件

Herokuコマンドラインインターフェースをインストールして、ターミナルからHerokuアプリを作成して管理します。

ログ管理の設定方法

  1. Site24x7にログインします。
  2. 管理 > アプリケーションログ > ログタイプ > ログタイプの追加をクリックします。
  3. ログタイプドロップダウンからHerokuログを選択します。
  4. HerokuアプリケーションとHerokuルーターログでは、デフォルトで次のログパターンが収集されます。
    ログパターン
    * <*>* $Datetime:date:yyyy-MM-dd'T'HH:mm:ss.SSSSSSX$ host $Source$ $Dyno$ $Message$
    サンプルログ
    HerokuアプリケーションログとHerokuルーターログのサンプルログは次となります。
    90 <134>1 2022-11-16T18:49:08.498249+00:00 host heroku web.1 - State changed from up to down

    290 <158>1 2022-11-21T18:13:27.538303+00:00 host heroku router - at=info method=GET path="/static/lang-logo.png" host=fathomless-taiga-38899.herokuapp.com request_id=a0c40543-6016-4ba1-8e16-201e7ee5b4b5 fwd="125.17.68.211" dyno=web.1 connect=0ms service=5ms status=304 bytes=159 protocol=https

    The sample log above can be separated into the following fields, each of which will take its respective value from here and will then be uploaded to Site24x7.
    項目名 項目値
    Datetime 2022-11-21T18:13:27.538303+00:00
    Source heroku
    Dyno router
    Message - at=info method=GET path="/static/lang-logo.png" host=fathomless-taiga-38899.herokuapp.com request_id=a0c40543-6016-4ba1-8e16-201e7ee5b4b5 fwd="125.17.68.211" dyno=web.1 connect=0ms service=5ms status=304 bytes=159 protocol=https
    項目抽出機能を使用して、正規表現ルールがHerokuルーターログメッセージを解析します。
  5. APIアップロードのURLをコピーして、HTTPSドレインコマンド設定の際に、これを入力してください。ドレインコマンドでトークンをコピーして、ドレインコマンドで置換するか、スクリーンショットのようにAPIエンドポイントURL全体をコピー後、ペーストしてください。
  6. ログタイプを保存します。

Herokuでのログの有効化

Herokuコマンドラインを開き、次のコマンドを実行します。

heroku drains:add "https://logc.site24x7.com/event/receiver?rawLogs=true&token=<Token>&logSource=<CustomAppName>" --app <ApplicationName>

上記のコマンドには、次の3つの項目が含まれています。

  • https://logc.site24x7.com/event/receiver?rawLogs=true&token=<Token>:APIエンドポイントURLです。上記の手順5のように、トークンキーを置換するか、Site24x7画面からコピーした完全なURLを入力してください。
  • <CustomAppName>:アプリを特定吸うために入力するカスタムアプリケーション名です。
  • <ApplicationName>:Herokuアプリケーション名です。

上記手順完了後、HerokuがSite24x7にログを送信します。

Herokuダッシュボード

Herokuダッシュボードでデフォルトで表示されるウィジェットは次のとおりです。

  • リクエストの合計
  • 平均接続時間
  • 平均サービス時間
  • 平均応答サイズ
  • 失敗したリクエスト
  • トップ20 失敗したリクエスト
  • リクエストトレンド
  • ロギングレベル
  • ステータスコード統計
  • サービス時間統計
  • トップ50 成功リクエスト
  • トップ10 最も遅いリクエスト

関連ログタイプ