サーバー アプリケーションで REST API を使用してサポート zip を作成する

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

サポート zip は、ご利用のアプリケーションの構成内容をアトラシアン サポートが理解し、お客様の問題を解決する上で役立ちます。

サポート zip を生成するもっとも一般的な方法はご利用のアプリケーションの管理メニューから行うことですが、REST API を使用して zip を作成することもできます。サポート zip の作成に関する詳細を確認する 

Data Center (クラスタ環境) を使用している場合はプロセスが少し異なるため、「Data Center アプリケーションで REST API を使用してサポート zip を作成する」を参照してください。

REST を使用したサポート zip の生成オプションは、アトラシアン トラブルシューティングとサポート ツールアドオン 1.9.1 以降を実行しているアプリケーションでのみ利用できます。このページで案内しているいくつかのオプションでは、バージョン 1.11.0 以降が必要です。

このアプリはいつでもアップグレードできます。[管理] メニューで [アプリの管理] に移動しアトラシアンのトラブルシューティングおよびサポート ツール (ATST) を検索します。古いバージョンを実行している場合は、アトラシアン サポート ツールと呼ばれる場合があります。アプリのアップグレードについて詳細を確認する

REST API のリファレンス

アトラシアン トラブルシューティングとサポート ツール 1.49.0 では、新しい API パラメータが追加されています。導入された変更の詳細を確認する

このページでは、curl と Windows PowerShell を使用した、サーバー アプリケーションでの REST API の使用例について説明します。任意のスクリプト言語をご利用いただけます。 

次の REST エンドポイントを利用できます。
REST API説明 対象

/rest/troubleshooting/latest/support-zip/local

サポート zip の作成 Server
/rest/troubleshooting/latest/support-zip/status/task最近のすべての zip 作成タスクのステータスを取得Server
/rest/troubleshooting/latest/support-zip/status/task/<taskId>特定の zip 作成タスクのステータスを取得Server と Data Center 

/rest/troubleshooting/latest/support-zip/download/<filename>

サポート zip ファイルのダウンロードServer と Data Center
/rest/troubleshooting/latest/support-zip/clusterクラスタの複数のノードでサポート zip を作成Data Center
/rest/troubleshooting/latest/support-zip/status/cluster/<clusterTaskId>クラスタの zip 作成タスクのステータスを取得Data Center

サポート zip を生成する

管理コンソール経由でサポート zip を生成すると、含める項目を選択したり、必要に応じてファイル サイズを制限したり、選択した期間のログ ファイルをエクスポートしたりできます。サポート zip を生成するには、システム管理者権限が必要です。 

コマンド ラインからサポート zip を生成するには、次の手順を実行します。 

curl -u <username>:<password> -X POST http://<app-url.example.com:8080>/rest/troubleshooting/latest/support-zip/local
Windows PowerShell を使用してサポート zip を生成する...

この手順では Invoke-WebRequest が必要です。これは、PowerShell v3.0 で導入されました。そのため、Windows 8 および Windows Server 2012 では、デフォルトで利用可能です。 

# Specify your username, password and Base URL (including a context path if one is being used) below
$user = '<username>'
$pass = '<password>'
$baseurl = 'http://<app-url.example.com:8080>'

# no need to change anything below this line
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"

$headers = @{}
$headers.Add("Authorization", $basicAuthValue)
$headers.Add("X-Atlassian-Token", "no-check")

Invoke-WebRequest -Method POST -Uri "$baseurl/rest/troubleshooting/latest/support-zip/local" -UseBasicParsing -Headers $headers

これはタスク ID と進行状況を返します。例:

{
   "taskId":"9e7b7012-0730-427b-bf85-607d15abadb5",
   "progressPercentage":0, 
   "progressMessage":"Processing"
}
Windows PowerShell を使用する場合の出力結果...
StatusCode        : 200
StatusDescription : OK
Content           : {"taskId":"9e7b7012-0730-427b-bf85-607d15abadb5","progressPercentage":0,"progressMessage":""}

タスクの進行状況を確認する

特に大規模なインスタンスの場合、zip の生成には時間がかかる場合があります。タスクの進行状況を確認するには、次のコマンドを実行します。

curl -u <username>:<password> http://<app-url.example.com:8080>/rest/troubleshooting/latest/support-zip/status/task/<taskId>

この例でのクラスタ ID は 9e7b7012-0730-427b-bf85-607d15abadb5 です。 

Windows PowerShell を使用してサポート zip を生成する...
# Specify your username, password and Base URL (including a context path if one is being used) below
$user = '<username>'
$pass = '<password>'
$baseurl = 'http://<app-url.example.com:8080>'
$taskid = '<taskid>'

# no need to change anything below this line
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"

$headers = @{}
$headers.Add("Authorization", $basicAuthValue)
$headers.Add("X-Atlassian-Token", "no-check")

