New Relic が API インテグレーションのパブリッシャーを正しく識別するために、各インテグレーションには固有のカスタムユーザーエージェント文字列が必要です。
統合機能を社内でのみ使用し、社外の誰とも共有する予定がない場合は、独自のカスタムエージェント文字列を設定する必要はありません。
前提条件
このドキュメントでは、New Relic の公開 RESTful API を利用した統合を一般に配布することを想定しています。一般配布の例としては、以下のようなものがあります。
- 統合コードをGithubで公開する。
- 統合内容をプラグインや拡張機能などのパッケージにして、 WordPress Plugins のようなディレクトリを介して配布することです。
- "as a service" 自社製品とNew Relicの間の統合を、 Runscopeの統合 のように、統合コードを実際に配布することなく提供します。
ユーザーエージェント
New Relicの RESTful API (このドキュメントでは integration と呼びます) と連携するアプリケーションを作成する場合、アプリケーションとNew Relic間の情報交換を管理する HTTP エージェントを作成します。 インテグレーションは、標準の識別文字列を送信することによって自身を識別します。 HTTP では、この文字列はヘッダー フィールドUser-Agentに含まれます。
New Relicの RESTful APIを使用する場合は、 API呼び出しでインテグレーションを識別する User-Agent ヘッダーを設定します。 このカスタム User-Agent 文字列によりNew Relic New RelicのAPIにリクエストを行っているインテグレーションを識別できます。
カスタムユーザーエージェントを設定することで、New Relicはトラッキングを行うことができます。
- あなたのインテグレーションの使用統計。
- 潜在的にバグのある、または乱用されたAPIの使用。
ユーザーエージェントの設定
カスタム ユーザー エージェントを設定するには、HTTP ヘッダーUser-Agentにエージェント文字列を含めます。
例:
Language | Example |
---|---|
cURL |
|
Java |
|
PHP |
|
最小のユーザー エージェント文字列は、統合名とバージョン: name/version
です。複数の値をスペースで区切ったリストにまとめることができます。完全な構文は次のとおりです。
name/version [(comments)] [name/version [(comments)]] [...]
統合名には、統合を明確かつ意味のある形で示す文字列を使用してください。
曖昧な名称:New Relic Integration
明確で意味のある名前:SaaS XYZTools Integration with New Relic
統合バージョンには、ビルドIDやコミットハッシュなど、新しい統合バージョンをリリースしたときに更新される識別子を使用します。
コメントはセミコロン区切りのリストとしてかっこ()
で囲みます。
参考になるコメントを掲載します。
- 統合機能の一般にアクセス可能なURL。例えば、GithubのURLや、統合について説明しているドキュメントサイトのページなどです。
- New Relic がインテグレーションパブリッシャーに簡単に連絡できるように、連絡先情報を入力してください。
ヒント
ユーザーエージェントの文字列から得られる情報は、New Relic で共有されることはなく、出版社との統合について議論する以外の目的で使用されることもありません。
ユーザーエージェント文字列とNew Relic
New Relicでは、APIコールからユーザーエージェント文字列を取得し、ソースを特定しています。
一般に公開されている統合にカスタムユーザーエージェント文字列を使用することは、推奨されるベストプラクティスです。お客様と New Relic とのビジネス関係によっては、必須となる場合もあります。カスタムユーザーエージェント文字列で統合をラベル付けしても、New Relic の API との連携には影響しません。