ログ データが Heroku のビルトインLogplexルーターによって既に監視されている場合は、統合を使用してログ データを New Relic に転送し、強化することができます。
HerokuのログをNew Relicに転送することで、ログ管理機能が強化され、ログデータの収集、処理、探索、クエリ、アラートなどが可能になります。
現在、 Heroku HTTPS ドレーンとHeroku Syslog ドレーンをサポートしています。
Heroku HTTPS ドレインを使用すると、カスタム メタデータをログに追加できます。そうすれば、アプリケーション名やその他の必要な属性など、ドレインごとに異なる属性を設定できます。また、新しいドレインを登録して削除するプロセス全体が、syslog を使用するよりも簡単です。
対応する Heroku Syslog ドレインでは、このカスタム メタデータを追加できないため、ログで構成されたドレインを区別するのが難しくなります。
Heroku HTTPS ドレイン
このタイプのドレインを構成するには:
- admin ロールを持っていることを確認します。
- NewRelicMarketplaceに移動します。
- Loggingで、
Heroku
タイルをクリックします。検索バーを使用して検索することもできます。 - 複数のアカウントがある場合は、ログを送信するアカウントを選択します。
- オプション: カスタム メタデータをログ ドレインに追加し、必要なキー ペアをリストに入力する場合は、[メタデータの追加] をクリックします。
- [ URL を生成] をクリックします。ヘッダーなしの URL が生成され、ドレイン トークンを設定する Heroku CLI コマンドに沿って表示されます。
- [クリップボードにコピー] ボタンをクリックして、Heroku CLI コマンドをクリップボードにコピーします。
- Heroku CLI がセットアップされているディレクトリのターミナルに移動します。
- コマンドを貼り付けて、
{{YOUR_APP_NAME}}
を Heroku アプリケーション名に置き換えます。 - オプション: ログが New Relic に到達しているかどうかを確認するには、[ログのテスト] をクリックします。
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 drain token の欄に、新しく作成したHeroku drain tokenを貼り付けます。
- [ Heroku ドレイン ログを追加] をクリックして、登録を完了します。
重要
Herokuは現在、Logplexから送信されるログのフォーマットのカスタマイズをサポートしていません。詳しくは、 Heroku's log format documentation をご覧ください。
このドキュメントはインストールで役立ちましたか。
Herokusyslogドレイントークンマッピングを削除します
New Relic UI または API を使用して、Heroku syslog ドレイン トークン マッピングを削除できます。
UI を介して Heroku syslog ドレイン トークン マッピングを削除するには:
- admin ロールを持っていることを確認します。
- NewRelicMarketplaceに移動します。
- Loggingで、
Heroku (syslog)
タイルをクリックします。検索バーを使用して検索することもできます。 - 複数のアカウントがある場合は、削除するドレイントークンマッピングを含むアカウントを選択して、[続行]をクリックします。それ以外の場合は、手順6に進みます。
- 削除するドレイントークンマッピングを見つけて、その横にある縦の3つのドットのアイコンをクリックします。次に、[ Herokuドレイントークンの削除]をクリックします。
- Herokuドレイントークンマッピングが削除されます。
REST API 経由で Heroku syslog ドレイン トークン マッピングを削除するには:
を検索または生成する
.
以下のコマンドを実行して、New Relic アカウントから Heroku ドレイン トークン マッピングのリストを取得し、 YOUR_NR_LICENSE_KEYとYOUR_NR_ACCOUNT_IDの値を更新してください。
$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
( https://docs.newrelic.com/docs/apis/intro-apis/new-relic-api-keys/#license-key)、`YOUR_NR_ACCOUNT_ID`(https:// docs.newrelic.com/docs/accounts/accounts-billing/account-structure/account-id/,%60YOUR_NR_ACCOUNT_ID%60(https://docs.newrelic.com/docs/accounts/accounts-billing/account-structure/account-id/) )、最後のステップで取得したherokuMappingId
:bash$curl -XDELETE -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では他に何もする必要はありません。