Herokuログ
Herokuは様々なプログラミング言語で記述されたアプリケーションのデプロイ、実行、管理を行います。Herokuのログプレックスルーターが、アプリとHerokuのその他ソース(ディノス、ルーター、ランタイムなど)からログを収集します。ログプレックスがメッセージをソースからドレインにルーティングします。
HerokuログドレインはHTTPSでのメッセージングをサポートしており、データのバッチをPOSTリクエストでHTTPSエンドポイントに送信します。HTTPソースのURLに直接データをポストするようにHerokuアプリケーションを設定し、Site24x7アプリケーションログでそのデータを監視します。
目次
必要条件
Herokuコマンドラインインターフェースをインストールして、ターミナルからHerokuアプリを作成して管理します。
ログ管理の設定方法
- Site24x7にログインします。
- 管理 > アプリケーションログ > ログタイプ > ログタイプの追加をクリックします。
- ログタイプドロップダウンからHerokuログを選択します。
- 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ルーターログメッセージを解析します。
- APIアップロードのURLをコピーして、HTTPSドレインコマンド設定の際に、これを入力してください。ドレインコマンドでトークンをコピーして、ドレインコマンドで置換するか、スクリーンショットのようにAPIエンドポイントURL全体をコピー後、ペーストしてください。
- ログタイプを保存します。
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 最も遅いリクエスト
関連ログタイプ