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

お困りですか?

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

コミュニティに質問

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

サポート zip を生成する最も一般的な方法は、アプリケーションの管理メニューからの作成です。ただし、Data Center アプリケーションでは、REST API を使用して zip を作成するほうが便利な場合があります。アプリケーションをクラスター化している場合、REST API を使用することで、現在アクセスしているノードだけでなく、すべてのノードから zip を生成できます。 サポート zip の作成に詳細を確認する 

REST を使用して複数のノードからサポート zip を生成する方法は、アトラシアン トラブルシューティングおよびサポート ツール 1.11.0 以降を実行している Data Center アプリケーションでのみ利用できます。 

このアプリはいつでもアップグレードできます。[管理] メニューで [アプリの管理] に移動しアトラシアンのトラブルシューティングおよびサポート ツール (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 をコマンド ラインから生成するには、次のコマンドを実行します。 

curl -s -X POST -H 'Content-Type: application/json' -u <username>:<password> http://<base-url.example.com:8080>/rest/troubleshooting/latest/support-zip/cluster

これはクラスタ タスク ID とノード情報を返します。例:

{
   "clusterTaskId":"eec930c0-687c-4a07-b625-02e95022b8ad",
   "nodeIds":["jira1","jira2"]
}

クラスタ タスク ID は各ノードにあるすべての個々のサポート zip タスクをグループ化します。ここでそれぞれの進捗を確認します。  

tip/resting Created with Sketch.

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

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://<base-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/cluster" -UseBasicParsing -Headers $headers
Windows PowerShell を使用する場合の出力結果...
StatusCode        : 200
StatusDescription : OK
Content           : {"clusterTaskId":"eec930c0-687c-4a07-b625-02e95022b8ad","nodeIds":["jira1","jira2"]"}

特定のノードでサポート zip を生成する

特定のノードを指定するには、リクエストに次のように nodeIds を含めます。

curl -s -X POST -H 'Content-Type: application/json' -u <username>:<password> http://<base-url.example.com:8080>/rest/troubleshooting/latest/support-zip/cluster -d '{"nodeIds":["jira1","jira2"]}'

この例では、ノード ID は Jira1Jira2 です。ご利用の環境ではノード名が異なる場合があります。  

リクエストの進行状況を確認する

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

curl -s -X GET -u <username>:<password> http://<base-url.example.com:8080>/rest/troubleshooting/latest/support-zip/status/cluster/<clusterTaskId>

この例でのクラスタ タスク ID は eec930c0-687c-4a07-b625-02e95022b8ad です。 

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://<base-url.example.com:8080>'
$clustertaskid = '<clusterTaskId>'

# 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/cluster/$clustertaskid" -UseBasicParsing -Headers $headers).Content

これは、各ノードでの zip 生成の現在の状況を返します。この例では、zip は完成していて、共有ホーム ディレクトリからダウンロードまたは転送できます。 

{
  "clusterTaskId": "eec930c0-687c-4a07-b625-02e95022b8ad",
  "tasks": [
    {
      "taskId": "aaa192c8-f033-4df4-8530-95bcf328c646",
      "progressPercentage": 100,
      "progressMessage": "Your support ZIP can be found in your home directory at: /<shared-home>/export/JIRA_jira2_support_2018-06-11-23-35-12.zip or you can download a copy.",
      "nodeId": "jira2",
      "fileName": "JIRA_jira2_support_2018-06-11-23-35-12.zip"
    },
    {
      "taskId": "d7086507-2d2d-464b-9a7f-9b580ed85956",
      "progressPercentage": 100,
      "progressMessage": "Your support ZIP can be found in your home directory at: /<shared-home>/export/JIRA_jira1_support_2018-06-11-23-35-09.zip or you can download a copy.",
      "nodeId": "jira1"
    }
  ]
}

/status/clustertaskID がノードを返さない場合、ノードが応答していないか、そのノードで zip 生成が開始されていない可能性があります。リクエストがすべてのノードに到達してプロセスが開始されるまで数分間待ち、もう一度試してみてください。 

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

管理コンソール経由でサポート zip を生成すると、含める項目を選択したり、必要に応じてファイル サイズを制限したり、選択した期間のログ ファイルをエクスポートしたりできます。これは、REST API を使用して zip を生成する場合も可能です。

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

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

1. 33 以前から受け入れられる REST API 値 

サポート 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 アクセス ログ数を制限するには、新しい fileConstraintAge パラメーターを使用してください。 

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

パラメーター説明

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 ファイルのダウンロード

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

curl -u <username>:<password> http://<base-url.example.com:8080>/rest/troubleshooting/latest/support-zip/download/<filename> -o support.zip

この例では、<filename> が 出力されたファイル名の JIRA_jira2_support_2018-06-11-23-35-12.zipsupport.zip になります。ノードを指定する必要はなく、リクエストのステータスを確認したときに返されるファイル名のみが必要です。 

トラブルシューティング

  • サポート zip を生成するには、システム管理者権限が必要です。適切な権限がない場合、リクエストは権限エラーで失敗します。 
  • /status/clustertaskID がノードを返さない場合、ノードが応答していないか、そのノードで zip 生成が開始されていない可能性があります。リクエストがすべてのノードに到達してプロセスが開始されるまで数分間待ち、もう一度試してみてください。 
  • 404 エラーが表示される場合、Jira が実行中で、アトラシアン トラブルシューティングとサポート ツール アドオンの 1.10.5 以降がインストールされていることを確認してください。アプリはいつでも更新できます。アプリ更新の詳細を確認する
  • 'XSRF check failed' エラーが返される場合、各リクエストに X-Atlassian-Token ヘッダーを追加できます。値は no-check に設定します。リクエストにこのヘッダーを追加することで、サーバー側の XSRF チェックを迂回し、リクエストを実現できます。これは Confluence の場合は必須です。例:

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


最終更新日 2023 年 7 月 7 日

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

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