OSProfiler를 사용하여 OpenStack 배포의 핵심 서비스에 대해 추적을 설정할 수 있습니다. 추적 기능은 OpenStack 작업의 일부인 모든 API, RPC, 드라이버 및 데이터베이스 호출의 응답 시간을 캡처합니다.

VMware Integrated OpenStack은 Cinder, Glance, Heat, Neutron, Nova 및 Keystone 명령의 프로파일링을 지원합니다. 프로파일러 추적 데이터는 vRealize Log Insight에 저장됩니다.

사전 요구 사항

vRealize Log Insight을 배포 및 구성합니다. vRealize Log Insight에 대한 시작 설명서를 참조하십시오.

프로시저

  1. Integrated OpenStack Managerroot 사용자로 로그인합니다.
    ssh root@mgmt-server-ip
  2. 프로파일링할 서비스에 대한 구성을 수정합니다.
    viocli update service-name
  3. profiler 섹션을 생성합니다.
  4. enabled 매개 변수를 추가하고 해당 값을 true로 설정합니다.
  5. 데이터베이스 호출을 추적하려면 trace_sqlalchemy 매개 변수를 추가하고 값을 true로 설정합니다.
  6. hmac_keys 매개 변수를 추가하고 OSProfiler의 암호를 입력합니다.
  7. connection_string 매개 변수를 추가하고 값을 vRealize Log Insight 서버의 위치로 설정합니다.

    vRealize Log Insight 서버 주소를 다음 형식으로 입력합니다. loginsight://username:password@loginsight-ip

    vRealize Log Insight 배포에서 USER 역할을 가진 사용자의 사용자 이름과 암호를 지정합니다. 사용자 이름 또는 암호의 특수 문자에는 퍼센트 인코딩을 사용합니다. 예를 들어 콜론(:)을 %3A로 바꾸고 At 기호(@)를 %40으로 바꿉니다.

    이제 구성 파일이 다음과 유사합니다.
    conf:
      [...]
    profiler:
      enabled: true
      trace_sqlalchemy: true
      hmac_keys: osprofiler-password
      connection_string: loginsight://username:password@loginsight-ip

결과

이제 OpenStack 명령에 대해 프로파일링을 사용하도록 설정할 수 있습니다. --profile 매개 변수와 함께 원하는 명령을 실행하고 OSProfiler 암호를 지정합니다. 명령이 프로파일링 추적 UUID를 출력합니다. 그런 다음 프로파일링 추적 UUID와 vRealize Log Insight 주소로 OSProfiler를 실행하여 보고서를 생성합니다. 다음 예에서는 openstack volume list 명령을 프로파일링합니다.

openstack --profile osprofiler-password volume list
osprofiler trace show --connection-string "loginsight://username:password@loginsight-ip" --html profiling-uuid