重要 古いデプロイメントマーカーではなく、変更追跡 機能を使用することをお勧めします。デプロイメントマーカー機能を使用している場合は、引き続き使用できますが、ブラウザとモバイル、およびAPMでは変更追跡機能が利用できます。
アプリのデプロイは危険なイベントになる可能性があります。アプリが破損および不適切なデプロイメントが原因である場合がよくあります。New Relicを使用すると、デプロイメントを追跡できるため、デプロイメントをアプリのパフォーマンスの変化に関連付けできます。デプロイメントを追跡すると、APMチャートとダッシュボードに表示されるデプロイメントマーカーが作成されます。
この短いビデオ(4分30秒)で、デプロイメントマーカーがどのように機能するかをご覧ください。
デプロイメント追跡のオプション New Relic REST API v2 を使用すると、新しいデプロイメントを記録し、過去のデプロイメントリストを取得できます。さらに、一部のAPMエージェントには、デプロイメントを自動的に記録するエージェント固有の方法があります。
New Relicでスラック インテグレーション、または単純なwebhookを使用して、APMがモニターしているアプリケーションのデプロイメントをチームにリアルタイムで通知できます。スラックは、選択されたスラックチャネルにフォーマットされて表示される汎用JSONを投稿できるwebhook URLを提供します。
記録された後に、New Relic UIでデプロイメントを表示できる場所がいくつかあります。
APM概要 、サービス概要、エンティティの概要ページ のアクティビティフィード。APMパフォーマンスチャートでは、チャートマーカー(ピンヘッド付きの縦線)として表示されます。 ダッシュボードチャートでは、チャートマーカーとして表示されます。 パフォーマンスの概要については、デプロイメント ページに表示されます。 ヒント デプロイメントマーカーはまだブラウザアプリケーションでは利用できませんが、それをサポートする新しいAPIをまもなくリリースする予定です。限定プレビューへの参加についての詳細は、このサインアップフォーム からお問い合わせください。また、リリースバージョンでエラーをタグ付けする方法については、ブラウザのリリース を参照してください。
REST APIによるデプロイメントの記録 New Relic REST API v2を使用して、デプロイメントを記録、過去のデプロイメントのリストを取得できます。
このドキュメントの例では、コマンドラインツールとしてcurl
を使用しています。ただし、RESTリクエストには任意の方法を使用できます。デプロイメントの作成および表示は、APIエクスプローラー でもできます。 JSONは、要素名とコンテンツにダブルクォート"
を使用します。シングルクォート'
の使用は、エラーの原因となります。 POSTでデプロイメントを記録する 新しいデプロイメントを記録するには、APIキー を含むPOST
リクエストをデプロイメントエンドポイントに送信します。ペイロードをJSON形式で添付します(文字制限とJSONパラメーター )を参照)。ペイロードのパラメーターは、revision
を除いてすべてオプションです。
たとえば、
curl -X POST "https://api.newrelic.com/v2/applications/$APP_ID /deployments.json" \
-H "Api-Key:$API_KEY " \
-i \
-H "Content-Type: application/json" \
-d \
'{
"deployment": {
"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 @{'Api-Key'='$API_KEY '} -ContentType 'application/json' -Body '{
"deployment": {
"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バージョン2を使用しています(.NETフレームワーク3.5以上が必要)。
$encoding = [System.Text.Encoding]::GetEncoding("ASCII")
$data ='{
"deployment": {
"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"
}
}'
$postData = $encoding.GetBytes($data)
$request = [System.Net.WebRequest]::Create('https://api.newrelic.com/v2/applications/$APP_ID /deployments.json')
$request.Method = 'POST'
$request.Headers.add('Api-Key','$API_KEY ')
$request.ContentType='application/json'
$stream = $request.GetRequestStream()
$stream.Write($postData,0,$postData.Length)
$request.GetResponse()
GETでデプロイメントリストを表示する アプリの過去のデプロイメントすべてのリストを取得するには、APIキー を含むGET
リクエストをデプロイメントエンドポイントに送信します。GETリクエストにはJSONペイロードは使用しません。
たとえば、
curl -X GET "https://api.newrelic.com/v2/applications/$APP_ID /deployments.json" \
-H "Api-Key:$API_KEY " \
-i
GETからのサンプル出力 この例では、アプリケーションID9999999
のデプロイメントリストを取得します。
curl -X GET "https://api.newrelic.com/v2/applications/9999999/deployments.json" \
-H "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文字
必須 。このデプロイメントのユニークID。概要 ページとデプロイメント ページに表示できます。任意の文字列を指定できますが、通常はバージョン番号またはGitのチェックサムです。
changelog
文字列、最大65535文字
オプション 。このデプロイメント内の変更の概要。(選択したデプロイメント)> ログ変更 を選択する場合、デプロイメント ページに表示されます。
description
文字列、最大65535文字
オプション 。このデプロイメントの大まかな説明。各デプロイメントを選択する場合は、概要 ページとデプロイメント ページに表示されます。
user
文字列、最大31文字
オプション 。デプロイメントと関連付けるユーザー名。概要 ページとデプロイメント ページに表示されます。
timestamp
ISO 8601
オプション 。デプロイメントが発生すると、セカンドに移ります。指定されないと、デプロイメントはAPIコールの受け取り時に記録されます。タイムスタンプの要件:
UTC時間である必要があります。 最新のデプロイメントタイムスタンプの後である必要があります。 将来にはできません。 ISO8601のフォーマットである必要があります(例:"2019-10-08T00:15:36Z"
)。
New Relicエージェントを使用したデプロイメントの記録 一部のエージェントには、デプロイメントを記録する追加メソッドがあります。
チームにデプロイメントを通知 REST APIを使用してデプロイメントを記録した後、オプションでデプロイメントのwebhookエンドポイントに通知できます。
webhookの宛先は、スタックインスタンスにできます。webhookを使用して、スラックチャネルのデプロイメント通知を設定する場合は、以下の手順に従います。
スラックアウカントにアドミンとしてログインしてから、アプリディレクトリ > 管理 > アプリ の順に進みます。 New Relicアプリを検索してから、設定を追加 を選択します。 チャネルへ投稿 から、既存のスラックチャネルを選択または新しいチャネルを追加してから、設定を追加 を選択します。オプションのリストから、webhookのURLをコピーします。 one.newrelic.com >(user menu )> Account settings > Integrations > Deploy notifications > Webhook に移動します。スラックwebhook URLをペーストしてから、保存します。 オプション: テストメッセージを送信します。 ヒント アラート通知 に、webhook、Slackチャンネル、その他のオプションを使用できます。
デプロイメント詳細の表示 重要 このセクションと次のセクションでは、現在のデプロイメントマーカーUIの使用方法について説明します。UIに、限定プレビューであることを示す青いバナーが表示される場合は、新しいUIにアクセスできます。この場合、これらの新しい指示 に切り替えます。
デプロイメント情報を設定すると、詳細を表示してドリルダウンできます。
one.newrelic.com > All capabilities > APM & services >(アプリを選択)> Events > Deployments の順に移動します。New Relicの標準的なユーザーインタフェース機能 のいずれかを使用して、詳細情報にドリルダウンします。 特定のイベントの詳細を表示するには、そのdate リンクを選択します。 このデプロイメントのエラーページを表示するには、error リンクを選択します。 特定のデプロイメントの詳細を表示するには(該当する場合)、Change log またはChange report を選択します。 Change log には、デプロイメントの記録 時にchangelog
パラメーターから提供された詳細が含まれます。Change report には、デプロイメント前後の上位10件のトランザクションの動作が表示されます。
デプロイメント後のパフォーマンスの表示 各デプロイメントのデプロイメント ページリンクは、イベント セクションで選択したアプリのSummary ページに表示されます。期間が14日未満の場合、チャート上の青い縦棒はデプロイメントを示します。デプロイメントに関する概要情報を表示するには、マウスを青色の縦棒に合わせます。
ヒント APM概要ページのCompare with オプションを使用して、同じデータを比較する期間を選択することもできます。Compare with を有効にすると、UIにデプロイメントマーカーは表示されません。