독립형 에이전트로 Cloud Monitoring 설정
Cloud Monitoring을 사용하면 애플리케이션과 인프라의 성능, 가용성, 상태를 파악할 수 있습니다. Cloud Monitoring 및 Google Cloud Observability의 다른 부분을 사용하여 VMware Engine 서비스를 대규모로 모니터링, 문제 해결, 운영할 수 있습니다.
독립형 에이전트를 사용하여 각 프라이빗 클라우드의 측정항목 전달 구성을 별도로 정의합니다. 각 프라이빗 클라우드에는 Compute Engine VM 또는 VMware VM에서 호스팅되는 별도의 에이전트가 필요합니다.
측정항목 전달을 성공적으로 사용 설정하면 Cloud Monitoring 측정항목 탐색기에서 측정항목을 확인할 수 있습니다. VMware Engine의 리소스 유형과 측정항목은 external.googleapis.com/vmware/vcenter
로 시작하며 vCenter FQDN에는 네임스페이스의 일부로 태그가 지정됩니다.
시작하기 전에
이 문서의 단계에서는 먼저 사용자가 다음을 수행하는 것으로 가정합니다.
- Cloud Monitoring API를 사용 설정합니다.
- 독립형 에이전트에서 사용할 솔루션 사용자 계정을 식별하고 솔루션 사용자 계정에 안전한 비밀번호를 설정합니다.
독립형 에이전트의 호스트로 사용할 Compute Engine VM 또는 VMware VM을 만듭니다. Compute Engine VM은 모니터링할 리소스가 포함된 프라이빗 클라우드 VPC 네트워크에 피어링된 Virtual Private Cloud(VPC) 네트워크에 있어야 합니다.
Compute Engine VM 만들기 예시는 빠른 시작: Linux VM 사용을 참조하세요. VMware VM 만들기 예시는 VMware VM 만들기를 참조하세요.
Compute Engine VM을 사용하여 독립형 에이전트를 호스팅하는 경우 Google은 사용자가 연결한 서비스 계정의 키 순환을 관리합니다. 하지만 프라이빗 클라우드에 사용되지 않은 용량이 있고 키 순환을 직접 관리하지 않으려면 VMware VM을 만드는 것이 경제적일 수 있습니다.
에이전트 호스트 VM을 만드는 위치에 관계없이 다음 요구사항을 충족해야 합니다.
요구사항
에이전트 호스트 VM은 다음 시스템 요구사항을 충족해야 합니다.
- 지원되는 Linux 운영체제:
- CentOS 6, 7 또는 8
- Red Hat Enterprise Linux 6, 7 또는 8
- SLES 12 또는 15
- Ubuntu 14, 16, 18 또는 19
- 4GB 이상의 RAM
- 사용 가능한 설치 공간 300MB
- 설치 디렉터리가
/opt/bpagent
로 설정됨 curl
CLI 유틸리티가 설치됨
또한 에이전트 호스트 VM에서 측정항목 및 로그를 수집하고 푸시하려면 다음 주소에 액세스해야 합니다.
- vCenter Server에 HTTPS 연결을 위한 포트 443(TCP)(기본값)
monitoring.googleapis.com:443 (external access)
logging.googleapis.com:443 (external access)
측정항목 전달 사용 설정
에이전트 호스트 VM을 설정하고 측정항목 전달을 사용 설정하는 프로세스는 다음 단계로 구성됩니다.
- VM에 에이전트 설치
- 서비스 계정 지정
- 측정항목을 위해 프라이빗 클라우드에 액세스하도록 에이전트 구성
- 보고를 위해 서비스 계정에 액세스하도록 에이전트 구성
- 측정항목 및 로그 수집
- syslog 전달을 위한 프라이빗 클라우드 구성
독립형 에이전트 설치
호스트 VM에 에이전트를 설치하려면 다음을 수행합니다.
- 에이전트 호스트 VM에 연결합니다.
원격으로 설치 스크립트 실행
sudo sh -c "$(curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh)"
에이전트 호스트 VM에 외부 네트워크 액세스 권한이 없는 시스템의 경우 다음 명령어를 사용하여 에이전트와 설치 스크립트를 다운로드할 수 있습니다.
독립형 에이전트를 가져오려면 다음을 실행합니다.
curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/artifacts/bpagent-headless-vmware.tar.gz > agent.tar.gz
설치 스크립트를 가져오려면 다음을 실행합니다.
curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh > install.sh
에이전트를 설치하려면 에이전트 호스트 VM에서 다음을 실행합니다.
sudo sh install.sh agent.tar.gz
서비스 계정 지정
에이전트에서 Cloud Monitoring으로 데이터를 전달하려면 Google Cloud 프로젝트의 서비스 계정이 필요합니다. 이 서비스 계정에는 측정항목에 대한 모니터링 관리자 역할과 로그에 대한 로그 작성자 역할이 있어야 합니다.
모니터링 및 로깅 애플리케이션을 위한 서비스 계정이 없는 경우, 하나 만들기
Google Cloud Console에서 IAM 및 관리자 > 서비스 계정으로 이동합니다.
서비스 계정 만들기를 클릭합니다.
서비스 계정의 이름, ID, 설명을 입력합니다. 이 계정은 에이전트 통합에 사용되는 것이 좋습니다.
만들고 계속하기를 클릭합니다.
역할에서 모니터링 관리자를 선택합니다.
역할에서 로그 작성자를 선택합니다.
계속을 클릭합니다.
완료를 클릭합니다.
에이전트 호스트 VM으로서 VMware VM을 만든 경우 서비스 계정 비공개 키를 검색하여 이를 에이전트를 설정하는 데 사용할 수 있습니다.
Google Cloud Console에서 IAM 및 관리자 > 서비스 계정으로 이동합니다.
서비스 계정 목록에서 서비스 계정을 찾습니다.
작업 열에서
서비스 계정 작업 메뉴를 클릭하고 키 관리를 선택합니다.키 추가를 클릭한 후 새 키 만들기를 선택합니다.
JSON 키 유형을 선택하고 만들기를 클릭합니다.
생성된 JSON 파일을 열고 전체 파일 내용을 복사합니다. 측정항목 및 로깅 컬렉션은 모두 동일한 JSON 키 파일을 사용합니다.
에이전트 호스트 VM에서 JSON 키 파일을
/opt/bpagent/config/destinations/google_cloud
디렉터리에 복사합니다.
측정항목을 위해 프라이빗 클라우드에 액세스하도록 에이전트 구성
측정항목을 수집하려면 독립형 에이전트가 프라이빗 클라우드에 액세스해야 합니다. 에이전트 호스트 VM에서 vmware_vcenter.yaml
파일을 복사하고 구성하여 액세스를 설정합니다.
vmware_vcenter.yaml
을config/metrics/sources
디렉터리에 복사합니다.cp /opt/bpagent/config/metrics/examples/vmware_vcenter.yaml /opt/bpagent/config/metrics/sources
VMware Engine 환경의 정보와 일치하도록
vmware_vcenter.yaml
을 수정합니다.collection_interval: 1m0s connection_info: connection_timeout: "30" enable_performance_counters: "true" host: VCSA_FQDN password: SOLUTION_USER_PASSWORD performance_counter_end_time: "" performance_counter_query_timeout: "15" performance_counter_start_time: "" port: "443" sdk_path: "" ssl_config: "No Verify" username: SOLUTION_USER_ACCOUNT
다음을 바꿉니다.
VCSA_FQDN
: 프라이빗 클라우드에 있는 vCenter Server Appliance의 정규화된 도메인 이름(FQDN)SOLUTION_USER_PASSWORD
: 사용 중인 솔루션 사용자 계정에 해당하는 비밀번호SOLUTION_USER_ACCOUNT
: 에이전트가 정보를 보고하기 위해 사용하는 솔루션 사용자 계정
보고를 위해 서비스 계정에 액세스하도록 에이전트 구성
독립형 에이전트에서 측정항목과 로그를 전송하려면 Google Cloud Observability에 액세스해야 합니다. 에이전트가 모니터링 권한과 로깅 권한이 있는 서비스 계정을 통해 보고에 사용되는 프로젝트에 액세스하도록 구성합니다.
에이전트 호스트 VM에서 log_agent.yaml
파일을 복사하고 구성합니다.
수정하기 전에
log_agent.example.yaml
을log_agent.yaml
에 복사합니다.cp /opt/bpagent/config/log_agent.example.yaml /opt/bpagent/config/log_agent.yaml
log_agent.yaml
하단에서 프로젝트 이름과 JSON 키 파일의 전체 경로를 입력합니다. Compute Engine에서 생성된 에이전트 호스트 VM의 경우credentials_file
줄을 삭제하거나 주석 처리합니다.... - id: my_project_destination project_id:
PROJECT_ID
type: google_cloud_output credentials_file: /opt/bpagent/config/destinations/google_cloud/JSON_KEY_FILE
다음을 바꿉니다.
PROJECT_ID
: 로그를 출력할 프로젝트의 ID입니다.JSON_KEY_FILE
: 서비스 계정 비공개 키 파일의 이름입니다. Compute Engine에서 생성된 에이전트 호스트 VM의 경우 이 줄을 삭제하거나 주석 처리합니다.
독립형 로그 에이전트에서 ESXi의 syslog를 전달해야 하는 경우 다음을 수행하여 기본 포트를
5142
에서514
로 변경합니다./opt/bpagent/config
로 이동합니다.- 다음과 같이 포트 번호를
514
로 업데이트합니다.
- id: vmware-vcenter-logs # A syslog address of the form `
: ` listen_address: 0.0.0.0:514 # Enable TLS for the TCP listener enable_tls: false
측정항목 및 로그 수집
측정항목 또는 로그를 수집하려면 독립형 에이전트가 에이전트 호스트 VM에서 실행 중이어야 합니다. 에이전트 호스트 VM에 연결하고 다음 명령어를 사용하여 에이전트를 시작하거나 중지합니다.
호스트 VM에서 에이전트를 시작하려면 다음을 실행합니다.
systemctl start bpagent
호스트 VM에서 에이전트를 중지하려면 다음을 실행합니다.
systemctl stop bpagent
syslog 전달을 위한 프라이빗 클라우드 구성
VMware Engine은 syslog 메시지를 vCenter 및 NSX-T에서 독립형 에이전트로 전달하여 Cloud Logging과 통합됩니다. 독립형 에이전트는 Cloud Logging이 읽을 수 있도록 vCenter 및 NSX-T 로그를 모두 파싱하도록 구성됩니다.
VMware Engine에서 syslog 메시지를 전달하려면 다음 안내를 따르세요.
- vCenter syslog 전달의 경우 vCenter syslog 메시지 전달의 단계를 따릅니다.
서버 필드에 에이전트 호스트 VM의 IP 주소 또는 호스트의 이름을 입력합니다. 독립형 에이전트는 TCP 통신 프로토콜을 사용하고 포트
5142
에서 리슨합니다. 성공적으로 연결하려면 syslog 구성에서 독립형 에이전트가 실행 중이어야 합니다. - NSX-T syslog 전달의 경우 NSX-T syslog 메시지 전달의 단계를 따르세요.
FQDN 또는 IP 주소 필드에 에이전트 호스트 VM의 IP 주소 또는 호스트 이름을 입력합니다. 독립형 에이전트는 TCP 통신 프로토콜을 사용하고 포트
5142
에서 리슨합니다.
ESXi 호스트에서 syslog를 전달하려면 로그 에이전트에서 리슨하는 기본 포트를 5142
에서 514
로 변경합니다. 이 경우 NSX-T뿐만 아니라 vCenter에서 syslog 전달에 같은 포트(514
)를 사용합니다.
에이전트 제거
VM에서 에이전트를 삭제하려면 에이전트 VM에 연결하고 명령줄에서 다음 명령어를 실행합니다.
독립형 에이전트를 중지하고 사용 중지합니다.
systemctl stop bpagent
systemctl disable bpagent
다음 명령어를 실행하여 독립형 에이전트 서비스를 삭제합니다.
rm /etc/systemd/system/bpagent.service
rm -rf /opt/bpagent
서비스 변경사항을 기반으로 시스템 구성을 업데이트하고 실패한 단위를 삭제합니다.
systemctl daemon-reload
systemctl reset-failed
Cloud Monitoring 대시보드
측정항목 전달을 사용 설정한 후에는 사전 정의된 대시보드를 VMware Engine에 설치할 수 있습니다. 다음 대시보드는 지정한 모든 소스에 집계된 정보를 제공합니다.
- 개요 대시보드: 데이터 센터, 클러스터, VM과 같은 주요 리소스를 나열하는 개략적인 보기입니다.
- 경합 대시보드: 리소스 수요에 따라 상위 VM과 호스트를 찾는 데 도움이 되는 스토리지, CPU, 메모리, 네트워킹의 리소스 사용률입니다.
- 가상 머신 성능 대시보드: 인스턴스 이름으로 필터링하고 여러 VM의 성능을 서로 비교하는 데 사용할 수 있는 가상 머신(VM) 인스턴스 성능 표시기입니다.
VMware Engine 대시보드에 액세스하려면 다음 안내를 따르세요.
Google Cloud Console에서 Monitoring > 대시보드로 이동합니다.
샘플 라이브러리 탭에서 VMware 카테고리를 선택합니다.
원하는 대시보드를 선택하고 file_download가져오기를 클릭합니다.
이러한 대시보드의 정의는 GitHub에 저장됩니다. 정의를 커스텀 대시보드로 설치하거나 보는 단계는 샘플 대시보드 설치를 참조하세요.
Cloud Monitoring 알림
통합의 측정항목을 사용하여 커스텀 임계값 및 이슈를 기반으로 알림과 알림을 트리거할 수 있습니다. 예를 들어 누군가 비공개 클라우드에 새 VM을 만들 때 Cloud Monitoring에서 SMS 알림을 보내도록 설정할 수 있습니다.
자세한 내용은 알림 소개를 참조하세요.
수집된 측정항목 목록
측정항목 전달을 성공적으로 사용 설정하면 Cloud Monitoring 측정항목 탐색기에서 측정항목을 확인할 수 있습니다. 측정항목 탐색기에서는 VMware Engine의 리소스 유형과 측정항목 유형이 external.googleapis.com/vmware/vcenter.
프리픽스로 시작합니다.
다음은 VMware Engine에 수집되는 측정항목의 전체 목록이며 프리픽스는 생략되었습니다.
리소스 및 측정항목 유형 | 설명 |
---|---|
cluster.cpu.available |
클러스터에서 사용 가능한 CPU(메가헤르츠) |
cluster.memory.available |
클러스터에서 사용할 수 있는 메모리(바이트) |
cluster.cpu.threads |
클러스터의 CPU 스레드 수 |
cluster.cpu.effective |
실행 중인 모든 호스트의 클러스터에 있는 유효 CPU입니다. 응답하지 않거나 유지보수 모드인 호스트는 계산에 포함되지 않습니다. |
cluster.effective_hosts |
클러스터의 유효 호스트 수입니다. 응답하지 않거나 유지보수 모드인 호스트는 계산포함되지 않습니다. |
cluster.memory.effective |
실행 중인 모든 호스트의 클러스터에 있는 유효 메모리입니다. 응답하지 않거나 유지보수 모드인 호스트는 계산에 포함되지 않습니다. |
cluster.hosts |
클러스터의 호스트 수 |
cluster.vsan.latency |
클러스터의 vSAN 지연 시간(마이크로초) |
cluster.vsan.throughput |
클러스터의 vSAN 읽기-쓰기 처리량(바이트) |
cluster.vsan.iops |
클러스터의 vSAN IOPS |
cluster.vsan.congestions |
클러스터의 vSAN 정체 값 |
cluster.vsan.oio |
클러스터의 vSAN 미해결 I/O(oio) |
datacenter.cpu.average_host_utilization |
데이터 센터의 평균 호스트 사용률(백분율) |
datacenter.clusters |
데이터 센터의 클러스터 수 |
datacenter.datastores |
데이터 센터의 데이터 저장소 수 |
datacenter.hosts |
데이터 센터의 호스트 수 |
datacenter.host_systems |
데이터 센터의 호스트 시스템 수 |
datacenter.hosts/powered_on |
데이터 센터에서 전원이 켜진 호스트 수 |
datacenter.hosts/powered_off |
데이터 센터에서 전원이 꺼진 호스트 수 |
datacenter.disk/space |
데이터 센터의 총 디스크 공간(TB) |
datastore.capacity_bytes |
Datastore 용량(바이트) |
datastore.capacity_utilization |
Datastore의 용량 사용률(백분율) |
host_system.network.transmitted_packets |
호스트 시스템에서 전송한 네트워크 패킷 수 |
host_system.network.received_packets |
호스트 시스템에서 수신한 네트워크 패킷 수 |
host_system.dropped_packets |
호스트 시스템에서 삭제한 네트워크 패킷 수 |
host_system.network.adapters |
호스트 시스템 네트워크 어댑터 수 |
host_system.memory.utilization |
호스트 시스템의 메모리 사용률(백분율) |
host_system.memory.utilization_ratio |
호스트 시스템의 메모리 사용 비율 |
host_system.memory.used |
호스트 시스템에서 사용하는 메모리(메가바이트) |
host_system.disk.read |
호스트 시스템의 디스크 읽기(초당 KB) |
host_system.disk_latency |
호스트 시스템의 디스크 지연 시간(밀리초) |
host_system.cpu.usage |
호스트 시스템의 CPU 사용률(백분율) |
host_system.cpu.utilization_ratio |
호스트 시스템의 CPU 사용 비율 |
host_system.cpu.capacity |
호스트 시스템의 CPU 용량(메가헤르츠) |
host_system.cpu.reserved_capacity |
호스트 시스템의 예약된 CPU 용량(메가헤르츠) |
host_system.cpu.average_speed |
호스트 시스템의 평균 CPU 속도(메가헤르츠) |
host_system.cpu.used |
호스트 시스템에서 사용하는 CPU(메가헤르츠) |
host_system.vsan.throughput |
호스트 시스템의 vSAN 읽기-쓰기 처리량(바이트) |
host_system.vsan.iops |
호스트 시스템의 vSAN IOPS |
host_system.vsan.latency |
호스트 시스템의 vSAN 지연 시간(마이크로초) |
host_system.vsan.client_cache_hits |
호스트 시스템의 vSAN 클라이언트 캐시 적중 |
host_system.vsan.client_cache_hit_rate |
호스트 시스템의 vSAN 클라이언트 캐시 적중 비율(백분율) |
host_system.vsan.congestions |
호스트 시스템의 vSAN 정체 값 |
resource_pool.memory.swapped_bytes |
vCenter에서 교체된 메모리(메가바이트) |
resource_pool.memory.shared_bytes |
vCenter 공유 메모리(메가바이트) |
resource_pool.memory.private_bytes |
vCenter 비공개 메모리(메가바이트) |
resource_pool.memory.shares |
vCenter 메모리 공유 수 |
resource_pool.memory.overhead_usage_bytes |
vCenter 메모리 오버헤드 사용량(메가바이트) |
resource_pool.memory.host_usage_bytes |
vCenter 메모리 호스트 사용량(메가바이트) |
resource_pool.memory.active_guest_usage_bytes |
vCenter 메모리 활성 게스트 사용량(메가바이트) |
resource_pool.memory.balloon_size |
vCenter 벌룬 메모리의 크기(MB) |
resource_pool.cpu.usage |
vCenter에서 사용하는 CPU(MHz) |
resource_pool.cpu.shares |
리소스 풀의 CPU 공유 수(MB) |
vm.memory.ballooned |
vCenter 벌룬 메모리의 크기(메가바이트) |
vm.network.throughput_bytes |
VM의 네트워크 처리량(초당 킬로바이트) |
vm.memory.used_percent |
VM에서 사용하는 메모리(사용 가능한 메모리의 백분율) |
vm.memory.usage_bytes |
VM에서 사용하는 메모리(메가바이트) |
vm.disk.throughput_bytes |
VM의 디스크 읽기-쓰기 처리량(초당 KB) |
vm.disk.used_percent |
VM의 디스크 사용량(사용 가능한 스토리지의 백분율) |
vm.disk.usage_bytes |
VM의 디스크 사용량(바이트) |
vm.disk.free_bytes |
VM의 사용 가능한 디스크 공간(바이트) |
vm.cpu.used_percent |
VM의 CPU 사용량(사용 가능한 CPU의 백분율) |
vm.cpu.usage |
VM의 CPU 사용량(메가바이트) |
vm.cpu.ready_percent |
준비되었지만 실행할 수 없는 VM의 CPU(백분율) |
vm.vsan.throughput |
VM의 vSAN 읽기-쓰기 처리량(바이트) |
vm.vsan.iops |
VM의 vSAN IOPS |
vm.vsan.latency |
VM의 vSAN 지연 시간(마이크로초) |
vm.vsan.readCount |
VM의 vSAN 읽기 수 |
vm.vsan.writeCount |
VM의 vSAN 쓰기 수 |
vsphere.cpu.available |
vSphere에서 관리하는 클러스터 간에 사용 가능한 CPU(기가헤르츠) |
vsphere.memory.available |
vSphere에서 관리하는 클러스터 간에 사용 가능한 메모리(기가바이트) |
vsphere.clusters.total |
vSphere에서 관리하는 클러스터 수 |
vsphere.clusters |
클러스터 상태 색상 코드(예: 녹색, 회색, 빨간색 또는 노란색)를 사용하여 vSphere에서 관리하는 클러스터 수 |
vsphere.cpu.cpus |
vSphere에서 관리하는 총 호스트 시스템 CPU 코어 수 |
vsphere.datacenters |
vSphere에서 관리하는 데이터 센터 수 |
vsphere.datastores.total |
vSphere의 Datastore 수 |
vsphere.datastores |
Datastore 상태 색상 코드(예: 녹색, 회색, 빨간색 또는 노란색)를 사용하여 vSphere에서 관리하는 Datastore 수 |
vsphere.disk.space |
vSphere에 연결된 총 디스크 공간(테라바이트) |
vsphere.host_systems |
vSphere의 호스트 시스템 수 |
vsphere.hosts |
호스트 시스템 상태 색상 코드(예: 녹색, 회색, 빨간색 또는 노란색)를 사용하여 vSphere에서 관리하는 호스트 시스템 수 |
vsphere.network.adapters |
vSphere의 네트워크 어댑터 수 |
vsphere.hosts.powered_off |
vSphere의 전원이 꺼진 호스트 수 |
vsphere.hosts.powered_on |
vSphere의 전원이 켜진 호스트 수 |
vsphere.virtual_machines.total |
모든 vSphere 클러스터의 VM 수 |
vsphere.virtual_machines |
VM 상태 색상 코드(예: 녹색, 회색, 빨간색 또는 노란색)를 사용하여 vSphere에서 관리하는 VM 수 |