(Invoke-WebRequest -Uri "$baseurl/rest/troubleshooting/latest/support-zip/status/task/$taskid" -UseBasicParsing -Headers $headers).Content

これは現在の進行状況を返します。この例では、zip は完成していて、適切なホーム ディレクトリから転送することができます。 

{
"taskId":"9e7b7012-0730-427b-bf85-607d15abadb5",
"progressPercentage":100,
"progressMessage":"Your support ZIP can be found in your home directory at: C:\\<home-directory\\export\\JIRA_support_node1_2018-04-03-11-37-37.zip or you can download a copy.",
"fileName":"JIRA_support_node1_2018-04-03-11-37-37.zip"
}

最近リクエストされたすべてのサポート zip を確認する

ノードで最近リクエストされたすべてのサポート zip の進行状況を確認するには、次のコマンドを実行します。 

curl -u <username>:<password> http://<app-url.example.com:8080>/rest/troubleshooting/latest/support-zip/status/task
Windows PowerShell を使用してサポート zip を生成する...
# Specify your username, password and Base URL (including a context path if one is being used) below
$user = '<username>'
$pass = '<password>'
$baseurl = 'http://<app-url.example.com:8080>'
# To see all, just set $taskid to empty string
$taskid= ''

# no need to change anything below this line
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"

$headers = @{}
$headers.Add("Authorization", $basicAuthValue)
$headers.Add("X-Atlassian-Token", "no-check")

(Invoke-WebRequest -Uri "$baseurl/rest/troubleshooting/latest/support-zip/status/task/$taskid" -UseBasicParsing -Headers $headers).Content

これは、生成中の任意のサポート zip と、直前の 2 時間に生成されたものの詳細情報を返します。例:

[{
    "taskId": "36b64a49-13d2-45b6-92d5-554577649906",
    "progressPercentage": 100,
    "progressMessage": "Your support ZIP can be found in your home directory at: /<home-directory>/export/JIRA_support_node1_2018-04-03-11-37-37.zip or you can download a copy.",
    "fileName": "JIRA_support_2018-04-03-11-37-37.zip"
}, {
    "taskId": "34d7cdce-12f7-4b46-b287-5f5040f2362b",
    "progressPercentage": 100,
    "progressMessage": "Your support ZIP can be found in your home directory at: /<home-directory>/export/JIRA_support_2018-04-03-11-24-58.zip or you can download a copy.",
    "fileName": "JIRA_support_2018-04-03-11-24-58.zip"
}]

最近リクエストされたサポート zip は、現在のセッションからのみ表示されます。アプリケーションを再起動した場合、REST API で再起動前のサポート zip の詳細情報を確認することはできません。 

特定のパラメータでサポート zip を生成する

このオプションは、アトラシアン トラブルシューティングとサポート ツールのバージョン 1.11.0 以降でのみ利用できます。 

管理コンソールでサポート zip を生成した場合、含める項目や、ファイル サイズを制限するかどうかを選択できます。これは、REST API を使用して zip を生成する場合も可能です。

たとえば、ログ ファイルとヘルス チェックの結果を取得し、ファイル サイズは制限したくない場合、次のコマンドを使用できます。

curl -s -X POST -H 'Content-Type: application/json' -u <username>:<password> http://<app-url.example.com:8080>/rest/troubleshooting/latest/support-zip/local -d '{"items":["application-logs", "tomcat-logs", "healthchecks"], "limitFileSizes": false}'

Content-Type ヘッダーを追加することで json ペイロードを追加できます。これを使用して、zip に含める特定のノードまたは項目を指定できます。 

サポート zip に含めることができる items と、それぞれの UI での表示名の一覧を示します。それぞれのアイテムの完全な説明については「サポート zip を作成する」をご参照ください。 
UI での説明API フィールド既定で含まれるかどうか
認証構成
auth-cfg
はい
アプリケーション構成ファイル
application-config
はい
アプリケーション プロパティ
application-properties
はい
アプリケーションのカスタマイズ
confluence-customisations
はい (Confluence)
ヘルス チェック
healthchecks
はい
アプリケーション ログ
application-logs
はい
キャッシュ構成
cache-cfg
はい
Fisheye / Crucible.out log
Fecru-out
はい (Fisheye / Crucible)
Fisheye / Crucible のプラグイン構成
fecru-pluginstate-properties
はい (Fisheye / Crucible)
ローカルで変更済みのファイル
MODZ
はい (Fisheye / Crucible)
Fisheye / Crucible のプラグイン構成ファイル
fecru-plugin-cfg
はい (Fisheye / Crucible)
スレッド ダンプ
thread-dump
いいえ
Tomcat 構成ファイル
tomcat-config
はい
Tomcat ログ
tomcat-logs
はい
Tomcat アクセス ログ
tomcat-access-logs
いいえ
Jira クラスター ノード
cluster-nodes
はい (Jira)
クラウド移行のログ
cloud-migration-logs
はい
ランタイム診断データを含める
jfr-bundle
はい (Java Flight Recorder が有効になっている場合)
Synchrony 設定
synchrony-config
はい (Confluence)

