ログ データが Heroku のビルトインLogplexルーターによって既に監視されている場合は、統合を使用してログ データを New Relic に転送し、強化することができます。
HerokuログをNew Relicに転送すると、ログ データの収集、処理、調査、クエリ、集計を行う機能が強化されます。
現在、 Heroku HTTPS ドレーンとHeroku Syslog ドレーンをサポートしています。
Heroku HTTPS ドレインを使用すると、カスタム メタデータをログに追加できます。そうすれば、アプリケーション名やその他の必要な属性など、ドレインごとに異なる属性を設定できます。また、新しいドレインを登録して削除するプロセス全体が、syslog を使用するよりも簡単です。
対応する Heroku Syslog ドレインでは、このカスタム メタデータを追加できないため、ログで構成されたドレインを区別するのが難しくなります。
Heroku HTTPS ドレイン
このタイプのドレインを構成するには:
admin ロールを持っていることを確認します。
NewRelicMarketplaceに移動します。
Logging
の下にある
Heroku
タイルをクリックします。 検索バーを使用して検索することもできます。複数のアカウントがある場合は、ログを送信するアカウントを選択します。
オプション: ログ ドレインにカスタム メタデータを追加し、必要なキー ペアをリストに入力する場合は、
Add metadata
をクリックします。
アプリケーションに名前を付けます。 後でデータを見つけるために使用します。
Copy to clipboard
ボタンをクリックして、Heroku CLI コマンドをクリップボードにコピーします。
Heroku CLI が設定されているディレクトリのターミナルに移動します。 Windows VMを使用している場合は、Git Bash の代わりに従来のコマンド プロンプトを使用します。
ターミナルでコマンドを実行します。
オプション: ログが New Relic に到達しているかどうかを確認する場合は、
Test for logs
をクリックします。
Heroku Syslog のドレイン
インストール、削除が簡単で、ログにカスタム属性を追加できるため、可能な限りHeroku HTTPS ドレインを使用することをお勧めします。
Heroku Syslog drainの作成
セットアップが簡単で、ログに属性を追加できるため、Heroku HTTPS ドレインを使用することをお勧めします。ただし、syslog ドレインを使用する必要がある場合の手順は次のとおりです。
管理者の役割を持っていることを確認してください。
Heroku CLI をダウンロードしてインストールします。
Heroku CLIを使用してSyslogドレインを作成し、ログをストリーミングするアプリケーションにアタッチして、
YOUR_APP_NAME
をHerokuアプリケーションの名前に置き換えます。bash$heroku drains:add syslog+tls://newrelic.syslog.nr-data.net:6515 -a YOUR_APP_NAMEヨーロッパにお住まいの場合は、代わりに次のコマンドを実行してください。
bash$heroku drains:add syslog+tls://newrelic.syslog.eu.nr-data.net:6515 -a YOUR_APP_NAME次のコマンドを実行し、HerokuSyslogドレイントークンを
token
属性からコピーします。bash$heroku drains -a YOUR_APP_NAME --json{"addon": null,"created_at": "2018-12-04T00:59:46Z","id": "906262a4-e151-45d2-b35a-a2dc0ea9e688","token": "d.f14da5dc-106b-468d-b1bd-bed0ed9fa1e7","updated_at": "2018-12-04T00:59:47Z","url": "syslog+tls://newrelic.syslog.nr-data.net:6515"}
Herokusyslogドレインを登録する
次に、新しく作成したHeroku Syslog drainをNew Relicに登録する必要があります。
admin ロールを持っていることを確認します。
NewRelicMarketplaceに移動します。
Logging
の下にある
Heroku (syslog)
タイルをクリックします。 検索バーを使用して検索することもできます。複数のアカウントをお持ちの場合は、ドレイントークンを登録したいアカウントを選択してください。
新しく作成した Heroku ドレイン トークンを
Heroku drain token
フィールドに貼り付けます。
登録を完了するには、
Add Heroku drain log
クリックしてください。
重要
Herokuは現在、Logplexから送信されるログのフォーマットのカスタマイズをサポートしていません。詳しくは、 Heroku's log format documentation をご覧ください。
このドキュメントはインストールの役に立ちましたか?
Herokusyslogドレイントークンマッピングを削除します
New Relic UI または API を使用して、Heroku syslog ドレイン トークン マッピングを削除できます。
UI を介して Heroku syslog ドレイン トークン マッピングを削除するには:
admin ロールを持っていることを確認します。
NewRelicMarketplaceに移動します。
Logging
の下にある
Heroku (syslog)
タイルをクリックします。 検索バーを使用して検索することもできます。複数のアカウントがある場合は、削除するドレイン トークン マッピングを含むアカウントを選択し、
Continue
をクリックします。 それ以外の場合は、手順 6 に進みます。
削除するドレイン トークン マッピングを見つけて、その横にある縦の 3 つのドットのアイコンをクリックします。 次に、
Delete Heroku drain token
をクリックします。
Herokuドレイントークンマッピングが削除されます。
REST API 経由で Heroku syslog ドレイン トークン マッピングを削除するには:
を検索または生成します。
以下のコマンドを実行して、New Relic アカウントから Heroku ドレイン トークン マッピングのリストを取得し、
YOUR_NR_LICENSE_KEY
とYOUR_NR_ACCOUNT_ID
の値を必ず更新してください。bash$curl -H 'api-key: YOUR_NR_LICENSE_KEY' https://log-syslog-configuration-api.service.newrelic.com/heroku-account-mappings?accountId=YOUR_NR_ACCOUNT_IDフォーマットされた結果は次のようになります。
[{"herokuMappingId": 1549,"drainToken": "YOUR_DRAIN_TOKEN","nrApiInsertKey": "YOUR_DRAIN_TOKEN_NR_API_KEY","createdAt": "2022-05-13T07:47:23","createdBy": "YOUR_EMAIL_ADDRESS"}]削除するドレイントークンごとに
herokuMappingId
が必要です。ドレイン トークンを削除するには、以下のコマンドを実行します。 最後の手順で取得した
YOUR_NR_LICENSE_KEY
、YOUR_NR_ACCOUNT_ID
、およびherokuMappingId
の値を必ず更新してください。bash$curl -X DELETE -H 'api-key: YOUR_NR_LICENSE_KEY' https://log-syslog-configuration-api.service.newrelic.com/heroku-account-mappings/<herokuMappingId>?accountId=YOUR_NR_ACCOUNT_ID
完了すると、API は HTTP 204 応答を返し、ドレイン トークン マッピングは削除されます。
ログデータを表示する
すべてが正しく構成され、データが収集されている場合は、次の両方の場所にデータログが表示されます。
SELECT * FROM Log
ログ管理機能を有効にしてもデータが表示されない場合は、標準のログトラブルシューティング手順に従ってください。
次は何ですか?
- ログ UIを使用して、プラットフォーム全体のログ データを調べます。
- ログインコンテキスト機能を使用してログを転送することにより、アプリケーションとプラットフォームのパフォーマンスデータの両方をより深く把握できます。
- アラートを設定します。
- データをクエリし、ダッシュボードを作成します。
ログ転送を無効にする
ログ転送機能を無効にするには、 Heroku Syslog documentation に記載されている標準的な手順に従ってください。New Relicでは他に何もする必要はありません。