이 문서에서는 Compute Engine 인스턴스에 Compute 워크로드용 에이전트를 설치하고 이러한 컴퓨팅 인스턴스에서 실행되는 Microsoft SQL Server 워크로드와 연결하도록 에이전트를 구성하는 방법을 보여줍니다.
에이전트를 설치하고 구성하면 SQL Server 워크로드와 기본 컴퓨팅 인스턴스에서 측정항목을 수집하여 워크로드 관리자로 전송합니다. 그런 다음 워크로드 관리자 평가를 사용하여 인프라, 운영체제, 워크로드 구성의 권장사항과의 편차를 SQL Server 워크로드에서 검사할 수 있습니다.
시작하기 전에
컴퓨팅 워크로드용 에이전트를 설치하고 구성하기 전에 다음 기본 요건을 충족해야 합니다.
- 하나 이상의 컴퓨팅 인스턴스에 SQL Server 워크로드를 배포했습니다.
- 에이전트에 필요한 IAM 역할을 부여했습니다.
- Cloud API에 대한 액세스를 사용 설정했습니다.
- SQL Server에 필요한 권한을 부여했습니다.
에이전트에 필요한 IAM 역할
컴퓨팅 워크로드용 에이전트는 인증을 위해 컴퓨팅 인스턴스에 연결된 서비스 계정을 사용하고 Google Cloud 리소스에 액세스합니다.
보안을 강화하려면 Compute Engine 기본 서비스 계정을 사용하는 대신 단일 용도 서비스 계정을 사용하는 것이 좋습니다.
서비스 계정에 Compute 워크로드용 에이전트가Google Cloud 로 인증하고 Google Cloud 리소스에 액세스할 수 있도록 하는 데 필요한 권한이 있는지 확인하려면 관리자에게 서비스 계정에 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Compute 뷰어 (
roles/compute.viewer): Compute 인스턴스에서 측정항목을 수집합니다. -
워크로드 관리자 통계 작성자 (
roles/workloadmanager.insightWriter): 워크로드 관리자 데이터 웨어하우스에 데이터를 씁니다. -
(권장) 로그 작성자 (
roles/logging.logWriter): 에이전트 로그를 Cloud Logging으로 전송합니다. -
(선택사항) Secret Manager 보안 비밀 접근자 (
roles/secretmanager.secretAccessor): Secret Manager를 사용하여 SQL Server 인스턴스에 연결할 비밀번호를 저장하는 경우입니다.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
관리자는 커스텀 역할이나 다른 사전 정의된 역할을 통해 서비스 계정에 필요한 권한을 부여할 수도 있습니다.
Cloud API 액세스 사용 설정
Compute Engine은 모든 Cloud API에 대한 모든 액세스 범위를 허용하도록 인스턴스를 구성하고, 인스턴스 서비스 계정의 IAM 권한만 사용하여Google Cloud 리소스에 대한 액세스를 제어할 것을 권장합니다. 자세한 내용은 사용자 관리형 서비스 계정을 사용하는 VM 만들기를 참조하세요.
Cloud API에 대한 액세스를 제한하는 경우 컴퓨팅 워크로드용 에이전트에는 호스트 컴퓨팅 인스턴스에 최소한 다음과 같은 Cloud API 액세스 범위가 필요합니다.
https://www.googleapis.com/auth/cloud-platform
자세한 내용은 범위 권장사항을 참고하세요.
외부 IP 주소가 없는 컴퓨팅 인스턴스에서 SQL Server 애플리케이션을 실행하는 경우 컴퓨팅 워크로드용 에이전트가 Google API 및 서비스에 액세스할 수 있도록 인스턴스의 서브넷에서 비공개 Google 액세스를 사용 설정해야 합니다. 비공개 Google 액세스를 사용 설정하는 방법은 비공개 Google 액세스 구성을 참고하세요.
SQL Server에 필요한 권한
다음 스크립트를 사용하여 에이전트에서 구성된 사용자 계정에 필요한 권한을 할당합니다.
USE [master]
GO
GRANT VIEW SERVER STATE TO [user_name]
GRANT VIEW ANY DEFINITION TO [user_name]
-- Adds db_datareader role to the user
EXEC sp_MSForEachDB
'
USE ?
IF NOT EXISTS(SELECT * FROM sys.database_principals WHERE name = ''user_name'')
BEGIN
CREATE USER [user_name] FOR LOGIN [user_name]
END
EXEC sp_addrolemember ''db_datareader'', ''user_name''
'
패키지 관리자를 사용하여 에이전트 설치 및 구성
이 섹션에서는 패키지 관리자를 사용하여 컴퓨팅 인스턴스에 Compute 워크로드용 에이전트를 설치하고 SQL Server 인스턴스에 연결하도록 구성하는 방법을 보여줍니다.
컴퓨팅 워크로드용 에이전트를 설치하려면 다음 단계를 완료하세요.
Windows
Windows에서는 googet 패키지 관리 명령어를 사용하여 컴퓨팅 워크로드용 에이전트를 설치합니다. 이 명령어는 다음 작업을 완료합니다.
- 최신 버전의 에이전트를 다운로드합니다.
google-cloud-workload-agent라는 Windows 서비스를 만듭니다.- 1분마다 실행되는 예약 태스크를 만들어 서비스가 실행 중인지 확인하고 필요한 경우 서비스를 다시 시작합니다.
Windows 기반 컴퓨팅 인스턴스에 컴퓨팅 워크로드용 에이전트를 설치하고 구성하려면 다음 단계를 완료하세요.
RDP를 사용하여 컴퓨팅 인스턴스와 연결합니다.
이 작업을 실행하는 방법은 RDP를 사용하여 Windows VM에 연결을 참고하세요.
관리자 권한으로 PowerShell에서 다음 명령어를 실행합니다.
googet addrepo google-cloud-workload-agent https://packages.cloud.google.com/yuck/repos/google-cloud-workload-agent-windows-x86_64 googet install google-cloud-workload-agent에이전트의 구성 파일을 엽니다.
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json구성 매개변수에 설명된 대로 모든 필수 매개변수의 값을 지정합니다.
구성 파일 저장
변경사항이 적용되도록 에이전트를 다시 시작합니다.
RHEL
Red Hat Enterprise Linux (RHEL)에서는 yum 패키지 관리 명령어를 사용하여 Compute 워크로드용 에이전트를 설치합니다. 이 명령어는 다음 작업을 완료합니다.
- 최신 버전의 에이전트를 다운로드합니다.
google-cloud-workload-agent이라는 에이전트의systemd서비스를 만듭니다.google-cloud-workload-agent서비스를 사용 설정하고 시작합니다.
RHEL 기반 컴퓨팅 인스턴스에 컴퓨팅 워크로드용 에이전트를 설치하고 구성하려면 다음 단계를 완료하세요.
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
터미널에서 에이전트를 설치합니다.
sudo tee /etc/yum.repos.d/google-cloud-workload-agent.repo << EOM [google-cloud-workload-agent] name=Google Cloud Agent for Compute Workloads baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch enabled=1 gpgcheck=0 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM sudo yum install google-cloud-workload-agent에이전트의 구성 파일을 엽니다.
/etc/google-cloud-workload-agent/configuration.json구성 매개변수에 설명된 대로 모든 필수 매개변수의 값을 지정합니다.
구성 파일 저장
변경사항이 적용되도록 에이전트를 다시 시작합니다.
SLES
SUSE Linux Enterprise Server (SLES)에서는 zypper 패키지 관리 명령어를 사용하여 Compute 워크로드용 에이전트를 설치합니다. 이 명령어는 다음 작업을 완료합니다.
- 최신 버전의 에이전트를 다운로드합니다.
google-cloud-workload-agent이라는 에이전트의systemd서비스를 만듭니다.google-cloud-workload-agent서비스를 사용 설정하고 시작합니다.
SLES 기반 컴퓨팅 인스턴스에 컴퓨팅 워크로드용 에이전트를 설치하고 구성하려면 다음 단계를 완료하세요.
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
터미널에서 에이전트를 설치합니다.
sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch google-cloud-workload-agent sudo zypper install google-cloud-workload-agent에이전트의 구성 파일을 엽니다.
/etc/google-cloud-workload-agent/configuration.json구성 매개변수에 설명된 대로 모든 필수 매개변수의 값을 지정합니다.
구성 파일 저장
변경사항이 적용되도록 에이전트를 다시 시작합니다.
Debian
Debian에서는 apt 패키지 관리 명령어를 사용하여 Compute 워크로드용 에이전트를 설치합니다. 이 명령어는 다음 작업을 완료합니다.
- 최신 버전의 에이전트를 다운로드합니다.
google-cloud-workload-agent이라는 에이전트의systemd서비스를 만듭니다.google-cloud-workload-agent서비스를 사용 설정하고 시작합니다.
Debian 기반 컴퓨팅 인스턴스에 Compute 워크로드용 에이전트를 설치하고 구성하려면 다음 단계를 완료하세요.
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
터미널에서 에이전트를 설치합니다.
echo 'deb https://packages.cloud.google.com/apt google-cloud-workload-agent-x86-64-apt main' | sudo tee -a /etc/apt/sources.list.d/google-cloud-workload-agent.list sudo apt-get update sudo apt-get install google-cloud-workload-agent에이전트의 구성 파일을 엽니다.
/etc/google-cloud-workload-agent/configuration.json구성 매개변수에 설명된 대로 모든 필수 매개변수의 값을 지정합니다.
구성 파일 저장
변경사항이 적용되도록 에이전트를 다시 시작합니다.
VM 확장 프로그램 관리자를 사용하여 VM Fleet에 에이전트 설치 및 관리
VM Extension Manager 설정
VM 확장 프로그램 관리자를 설정하려면 다음 단계를 완료하세요.
- VM 확장 프로그램 관리자 문서에서 시작하기 전에 섹션을 검토합니다.
VM 확장 프로그램 관리자 정책을 만들고 관리하는 데 필요한 IAM 역할을 설정합니다. 자세한 내용은 다음을 참조하세요.
VM Fleet에 에이전트 설치
VM 확장 프로그램 관리자 정책을 사용하여 특정 영역 내 VM Fleet에 최신 버전의 Compute 워크로드용 에이전트를 설치하려면 다음 단계를 완료하세요.
콘솔
Google Cloud 콘솔에서 VM 확장 프로그램 정책 페이지로 이동합니다.
확장 프로그램 정책 만들기를 클릭합니다.
이름 필드에 정책 이름을 입력합니다.
선택사항: 설명 필드에 정책에 대한 설명을 입력합니다.
우선순위 필드에서 정책 간 충돌을 해결할 우선순위 번호를 지정합니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은
1000입니다.리전 및 영역 목록을 사용하여 이 정책을 적용할 영역을 선택합니다.
확장 프로그램 섹션에서 확장 프로그램 추가를 클릭한 후 다음을 실행합니다.
- 확장 프로그램 목록에서 Google Cloud의 컴퓨팅 워크로드용 확장 프로그램을 선택합니다.
버전 필드는 비워둡니다.
이렇게 하면 Compute 워크로드용 에이전트의 최신 버전을 설치하도록 정책이 지시됩니다.
구성 파일 콘텐츠 필드에 에이전트에 적용할 구성을 입력합니다.
SQL Server 워크로드용 에이전트에서 지원하는 구성 매개변수에 대한 자세한 내용은 구성 매개변수를 참고하세요.
완료를 클릭합니다.
선택사항: 정책 출시를 필요한 VM으로 제한하려면 다음 단계를 따르세요.
- 라벨 추가를 클릭하고 필요한 VM을 식별하는 라벨을 포함합니다.
- 완료를 클릭합니다.
만들기를 클릭합니다.
gcloud
gcloud beta compute zone-vm-extension-policies create POLICY_NAME \ --zone=ZONE \ --extensions=google-cloud-workload-extension \ --config-from-file=google-cloud-workload-extension=CONFIG_FILE_PATH \ [--description="DESCRIPTION" \] [--inclusion-labels=KEY_1=VALUE_1 \] [--inclusion-labels=KEY_2=VALUE_2,KEY_3=VALUE_3 \] [--priority=PRIORITY]
다음을 바꿉니다.
POLICY_NAME: VM 확장 프로그램 정책의 이름입니다.지정된 이름의 정책이 영역에 이미 있으면 명령어가 실패합니다.
ZONE: 이 정책을 적용할 영역입니다.CONFIG_FILE_PATH: SQL Server 워크로드에 연결하기 위한 Compute Workloads용 에이전트의 구성이 포함된 JSON 파일의 로컬 경로입니다.- 또는 구성을 인라인 문자열로 제공하려면
--config-from-file대신--config플래그를 사용하세요. 예를 들면--config=google-cloud-workload-extension="CONFIG"입니다. Google Cloud 에서는--config-from-file을 사용할 것을 권장합니다. --config-from-file또는--config중 하나를 사용할 수 있지만 동일한 명령어에서 둘 다 사용할 수는 없습니다.- SQL Server 워크로드용 에이전트에서 지원하는 구성 매개변수에 대한 자세한 내용은 구성 매개변수를 참고하세요.
- 또는 구성을 인라인 문자열로 제공하려면
DESCRIPTION: 정책에 대한 설명입니다(선택사항).KEY_1=VALUE_1: 정책이 VM을 타겟팅하는 데 사용하는 라벨을 정의하는 쉼표로 구분된 키-값 쌍 목록입니다.- VM이 정책의 타겟이 되려면 VM에 지정된 라벨이 모두 있어야 합니다.
--inclusion-labels를 여러 번 지정하면 정책은 제공된 선택기 중 하나라도 일치하는 VM을 타겟팅합니다 (논리OR). 이 플래그를 생략하면 정책은 지정된 영역의 모든 VM을 타겟팅합니다.
PRIORITY: 정책의 우선순위를 정의하는0~65535범위의 정수입니다. 숫자가 낮을수록 우선순위가 높습니다. 기본값은1000입니다.
예:
다음 명령어는 test-project라는Google Cloud 프로젝트에 test-agent-policy라는 정책을 만듭니다. 이 정책은 us-centrail-f 영역에 배포된 모든 VM에 Compute 워크로드용 에이전트의 최신 버전을 설치합니다.
agent-config.json에 지정된 구성이 에이전트에 적용됩니다.
gcloud beta compute zone-vm-extension-policies create test-agent-policy \ --project=test-project \ --zone=us-central1-f \ --extensions=google-cloud-workload-extension \ --config-file-path=google-cloud-workload-extension="/usr/agent-config.json"
에이전트 설치 확인
에이전트가 예상대로 실행되는지 확인하려면 다음 단계를 완료하세요.
Windows
RDP를 사용하여 컴퓨팅 인스턴스와 연결합니다.
이 작업을 실행하는 방법은 RDP를 사용하여 Windows VM에 연결을 참고하세요.
관리자 권한으로 PowerShell에서 다음 명령어를 실행합니다.
$(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).Status에이전트가 예상대로 실행되면 상태가
Running으로 표시됩니다.
RHEL
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
에이전트 패키지의 상태를 확인합니다.
systemctl status google-cloud-workload-agent에이전트 패키지가 예상대로 실행되면 출력에
active (running)가 포함됩니다. 예를 들면 다음과 같습니다.google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
SLES
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
에이전트 패키지의 상태를 확인합니다.
systemctl status google-cloud-workload-agent에이전트 패키지가 예상대로 실행되면 출력에
active (running)가 포함됩니다. 예를 들면 다음과 같습니다.google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
Debian
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
에이전트 패키지의 상태를 확인합니다.
systemctl status google-cloud-workload-agent에이전트 패키지가 예상대로 실행되면 출력에
active (running)가 포함됩니다. 예를 들면 다음과 같습니다.google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
구성 매개변수
다음 표에서는 에이전트의 구성 파일에 대한 파라미터를 설명합니다.
| 매개변수 | |
|---|---|
log_level |
에이전트의 로깅 수준을 설정하려면 필수 값을 설정하세요. 사용 가능한 로그 수준은 다음과 같습니다.
기본 로그 수준은 |
log_to_cloud |
에이전트 로그를 Cloud Logging으로 리디렉션하려면 |
agent_properties.log_usage_metrics |
에이전트의 상태 측정항목 로깅을 사용 설정하려면 값을 |
common_discovery.collection_frequency |
에이전트의 워크로드 검색 서비스가 실행되는 빈도(초)를 지정합니다. 기본값은 이 매개변수의 값이 소문자 |
sqlserver_configuration.enabled |
에이전트 내에서 SQL Server 측정항목 수집을 사용 설정하려면 값을 |
sqlserver_configuration.collection_configuration.collect_guest_os_metrics |
OS 측정항목 수집을 사용 설정하려면 값을 |
sqlserver_configuration.collection_configuration.collect_sql_metrics |
SQL Server 측정항목 수집을 사용 설정하려면 |
sqlserver_configuration.collection_configuration.collection_frequency |
컴퓨팅 워크로드용 에이전트 측정항목 수집 빈도(초)입니다.
기본값은 |
sqlserver_configuration.credential_configurations[].connection_parameters[].host |
SQL Server 호스트 이름입니다. |
sqlserver_configuration.credential_configurations[].connection_parameters[].username |
SQL Server 인스턴스를 쿼리하는 데 사용되는 사용자 계정을 지정합니다. 계정 권한을 구성하려면 권한 스크립트에서 필요한 권한을 검토하고 내부 정책에 따라 권한을 부여합니다. 참고: Windows 인증을 사용하는 경우 사용자 이름을 다음 형식으로 지정해야 합니다.
|
sqlserver_configuration.credential_configurations[].connection_parameters[].secret.project_id |
보안 비밀이 저장된 프로젝트의 ID입니다. 보안 비밀과 호스트 VM 인스턴스가 동일한 Google Cloud 프로젝트에 있는 경우 빈 문자열 ("")로 설정합니다. |
sqlserver_configuration.credential_configurations[].connection_parameters[].secret.secret_name |
에이전트가 SQL Server를 쿼리하는 데 사용하는 데이터베이스 사용자 계정의 비밀번호를 안전하게 제공하려면 Secret Manager에서 데이터베이스 사용자 계정의 보안 사용자 인증 정보가 포함된 보안 비밀의 이름을 지정합니다. 참고: 보안 비밀과 호스트 VM 인스턴스가 같은 Google Cloud 프로젝트에 있어야 합니다. |
sqlserver_configuration.credential_configurations[].connection_parameters[].port |
SQL Server 인스턴스가 쿼리를 허용하는 포트를 지정합니다. |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.host |
원격 Windows VM의 IP 주소 또는 FQDN |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.username |
Windows VM에 원격으로 연결하는 데 사용되는 사용자 계정을 지정합니다. |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.secret.secret_name |
에이전트가 VM에 원격으로 연결하는 데 사용하는 Windows 사용자 계정의 비밀번호를 안전하게 제공하려면 데이터베이스 사용자 계정의 보안 사용자 인증 정보가 포함된 Secret Manager의 보안 비밀 이름을 지정합니다. 참고: 보안 비밀과 호스트 VM 인스턴스가 같은 Google Cloud 프로젝트에 있어야 합니다. |
sqlserver_configuration.credential_configurations[].local_collection |
에이전트가 로컬 데이터 수집을 수행하고 있음을 나타내려면 |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.host |
원격 Linux VM의 IP 주소 또는 FQDN입니다. |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.username |
Linux VM에 원격으로 연결하는 데 사용되는 사용자 계정을 지정합니다. |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameter.port |
원격 Linux VM의 SSH 포트 번호를 지정합니다. |
sqlserver_configuration.credential_configurations[].remote_linux.linux_ssh_private_key_path |
SSH 비공개 키 파일의 경로를 지정합니다. |
sqlserver_configuration.credential_configurations[].vm_properties.instance_name |
Compute Engine VM 인스턴스의 이름을 지정합니다. 참고: 로컬 컬렉션의 경우 선택사항입니다. |
sqlserver_configuration.credential_configurations[].vm_properties.instance_id |
Compute Engine VM 인스턴스의 ID를 지정합니다. 참고: 로컬 컬렉션의 경우 선택사항입니다. |
sqlserver_configuration.collection_timeout |
측정항목 수집 시간 제한(초)입니다. 기본값은 `10s`입니다. |
sqlserver_configuration.max_retries |
실패한 수집이 발생할 때의 최대 재시도 횟수입니다. 기본값은 `3`입니다. |
sqlserver_configuration.retry_frequency |
수집이 실패할 때 에이전트가 재시도해야 하는 빈도를 지정합니다. 기본값은 `3600s`입니다. |
sqlserver_configuration.remote_collection |
에이전트가 원격 데이터 수집을 수행하고 있음을 나타내려면 |
구성 파일 예시
다음은 Compute 워크로드용 에이전트가 SQL Server 인스턴스에 연결할 수 있도록 하는 구성의 예입니다.
지역 수집
{ "log_level": "INFO", "common_discovery": { "collection_frequency": "10800s" }, "sqlserver_configuration": { "enabled": true, "collection_configuration": { "collect_guest_os_metrics": true, "collect_sql_metrics": true, "collection_frequency": "60s" }, "credential_configurations": [ { "connection_parameters": [ { "host": ".", "username": "db_user_name", "secret": { "project_id": "", "secret_name": "idb_pwd_secret_name" }, "port": 1433 } ], "local_collection": true } ], "collection_timeout": "60s", "max_retries": 5, "retry_frequency": "3600s" } }
원격 수집
{ "log_level": "INFO", "common_discovery": { "collection_frequency": "10800s" }, "sqlserver_configuration": { "enabled": true, "collection_configuration": { "collect_guest_os_metrics": true, "collect_sql_metrics": true, "collection_frequency": "60s" }, "credential_configurations": [ { "connection_parameters": [ { "host": "sql_server_instance", "username": "db_user_name", "secret": { "project_id": "", "secret_name": "db_pwd_secret_name" }, "port": 1433 } ], "remote_win": { "connection_parameters": { "host": "sql_server_instance", "username": "user_name", "secret": { "project_id": "", "secret_name": "pwd_secret_name" } } }, "vm_properties": { "instance_name": "db01", "instance_id": "9999999999999999999" } }, { "connection_parameters": [ { "host": "sql_server_instance", "username": "db_user_name", "secret": { "project_id": "", "secret_name": "db_pwd_secret_name" }, "port": 1433 } ], "remote_linux": { "connection_parameters": { "host": "sql_server_instance", "username": "user_name", "secret": { "project_id": "", "secret_name": "pwd_secret_name" }, "port": 22 }, "linux_ssh_private_key_path": "path of the private key" }, "vm_properties": { "instance_name": "db02", "instance_id": "9999999999999999999" } } ], "collection_timeout": "10s", "max_retries": 3, "retry_frequency": "3600s", "remote_collection": true } }
에이전트 버전 확인
에이전트 버전을 확인하려면 다음 단계를 수행합니다.
Windows
- RDP를 사용하여 호스트 머신에 연결합니다.
- 관리자 권한으로 PowerShell에서 다음 명령어를 실행합니다.
googet installed google-cloud-workload-agent
RHEL
- SSH를 사용하여 호스트 머신에 연결합니다.
- 다음 명령어를 실행합니다.
yum info google-cloud-workload-agent
SUSE
- SSH를 사용하여 호스트 머신에 연결합니다.
- 다음 명령어를 실행합니다.
zypper info google-cloud-workload-agent
Debian
- SSH를 사용하여 호스트 머신에 연결합니다.
- 다음 명령어를 실행합니다.
dpkg -s google-cloud-workload-agent | grep version
에이전트 다시 시작
컴퓨팅 워크로드용 에이전트 작동이 중지되거나 구성을 업데이트하는 경우 에이전트를 다시 시작합니다.
운영체제를 선택한 후 다음 단계를 수행합니다.
Windows
- RDP를 사용하여 호스트 머신에 연결합니다.
- 관리자 권한으로 PowerShell에서 다음 명령어를 실행합니다.
Restart-Service -Name 'google-cloud-workload-agent' -Force
Linux
- SSH를 사용하여 호스트 머신에 연결합니다.
- 다음 명령어를 실행합니다.
sudo systemctl restart google-cloud-workload-agent
에이전트 업데이트
최신 버전의 에이전트를 사용하려면 업데이트를 정기적으로 확인하고 에이전트를 업데이트해야 합니다.
업데이트 확인
운영체제를 선택한 후 다음 단계를 수행합니다.
Windows
- RDP를 사용하여 호스트 머신에 연결합니다.
- 관리자 권한으로 PowerShell에서 다음 명령어를 실행합니다.
googet latest google-cloud-workload-agent
RHEL
- SSH를 사용하여 호스트 머신에 연결합니다.
- 다음 명령어를 실행합니다.
sudo yum check-update google-cloud-workload-agent
SLES
- SSH를 사용하여 호스트 머신에 연결합니다.
- 다음 명령어를 실행합니다.
sudo zypper list-updates -r google-cloud-workload-agent
Debian
- SSH를 사용하여 호스트 머신에 연결합니다.
- 다음 명령어를 실행합니다.
sudo apt list google-cloud-workload-agent
업데이트 설치
운영체제를 선택한 후 다음 단계를 수행합니다.
Windows
- RDP를 사용하여 호스트 머신에 연결합니다.
- 관리자 권한으로 PowerShell에서 다음 명령어를 실행합니다.
googet install google-cloud-workload-agent
RHEL
- SSH를 사용하여 호스트 머신에 연결합니다.
- 다음 명령어를 실행합니다.
sudo yum --nogpgcheck update google-cloud-workload-agent
SLES
- SSH를 사용하여 호스트 머신에 연결합니다.
- 다음 명령어를 실행합니다.
sudo zypper --no-gpg-checks update google-cloud-workload-agent
Debian
- SSH를 사용하여 호스트 머신에 연결합니다.
- 다음 명령어를 실행합니다.
sudo apt-get install google-cloud-workload-agent
Cloud Logging에서 에이전트 로그 보기
기본적으로 Compute 워크로드용 에이전트 로그는 VM 인스턴스에서 Cloud Logging으로 리디렉션됩니다.
Logging에서 에이전트 로그를 보려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.
쿼리 창으로 이동합니다.
리소스 드롭다운 메뉴에서 전역을 선택한 후 적용을 클릭합니다.
쿼리 편집기에
google-cloud-workload-agent를 입력합니다.쿼리 실행을 클릭합니다.
모든 VM 인스턴스에서 실행되는 에이전트 인스턴스에서 생성한 로그가 표시됩니다. 특정 머신에서 로그를 필터링하려면 인터페이스에서 사용할 수 있는 필터를 사용합니다.
Cloud Logging에서 에이전트 로그 사용 중지
에이전트 로그의 Cloud Logging으로의 기본 리디렉션을 사용 중지하려면 다음 단계를 따르세요.
호스트 VM 인스턴스와의 RDP 또는 SSH 연결을 설정합니다.
에이전트의 구성 파일을 엽니다.
Windows
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
Linux
/etc/google-cloud-workload-agent/configuration.json
log_to_cloud속성의 경우 값을false로 업데이트합니다.구성 파일을 저장합니다.
이 변경사항을 적용하려면 에이전트를 다시 시작합니다.
문제 해결
다음 섹션에서는 Compute 워크로드용 에이전트 사용과 관련된 일반적인 문제, 원인, 해결 방법을 설명합니다.
부족한 인증 범위
문제: 호스트 VM 인스턴스에서 액세스 범위를 제한하는 경우 Compute 워크로드용 에이전트 로그에 IAM 권한 부족 오류가 표시될 수 있습니다.
googleapi: Error 403: Request had insufficient authentication scopes.
Details:
[
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "googleapis.com",
"metadata": {
"method": "google.cloud.workloadmanager.datawarehouse.v1.DataCollectService.WriteInsight",
"service": "workloadmanager.googleapis.com"
},
"reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT"
}
]
More details:
Reason: insufficientPermissions, Message: Insufficient Permission
원인: 컴퓨팅 워크로드용 에이전트에는 호스트 VM 인스턴스에서 최소한의 Cloud API 액세스 범위가 필요합니다.
해결 방법: 이 문제를 해결하려면 필수 액세스 범위를 사용 설정하세요.
구성 파일을 로드할 수 없음
문제: 구성 파일에 잘못된 값이 있으면 다음 오류가 표시됩니다.
"Failed to load configuration","pid":3524,"error":"proto: (line 19:42): unknown
field "{field_name}"
해결 방법: 이 문제를 해결하려면 구성 매개변수의 세부정보를 사용하여 구성 파일을 업데이트하세요.
데이터 수집을 초기화할 수 없음
문제: 에이전트를 설치한 후 구성 파일이 업데이트되지 않으면 다음 오류가 표시됩니다.
"Failed to initialize guest collection","pid":2112,"error":"invalid value for "user_name" "secret_name"
해결 방법: 이 문제를 해결하려면 구성 매개변수를 사용하여 사용자 인증 정보 구성을 초기화하세요.
다음 단계
- 워크로드 평가에 대해 자세히 알아보세요.