1.49.0 で追加された REST API パラメーター

1.49.0 バージョンのアプリには、新しい API パラメーターが追加されています。これらのパラメーターにより、ログ ファイルの更新日を定義し、エクスポートされた各ファイルの最大ファイル サイズを選択できます。導入されたオプションについての詳細を確認する

ATST アプリを 1.49.0 以上にアップグレードして、引き続き旧 API でlimitFileSizes:true パラメーターを使って Tomcat アクセス ログを取得する場合、すべての Tomcat アクセス ログが zip に追加されます。サポート zip のサイズにかなりの影響がある可能性があります。これは、これらのログが最大ファイル サイズ オプションの影響を受けないためです。 

zip ファイルに追加する Tomcat アクセス ログ数を制限するには、新しい fileConstraintLastModified パラメーターを使用してください。 

新しい API パラメーターは、トラブルシューティングおよびサポート ツール 1.49 以降で使用できます

パラメーター説明
fileConstraintLastModified

選択した期間内に最終変更されたログ ファイルをエクスポートします。

過去の API コールの動作を変更したくない場合は、このパラメーターを追加しないでください。時間制限は適用されません。

  • 指定なし (無制限):  -1

  • 今日: 0

  • 過去 3 日間: 3

  • 過去 5 日間: 5

  • 過去 10 日間: 10

fileConstraintSizeこのパラメータは常に旧 limitFileSizes より優先されます。つまり、リクエストに limitFileSizes: false fileConstraintSize: 25 が指定された場合は、サポート zip の作成時にファイルあたり 25 MB の制限が適用されます。
  • 制限なし: -1

  • 1 ファイルあたり 25 MBの場合: 25

  • 1 ファイルあたり 100 MBの場合: 10

  • 1 ファイルあたり 500 MBの場合: 500

サポート zip を作成するための POST リクエストのパラメーターと期待される結果の例

limitFileSizesfileConstraintSize、または fileConstraintLastModified がない場合は、リクエストのパラメーターに含まれていないと仮定されます。

// File size constraint with default value (100MB per each file) applied
{
...,
"limitFileSizes":"true"
}

// No file size limits are applied
{
...,
"limitFileSizes":"false"
}

// File size constraint with default value (100MB per each file) applied
{
...
}

// File size constraint with value of 25MB per each file applied
{
...,
"limitFileSizes":"false",
"fileConstraintSize":"25"
}

{
...,
"limitFileSizes":"true",
"fileConstraintSize":"25"
}

{
...,
"fileConstraintSize":"25"
}

// File age constraint for files modified in current day applied
{
...,
"fileConstraintLastModified":"0"
}

/**
* File size constraint with value of 25MB per each file applied
* File age constraint for files modified in the past 5 days applied
*/
{
...,
"fileConstraintSize":"25",
"fileConstraintLastModified":"5"
}
tip/resting Created with Sketch.

サポート zip を作成する API には下位互換性があります。ただし、サポート zip のファイルサイズ制限のデフォルト値は、1 ファイルあたり 25 MB から 100 MB に変更されます。

サポート zip をダウンロードする

このオプションは、アトラシアン トラブルシューティングとサポート ツールのバージョン 1.11.0 以降でのみ利用できます。 

サポート zip は、ホーム ディレクトリ内の場所に保存されます。このディレクトリへのアクセスが難しい場合、またはプロセスを自動化したい場合は、次のように REST API を使用してダウンロードできます。

curl -u <username>:<password> http://<app-url.example.com:8080>/rest/troubleshooting/latest/support-zip/download/JIRA_support_2018-04-03-11-24-58.zip -o support.zip

トラブルシューティング

  • サポート zip を生成するには、システム管理者権限が必要です。適切な権限がない場合、リクエストは権限エラーで失敗します。
  • 404 エラーが表示される場合、Jira が実行中で、アトラシアン トラブルシューティングとサポート ツール アドオンの 1.9.1 以降がインストールされていることを確認してください。アプリいつでも更新できます。 アプリの更新について詳細を確認する
  • ターミナルで何も返されない場合、アプリケーションのベース URL (ロード バランサの URL) ではなく、対象のノードの URL を提供する必要がある可能性があります。 
  • ' XSRF check failed' エラーが返される場合、各リクエストに X-Atlassian-Token ヘッダーを追加できます。値は no-check に設定します。リクエストにこのヘッダーを追加することで、サーバー側の XSRF チェックを迂回し、リクエストを実現できます。例:

    curl -u <username>:<password> -X POST http://<app-node1.example.com:8080>/rest/troubleshooting/latest/support-zip/local -H "X-Atlassian-Token: no-check"


最終更新日 2024 年 4 月 29 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.