重要 古いデプロイメントマーカーではなく、変更追跡 機能を使用することをお勧めします。デプロイメントマーカー機能を使用している場合は、引き続き使用できますが、ブラウザ監視 とモバイル監視 、 APM では変更追跡機能が利用できます。
アプリのデプロイは危険なイベントになる可能性があります。アプリが破損および不適切なデプロイメントが原因である場合がよくあります。New Relicを使用すると、デプロイメントを追跡できるため、デプロイメントをアプリのパフォーマンスの変化に関連付けできます。デプロイメントを追跡すると、APMチャートとダッシュボードに表示されるデプロイメントマーカーが作成されます。
この短いビデオ(4分30秒)で、デプロイメントマーカーがどのように機能するかをご覧ください。
デプロイメント追跡のオプション New Relic REST API v2 を使用すると、新しいデプロイメントを記録し、過去のデプロイメントリストを取得できます。さらに、一部のAPMエージェントには、デプロイメントを自動的に記録するエージェント固有の方法があります。
New Relicでスラック インテグレーション、または単純なwebhookを使用して、APMがモニターしているアプリケーションのデプロイメントをチームにリアルタイムで通知できます。スラックは、選択されたスラックチャネルにフォーマットされて表示される汎用JSONを投稿できるwebhook URLを提供します。
記録された後に、New Relic UIでデプロイメントを表示できる場所がいくつかあります。
APM概要 、サービス概要、エンティティの概要ページ のアクティビティフィード。APMパフォーマンスチャートでは、チャートマーカー(ピンヘッド付きの縦線)として表示されます。 ダッシュボードチャートでは、チャートマーカーとして表示されます。 パフォーマンスの概要については、デプロイメント ページに表示されます。 ヒント デプロイメントマーカーはブラウザアプリケーションでは使用できませんが、次の代替手段を試すことができます。
デプロイメントマーカーからブラウザアプリケーションの変更を追跡できる変更追跡 機能に切り替えます。 リリースバージョンでエラーをタグ付けする方法については、ブラウザのリリース を参照してください。 REST APIによるデプロイメントの記録 New Relic REST API v2を使用して、デプロイメントを記録、過去のデプロイメントのリストを取得できます。
このドキュメントの例では、コマンドラインツールとしてcurl
を使用しています。ただし、RESTリクエストには任意の方法を使用できます。デプロイメントの作成および表示は、APIエクスプローラー でもできます。
JSONは、要素名とコンテンツにダブルクォート"
を使用します。シングルクォート'
の使用は、エラーの原因となります。
この例は、
ユーザーキー
または
REST APIキー
のいずれかに使用できるX-Api-Key
を使用しています。ユーザーキーは、REST APIへのアクセス方法として推奨されており、使用時にApi-Key
ヘッダーを使用できます。
POSTでデプロイメントを記録する 新しいデプロイメントを記録するには、APIキー を含むPOST
リクエストをデプロイメントエンドポイントに送信します。ペイロードをJSON形式で添付します(文字制限とJSONパラメーター )を参照)。ペイロードのパラメーターは、revision
を除いてすべてオプションです。
たとえば、
$ curl -X POST "https://api.newrelic.com/v2/applications/ $APP_ID /deployments.json" \
> -H "X-Api-Key: $API_KEY " \
> -H "Content-Type: application/json" \
$ "revision": "REVISION",
$ "changelog": "Added: /v2/deployments.rb, Removed: None",
$ "description": "Added a deployments resource to the v2 API",
$ "user": "datanerd@example.com",
$ "timestamp": "2019-10-08T00:15:36Z"
PowerShellでデプロイメントを記録する PowerShellでデプロイメントを記録するには、APIキー を含むPOST
リクエストをデプロイメントエンドポイントに送信します。ペイロードをJSON形式で添付します(文字制限とJSONパラメーター )を参照)。ペイロードのパラメーターは、revision
を除いてすべてオプションです。
この例では、PowerShellバージョン3以上を使用しています。
Invoke-WebRequest - Uri https: / / api . newrelic . com/v2/applications/YOUR_APP_ID/deployments . json - Method POST - Headers @ { 'X-Api-Key' = '$API_KEY' } - ContentType 'application/json' - Body '{
"changelog": "Added: /v2/deployments.rb, Removed: None",
"description": "Added a deployments resource to the v2 API",
"user": "datanerd@example.com",
"timestamp": "2019-10-08T00:15:36Z"
この例では、PowerShellバージョン2を使用しています(.NETフレームワーク3.5以上が必要)。
$encoding = [System.Text.Encoding] ::GetEncoding ( "ASCII" )
"changelog": "Added: /v2/deployments.rb, Removed: None",
"description": "Added a deployments resource to the v2 API",
"user": "datanerd@example.com",
"timestamp": "2019-10-08T00:15:36Z"
$postData = $encoding . GetBytes ( $data )
$request = [System.Net.WebRequest] ::Create ( 'https://api.newrelic.com/v2/applications/$APP_ID/deployments.json' )
$request . Headers . add ( 'X-Api-Key' , '$API_KEY' )
$request . ContentType= 'application/json'
$stream = $request . GetRequestStream ( )
$stream . Write ( $postData , 0 , $postData . Length )
GETでデプロイメントリストを表示する アプリの過去のデプロイメントすべてのリストを取得するには、APIキー を含むGET
リクエストをデプロイメントエンドポイントに送信します。GETリクエストにはJSONペイロードは使用しません。
たとえば、
$ curl -X GET "https://api.newrelic.com/v2/applications/ $APP_ID /deployments.json" \
> -H "X-Api-Key: $API_KEY " \
GETからのサンプル出力 この例では、アプリケーションID9999999
のデプロイメントリストを取得します。
$ curl -X GET "https://api.newrelic.com/v2/applications/9999999/deployments.json" \
> -H "X-Api-Key:ABCDEFGHIJKLMNOPQRSTUVWXabcdefghijklmnopqrstuvwx" \
APIはこのデプロイメントリストを返します。
ETag : "ABCDEFGHIJKabcdefghijk0123456789"
Cache-Control : max-age= 0 , private , must-revalidate
Content-Type : application/json
"revision" : "1234123412341234123412341234123412341234" ,
"changelog" : "Fixed the bugs for real this time" ,
"description" : "Example description two" ,
"timestamp" : "2016-02-24T10:09:27-08:00" ,
"revision" : "7890789078907890789078907890789078907890" ,
"changelog" : "Think I fixed all the bugs" ,
"timestamp" : "2014-10-22T12:23:47-07:00" ,
"deployment.agent" : "/v2/applications/{application_id}"
文字制限とJSONパラメーター JSONペイロードには、以下のパラメーターを含めることができます。
重要 絵文字や非ラテン言語のグリフなど、UTF-8で4バイト文字は、デプロイメントテキストには使用できません。
パラメーター
データ型
説明
revision
文字列、最大127文字
Required このデプロイメントのユニークID。概要 ページとデプロイメント ページで表示できます。 任意の文字列を指定できますが、通常はバージョン番号またはGitのチェックサムです。
changelog
文字列、最大65535文字
Optional このデプロイメント内の変更の概要。(selected deployment) > Change log を選択する場合、デプロイメント ページに表示されます。
description
文字列、最大65535文字
Optional このデプロイメントの大まかな説明。各デプロイメントを選択する場合は、概要 ページとデプロイメント ページに表示されます。
user
文字列、最大31文字
Optional デプロイメントと関連付けるユーザー名。概要 ページとデプロイメント ページに表示されます。
timestamp
ISO 8601
Optional デプロイメントが発生すると、セカンドに移ります。指定されないと、デプロイメントはAPIコールの受け取り時に記録されます。タイムスタンプの要件:
UTC時間である必要があります。 最新のデプロイメントタイムスタンプの後である必要があります。 将来にはできません。 ISO8601のフォーマットである必要があります(例:"2019-10-08T00:15:36Z"
)。
New Relicエージェントを使用したデプロイメントの記録 一部のエージェントには、デプロイメントを記録する追加メソッドがあります。
デプロイメント詳細の表示 デプロイメント情報を設定すると、UIで詳細を表示してドリルダウンできます。ヒントについては、変更追跡ドキュメントNew Relicでの変更を表示および分析する方法 を参照してください。
チームへのデプロイメントの通知 REST API、または新しいGraphQL API を使用してデプロイメントを追跡している場合、Webhookを使用してチームメンバーに通知できます。詳細については、変更追跡Webhookの手順 を参照してください。