다양한 서비스에서 자동으로 로그를 생성합니다. vRealize Automation에서 로그 번들을 생성할 수 있습니다. 로그를 vRealize Log Insight로 전송하도록 환경을 구성할 수도 있습니다.
vracli
명령줄 유틸리티에 대한 정보를 보려면 vracli
명령줄에서 --help
인수를 사용합니다(예: vracli log-bundle --help
).
vRealize Log Insight 사용에 대한 관련 정보는 vRealize Automation에서 vRealize Log Insight로 로그 전달을 구성하는 방법의 내용을 참조하십시오.
로그 번들 명령
실행하는 서비스에서 생성된 모든 로그를 포함하는 로그 번들을 생성할 수 있습니다. 로그 번들에는 모든 서비스 로그가 포함됩니다. 로그 번들은 문제 해결에 사용할 수 있습니다.
클러스터링된 환경(고가용성 모드)에서는 하나의 노드에서만 vracli log-bundle
명령을 실행합니다. 그러면 환경의 모든 노드에서 로그를 가져옵니다. 하지만 네트워킹 또는 다른 클러스터 문제가 발생하는 경우에는 연결할 수 있는 노드에서 로그를 가져옵니다. 예를 들어 노드가 3개인 클러스터에서 한 노드의 연결이 끊어지면 두 개의 정상 노드에서만 로그가 수집됩니다. vracli log-bundle
명령의 출력에는 발견된 문제와 해결 단계에 대한 정보가 포함됩니다.
- 로그 번들을 생성하려면 노드에 SSH를 실행하고 다음
vracli
명령을 실행합니다.vracli log-bundle
- 각 노드에서 로그 수집에 대한 시간 초과 값을 변경하려면 다음
vracli
명령을 실행합니다.vracli log-bundle --collector-timeout $CUSTOM_TIMEOUT_IN_SECONDS
예를 들어 환경에 큰 로그 파일, 느린 네트워킹 또는 높은 CPU 사용량이 포함된 경우에는 시간 초과를 기본값인 1000초보다 크게 설정할 수 있습니다.
ebs
또는vro
와 같은 특정 서비스 로그에 사용되는 디스크 공간을 확인하려면 다음vracli
명령을 실행하고 명령 출력을 검토합니다.vracli disk-mgr
- 어셈블리 시간 초과 및 버퍼 위치와 같은 기타 옵션을 구성하려면 다음
vracli
도움말 명령을 사용합니다.vracli log-bundle --help
로그 번들 구조
로그 번들은 타임 스탬프가 있는 tar 파일입니다. 번들의 이름은 패턴 log-bundle-<date>T<time>.tar
파일과 일치합니다(예: log-bundle-20200629T131312.tar
). 일반적으로 로그 번들에는 환경에 있는 모든 노드의 로그가 포함됩니다. 오류가 발생하는 경우, 가능한 한 많은 로그가 포함됩니다. 최소한 로컬 노드의 로그가 포함됩니다.
- 환경 파일
환경 파일에는 다양한 Kubernetes 유지 관리 명령의 출력이 포함됩니다. 노드 및 포드당 현재 리소스 사용량에 대한 정보를 제공합니다. 사용 가능한 모든 Kubernetes 엔티티에 대한 클러스터 정보와 설명도 포함됩니다.
- 호스트 로그 및 구성
각 호스트의 구성(예:
/etc
디렉토리) 및 호스트 관련 로그(예:journald
)는 각 클러스터 노드 또는 호스트에 대해 하나의 디렉토리에 수집됩니다. 디렉토리 이름은 노드의 호스트 이름과 일치합니다. 디렉토리의 내부 컨텐츠는 호스트의 파일 시스템과 일치합니다. 디렉토리 수는 클러스터 노드 수와 일치합니다. - 서비스 로그
Kubernetes 서비스에 대한 로그는 다음 폴더 구조에 있습니다.
<hostname>/services-logs/<namespace>/<app-name>/file-logs/<container-name>.log
<hostname>/services-logs/<namespace>/<app-name>/console-logs/<container-name>.log
예제 파일 이름은
my-host-01/services-logs/prelude/vco-app/file-logs/vco-server-app.log
입니다.- hostname은 애플리케이션 컨테이너가 실행 중이거나 실행되었던 노드의 호스트 이름입니다. 일반적으로 각 서비스의 각 노드마다 인스턴스가 하나씩 있습니다. 예를 들어 노드 3개 = 인스턴스 3개입니다.
- namespace는 애플리케이션이 배포되는 Kubernetes 네임스페이스입니다. 사용자에게 표시되는 서비스의 경우 이 값은
prelude
입니다. - app-name은 로그를 생성한 Kubernetes 애플리케이션의 이름입니다(예:
provisioning-service-app
). - container-name은 로그를 생성한 컨테이너의 이름입니다. 일부 앱은 여러 컨테이너로 구성됩니다. 예를 들어
vco-app
컨테이너에는vco-server-app
및vco-controlcenter-app
컨테이너가 포함됩니다.
- (레거시) 포드 로그
vRealize Automation 8.2에서 로깅 아키텍처가 변경되기 전에는, 서비스 로그가 로그 번들의 각 포드 디렉토리에 있었습니다.
vracli log-bundle --include-legacy-pod-logs
명령을 사용하여 포드 로그를 번들에 계속 생성할 수는 있지만, 모든 로그 정보가 각 서비스의 로그에 이미 있기 때문에 그렇게 하지 않는 것이 좋습니다. 포드 로그를 포함하면 로그 번들을 생성하는 데 필요한 시간과 공간이 불필요하게 늘어날 수 있습니다.
로그 번들 크기 줄이기
더 작은 로그 번들을 생성하려면 다음 vracli log-bundle
명령 중 하나를 사용합니다.
vracli log-bundle --since-days n
지난 특정 일수 동안 생성된 로그 파일만 수집하려면 이 명령을 사용합니다. 그러지 않으면 지난 2일 동안의 로그가 보존되고 수집됩니다. 예를 들면 다음과 같습니다.
vracli log-bundle --since-days 1
vracli log-bundle --services service_A,service_B,service_C
명명된 제공된 서비스에 대한 로그만 수집하려면 이 명령을 사용합니다. 예를 들면 다음과 같습니다.
vracli log-bundle --services ebs-app,vco-app
vracli log-bundle --skip-heap-dumps
생성된 로그 번들에서 모든 힙 덤프를 제외하려면 이 명령을 사용합니다.
로그 표시
vracli logs <pod_name>
명령을 사용하여 서비스 포드 또는 애플리케이션의 로그를 출력할 수 있습니다.
- --service
단일 포드 대신 애플리케이션의 모든 노드에 대해 병합된 로그를 표시합니다.
예:
vracli logs --service abx-service-app
- --tail n
로그의 마지막 n 줄을 표시합니다. 기본 n 값은 10입니다.
예:
vracli logs --tail 20 abx-service-app-8598fcd4b4-tjwhk
- --file
지정한 파일만 표시합니다. 파일 이름을 제공하지 않으면 모든 파일이 표시됩니다.
예:
vracli logs --file abx-service-app.log abx-service-app-8598fcd4b4-tjwhk
로그 순환 이해
- 모든 서비스는 로그를 생성합니다. 서비스 로그는 전용
/var/log/services-logs
디스크에 저장됩니다. - 모든 로그는 정기적으로 순환됩니다. 순환은 매시간 또는 특정 크기 제한에 도달할 때 발생합니다.
- 모든 이전 로그 순환은 결국 압축됩니다.
- 로그 순환에 대한 서비스별 할당량이 없습니다.
- 시스템은 가능한 한 많은 로그를 유지합니다. 자동화는 로그에 대해 사용된 디스크 공간을 정기적으로 확인합니다. 공간의 70%가 차면 로그용 디스크 공간이 60%에 도달할 때까지 이전 로그가 제거됩니다.
- 더 많은 공간이 필요한 경우 로그 디스크의 크기를 조정할 수 있습니다. vRealize Automation 장치 디스크 공간 늘리기의 내용을 참조하십시오.
로그 디스크 공간을 확인하려면 다음 vracli
명령을 실행합니다. /dev/sdc(/var/log)
의 사용 가능한 공간은 각 노드에 대해 거의 30% 또는 그 이상이어야 합니다.
# vracli cluster exec -- bash -c 'current_node; vracli disk-mgr; exit 0' sc1-10-182-1-103.eng.vmware.com /dev/sda4(/): Total size: 47.80GiB Free: 34.46GiB(72.1%) Available(for non-superusers): 32.00GiB(66.9%) SCSI ID: (0:0) /dev/sdb(/data): Total size: 140.68GiB Free: 116.68GiB(82.9%) Available(for non-superusers): 109.47GiB(77.8%) SCSI ID: (0:1) /dev/sdc(/var/log): Total size: 21.48GiB Free: 20.76GiB(96.6%) Available(for non-superusers): 19.64GiB(91.4%) SCSI ID: (0:2) /dev/sdd(/home): Total size: 29.36GiB Free: 29.01GiB(98.8%) Available(for non-superusers): 27.49GiB(93.7%) SCSI ID: (0:3)