このドキュメントでは、Ops エージェントを自動的にインストールする Batch ジョブを作成して実行する方法について説明します。Ops エージェントをインストールすると、ジョブリソースのパフォーマンスに関する追加の指標が Cloud Monitoring に提供されます。ジョブのリソース パフォーマンス指標の使用方法の詳細については、 指標を表示してジョブリソースをモニタリングして最適化するをご覧ください。
始める前に
- Batch を以前に使用したことがない場合は、 Batch を使ってみる を確認し、 プロジェクトとユーザーの前提条件を完了して Batch を有効にします。
- プロジェクトで Cloud Monitoring API と Cloud Logging API がまだ有効になっていない場合は、有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。 -
ジョブの作成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
ジョブを作成するには:
-
Batch ジョブ編集者 (
roles/batch.jobsEditor)プロジェクトの -
サービス アカウント ユーザー (
roles/iam.serviceAccountUser) ジョブのサービス アカウントの。これは、デフォルトではCompute Engine のデフォルトのサービス アカウントです。
-
Batch ジョブ編集者 (
-
ログを表示するには:
ログビューア (
roles/logging.viewer) プロジェクトに対する
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
-
ジョブを作成するには:
ジョブのサービス アカウントにデフォルト構成を使用していない場合は、必要な権限があることを確認してください。
ジョブのサービス アカウントに Ops エージェントの指標を Monitoring に書き込むために必要な権限があることを確認するには、ジョブのサービス アカウントに次の IAM ロールを付与するよう管理者に依頼してください。
正しいプリンシパルにロールを付与しないと、権限エラーが発生する可能性があります。-
プロジェクトに対する Monitoring 指標の書き込み (
roles/monitoring.metricWriter) -
ログ書き込み (
roles/logging.logWriter)プロジェクトに対する
-
プロジェクトに対する Monitoring 指標の書き込み (
- 計画されたジョブ構成が Ops エージェントの要件を満たしていることを確認します。
Ops エージェントの要件
Ops エージェントを使用するジョブを作成して実行するには、ジョブが次の要件をすべて満たしている必要があります。
ジョブの VM が Ops エージェントがサポートするオペレーティング システム(OS)を使用していることを確認します。 ジョブの VM OS イメージの詳細については、 ジョブの VM OS 環境の概要をご覧ください。
ジョブがデフォルト以外のネットワーク構成を使用している場合、または VPC Service Controls を使用している場合は、ジョブが Ops エージェントのアクセス要件 を満たしていることを確認してください。詳細については、Google Cloud Observability ドキュメントの リモート パッケージ アクセス権のない VM をご覧ください。
ジョブが以前の Cloud Logging エージェントまたは Cloud Monitoring エージェントをインストールしていないことを確認します(カスタム イメージやインスタンス テンプレートを使用している場合など)。
Ops エージェントの機能と要件の詳細については、 Google Cloud Observability ドキュメントのOps エージェントの概要 をご覧ください。
Ops エージェントを自動的にインストールするジョブを作成する
Google Cloud CLI または REST API を使用して
ジョブを作成し、JSON ファイルの本文の allocationPolicy.instances フィールドに
installOpsAgent フィールド
を含め、true を設定します。
"allocationPolicy": {
"instances": [
{
"installOpsAgent": true
}
]
}
たとえば、Ops エージェントを自動的にインストールするジョブには、次のような JSON 構成ファイルを含めることができます。
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello World! This is task $BATCH_TASK_INDEX."
}
}
]
},
"taskCount": 3,
}
],
"allocationPolicy": {
"instances": [
{
"installOpsAgent": true
}
]
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
ジョブの VM の実行が開始されると、他のリソース指標と同じように Ops エージェントの指標を確認できます。詳細については、 指標を表示してジョブリソースをモニタリングして最適化するをご覧ください。
次のステップ
- ジョブの作成または実行で問題が発生した場合は、 トラブルシューティングをご覧ください。
- ジョブとタスクを表示する。
- 別のジョブ作成オプションについて学習する。