비즈니스용 Skype 2015의 중앙 로깅 서비스

요약: 2015년 비즈니스용 Skype 서버 중앙 집중식 로깅 서비스의 서비스 구성 요소 및 구성 설정에 대해 알아봅니다.

중앙 집중식 로깅 서비스는 다음을 수행할 수 있습니다.

  • 중앙 위치에서 단일 명령을 사용하여 하나 이상의 컴퓨터 및 풀에서 로깅을 시작하거나 중지합니다.

  • 하나 이상의 컴퓨터 및 풀에서 로그를 검색합니다. 모든 컴퓨터에서 모든 로그를 반환하도록 검색을 조정하거나 더 간결한 결과를 반환할 수 있습니다.

  • 다음과 같이 로깅 세션을 구성합니다.

    • 시나리오를 정의하거나 기본 시나리오를 사용합니다. 중앙 집중식 로깅 서비스의 시나리오는 scope(전역 또는 사이트), 시나리오의 목적을 식별하는 시나리오 이름 및 하나 이상의 공급자로 구성됩니다. 컴퓨터에서 지정된 시간에 기본 시나리오와 정의된 시나리오 하나를 실행할 수 있습니다.

    • 기존 공급자를 사용하거나 새 공급자를 만듭니다. Aprovider는 로깅 세션이 수집하는 항목, 세부 정보 수준, 추적할 구성 요소 및 적용되는 플래그를 정의합니다.

      OCSLogger에 익숙한 경우 termproviders는 구성 요소 컬렉션(예: S4, SIPStack), 로깅 유형 (예: WPP, EventLog 또는 IIS 로그파일), 추적 수준 (예: 모두, 자세한 정보 표시, 디버그) 및 플래그 (예: TF_COMPONENT, TF_DIAG)를 참조합니다. 이러한 항목은 공급자(Windows PowerShell 변수)에 정의되고 중앙 집중식 로깅 서비스 명령에 전달됩니다.

    • 특정 컴퓨터 및 풀에 대한 로그를 구성합니다.

    • 사이트 옵션(해당 사이트의 컴퓨터에서만 로깅 캡처를 실행하려면) 또는 전역(배포의 모든 컴퓨터에서 로깅 캡처 실행)에서 로깅 세션에 대한 scope 정의합니다.

중앙 집중식 로깅 서비스는 근본 원인 분석에서 성능 문제에 이르기까지 크거나 작은 문제에 대한 강력한 문제 해결 도구입니다. 모든 예제는 비즈니스용 Skype 서버 관리 셸을 사용하여 표시됩니다. 도구 자체를 통해 명령줄 도구에 대한 도움말이 제공되지만 명령줄에서 실행할 수 있는 제한된 함수 집합이 있습니다. 비즈니스용 Skype 서버 Management Shell을 사용하면 훨씬 더 크고 훨씬 더 구성 가능한 기능 집합에 액세스할 수 있으므로 항상 첫 번째 선택이어야 합니다.

로깅 서비스 구성 요소

중앙 집중식 로깅 서비스는 배포의 모든 서버에서 실행되며 다음 에이전트 및 서비스로 구성됩니다.

  • 중앙 집중식 로깅 서비스 에이전트 ClsAgent는 비즈니스용 Skype 서버 배포된 모든 컴퓨터에서 실행됩니다. WCF를 통해 ClsController의 명령에 대해 (포트 TCP 50001-50003)을 수신 대기하고 컨트롤러에 응답을 다시 보냅니다. 로그 세션(시작/중지/업데이트)을 관리하고 로그를 검색합니다. 로그 보관 및 제거와 같은 하우스키핑 작업도 수행합니다.

  • 중앙 집중식 로깅 서비스 컨트롤러 cmdlet 비즈니스용 Skype 서버 관리 셸은 시작, 중지, 플러시 및 검색 명령을 ClsAgent로 보냅니다. 검색 명령을 보내면 결과 로그가 ClsControllerLib.dll 반환되고 집계됩니다. 컨트롤러는 에이전트에 명령을 보내고, 해당 명령의 상태 수신하고, 검색 scope 컴퓨터의 모든 에이전트에서 반환될 때 검색 로그 파일 데이터를 관리하고, 로그 데이터를 의미 있고 순서가 지정된 출력 집합으로 집계합니다. 다음 topics 정보는 비즈니스용 Skype 서버 관리 셸을 사용하는 데 중점을 줍니다.

ClsAgent에 대한 ClsController 통신

CLSController와 CLSAgent 간의 관계.

Windows Server 명령줄 인터페이스를 사용하거나 비즈니스용 Skype 서버 관리 셸을 사용하여 명령을 실행합니다. 명령은 로그인한 컴퓨터에서 실행되어 ClsAgent 로컬 또는 배포의 다른 컴퓨터 및 풀로 전송됩니다.

ClsAgent는 모든 의 인덱스 파일을 유지 관리합니다. 로컬 컴퓨터에 있는 CACHE 파일입니다. ClsAgent는 CacheFileLocalFolders 옵션으로 정의된 볼륨에 균등하게 분산되도록 할당하며, 각 볼륨의 80% 이상을 사용하지 않습니다(즉, 로컬 캐시 위치 및 백분율은 Set-CsClsConfiguration cmdlet을 사용하여 구성할 수 있습니다). ClsAgent는 또한 로컬 컴퓨터에서 오래된 캐시된 이벤트 추적 로그(.etl) 파일의 노화를 담당합니다. 2주 후(즉, Set-CsClsConfiguration cmdlet을 사용하여 기간을 구성할 수 있습니다) 이러한 파일은 파일 공유에 복사되어 로컬 컴퓨터에서 삭제됩니다. 자세한 내용은 Set-CsClsConfiguration을 참조하세요. 검색 요청을 받으면 검색 조건을 사용하여 캐시된 .etl 파일 집합을 선택하여 에이전트가 유지 관리하는 인덱스의 값에 따라 검색을 수행합니다.

참고

로컬 컴퓨터에서 파일 공유로 이동된 파일은 ClsAgent에서 검색할 수 있습니다. ClsAgent가 파일을 파일 공유로 이동하면 ClsAgent에서 파일의 에이징 및 제거를 유지 관리하지 않습니다. 파일 공유의 파일 크기를 모니터링하고 삭제하거나 보관하는 관리 작업을 정의해야 합니다.

결과 로그 파일은Snooper.exe및 텍스트 파일(예:Notepad.exe)을 읽을 수 있는 도구를 비롯한 다양한 도구를 사용하여 읽고 분석할 수 있습니다. Snooper.exe 비즈니스용 Skype 서버 2015 디버그 도구의 일부이며 웹 다운로드로 사용할 수 있습니다.

OCSLogger와 마찬가지로 중앙 집중식 로깅 서비스에는 추적할 여러 구성 요소가 있으며 TF_COMPONENT 및 TF_DIAG 같은 플래그를 선택하는 옵션을 제공합니다. 중앙 집중식 로깅 서비스는 OCSLogger의 로깅 수준 옵션도 유지합니다.

명령줄 ClsController를 통해 비즈니스용 Skype 서버 Management Shell을 사용하는 가장 중요한 이점은 문제 공간, 사용자 지정 플래그 및 로깅 수준을 대상으로 하는 선택한 공급자를 사용하여 새 시나리오를 구성하고 정의할 수 있다는 것입니다. ClsController에서 사용할 수 있는 시나리오는 실행 파일에 대해 정의된 시나리오로 제한됩니다.

이전 버전에서는 관리자 및 지원 담당자가 배포의 컴퓨터에서 추적 파일을 수집할 수 있도록 OCSLogger.exe 제공되었습니다. OCSLogger는 모든 강점에 대해 단점이 있었습니다. 지정된 시간에 한 컴퓨터에서만 로그를 수집할 수 있습니다. OCSLogger의 별도 복사본을 사용하여 여러 컴퓨터에 로그온할 수 있지만 여러 로그로 끝났으며 결과를 집계하는 쉬운 방법은 없었습니다.

사용자가 로그 검색을 요청하면 ClsController는 요청을 보낼 머신(즉, 선택한 시나리오에 따라)을 결정합니다. 또한 저장된 .etl 파일이 있는 파일 공유로 검색을 보내야 하는지 여부도 결정합니다. 검색 결과가 ClsController로 반환되면 컨트롤러는 결과를 사용자에게 표시되는 단일 시간 순서 결과 집합으로 병합합니다. 사용자는 추가 분석을 위해 검색 결과를 로컬 컴퓨터에 저장할 수 있습니다.

로깅 세션을 시작할 때 resolve 문제와 관련된 시나리오를 지정합니다. 언제든지 두 가지 시나리오를 실행할 수 있습니다. 이러한 두 시나리오 중 하나는 AlwaysOn 시나리오여야 합니다. 이름에서 알 수 있듯이 항상 배포에서 실행되어 모든 컴퓨터, 풀 및 구성 요소에 대한 정보를 수집해야 합니다.

중요

기본적으로 AlwaysOn 시나리오는 배포에서 실행되지 않습니다. 시나리오를 명시적으로 시작해야 합니다. 시작되면 명시적으로 중지될 때까지 계속 실행되며 컴퓨터의 다시 부팅을 통해 실행 상태가 유지됩니다. 시나리오 시작 및 중지에 대한 자세한 내용은 비즈니스용 Skype 서버 2015에서 CLS 로그 캡처 시작 또는 중지를 참조하세요.

문제가 발생하면 보고된 문제와 관련된 두 번째 시나리오를 시작합니다. 문제를 재현하고 두 번째 시나리오에 대한 로깅을 중지합니다. 보고된 문제를 기준으로 로그 검색을 시작합니다. 로그의 집계된 컬렉션은 사이트의 모든 컴퓨터 또는 배포의 전역 scope 추적 메시지를 포함하는 로그 파일을 생성합니다. 검색이 가능한 분석할 수 있는 것보다 더 많은 데이터를 반환하는 경우(일반적으로 노이즈가 너무 높은 신호 대 노이즈 비율이라고 함) 더 좁은 매개 변수를 사용하여 다른 검색을 실행합니다. 이 시점에서 표시되는 패턴을 확인할 수 있으며 문제에 더 명확하게 초점을 맞추는 데 도움이 될 수 있습니다. 궁극적으로 몇 가지 구체화된 검색을 수행한 후 문제와 관련된 데이터를 찾고 근본 원인을 파악할 수 있습니다.

비즈니스용 Skype 서버 문제 시나리오를 제시할 때 먼저 "문제에 대해 이미 알고 있는 것은 무엇인가?"라고 자문해 보세요. 문제 경계를 정량화하는 경우 비즈니스용 Skype 서버 운영 엔터티의 상당 부분을 제거할 수 있습니다.

사용자가 연락처를 검색할 때 현재 결과를 얻지 못하고 있음을 알고 있는 예제 시나리오를 생각해 보세요. 미디어 구성 요소, Enterprise Voice, 회의 및 기타 여러 구성 요소에서 문제를 찾는 데는 아무런 의미가 없습니다. 문제가 실제로 어디에 있는지 모를 수도 있습니다. 클라이언트에서 또는 서버 쪽 문제인가요? 연락처는 사용자 복제자에 의해 Active Directory에서 수집되고 ABServer(주소록 서버)를 통해 클라이언트에 전달됩니다. ABServer는 RTC 데이터베이스(사용자 복제자가 작성한 위치)에서 업데이트를 가져오고 기본적으로 오전 1시 30분 주소록 파일로 수집합니다. 비즈니스용 Skype 서버 클라이언트는 임의 일정에 따라 새 주소록을 검색합니다. 프로세스 작동 방식을 알고 있으므로 사용자 복제자가 Active Directory에서 수집한 데이터, 주소록 파일을 검색 및 만들지 않는 ABServer 또는 주소록 파일을 다운로드하지 않는 클라이언트와 관련된 문제에 대한 잠재적인 원인에 대한 검색을 줄일 수 있습니다.

현재 구성

중앙 집중식 로깅 서비스는 로깅 서비스가 수집할 대상, 수집 방법, 수집 위치 및 로그 설정을 정의하도록 구성됩니다. 전역적으로(즉, 전체 배포의 경우) 또는 사이트(즉, 배포에서 명명된 사이트)에 대해 이러한 설정을 정의합니다. 정의하는 모든 로깅은 명령이 로그를 시작, 중지, 플러시 및 검색하는 데 사용하는 ID에 적합한 설정을 사용합니다.

현재 중앙 집중식 로깅 서비스 구성을 표시하려면

  1. 비즈니스용 Skype 서버 관리 셸 시작: 시작을 클릭하고 모든 프로그램을 클릭한 다음 Skype for Business 2015를 클릭한 다음 관리 셸 비즈니스용 Skype 서버 클릭합니다.

  2. 명령줄 프롬프트에 다음을 입력합니다.

    Get-CsClsConfiguration
    

    를 정의 -Identity 하여 반환되는 구성 설정의 scope 좁히거나 확장할 수 있으며, "Site:Redmond"와 같은 scope 사이트 Redmond에 대한 CsClsConfiguration만 반환할 수 있습니다. 구성의 지정된 부분에 대한 세부 정보를 원하는 경우 출력을 다른 Windows PowerShell cmdlet으로 파이프할 수 있습니다. 예를 들어 사이트 "Redmond"에 대한 구성에 정의된 시나리오에 대한 세부 정보를 얻으려면 다음을 입력합니다. Get-CsClsConfiguration -Identity "site:Redmond" | Select-Object -ExpandProperty Scenarios

    Get-CsClsConfiguration의 샘플 출력.

    cmdlet의 결과는 중앙 집중식 로깅 서비스의 현재 구성을 표시합니다.

구성 설정 설명
Identity
이 구성의 scope 및 이름을 식별합니다. 전역 구성은 하나뿐이며 사이트당 하나의 구성만 있습니다.
시나리오
이 구성에 대해 정의된 모든 시나리오의 목록입니다.
SearchTerms
구성에 대한 정의된 검색어입니다. 온-프레미스 배포가 아닌 Microsoft 365 또는 Office 365.
SecurityGroups
사용자(즉, 보안 그룹의 구성원)를 제어하는 정의된 보안 그룹은 자신이 있는 사이트를 기반으로 컴퓨터를 볼 수 있습니다. 이 컨텍스트에서 사이트는 토폴로지 작성기에서 정의된 사이트입니다.
지역
정의된 지역은 지역(예: EMEA)으로 SecurityGroups를 수집하는 데 사용됩니다.
EtlFileRolloverSizeMB
매개 변수는 새 이벤트 추적 로그(.etl) 파일을 만들기 전에 로그 파일의 최대 크기를 나타냅니다. EtlFileRolloverMinutes에서 설정된 최대 시간에 아직 도달하지 않은 경우에도 정의된 크기에 도달하면 새 로그 파일이 만들어집니다.
EtlFileRolloverMinutes
새 .etl 파일을 만들기 전에 로그가 경과할 수 있는 최대 시간(분)을 정의했습니다. EtlFileRolloverSizeMB에 설정된 최대 크기에 아직 도달하지 않은 경우에도 타이머가 만료되면 새 로그 파일이 만들어집니다.
TmfFileSearchPath
추적 메시지 형식 파일을 검색할 위치입니다.
CacheFileLocalFolders
캐시 파일이 컴퓨터에 기록되는 위치에 대한 정의된 경로입니다. CLSAgent는 캐시 파일을 작성하고 네트워크 서비스의 컨텍스트에서 실행됩니다. 이 경우 %TEMP%는 %WINDIR%\ServiceProfiles\NetworkService\AppData\Local으로 확장됩니다. 기본적으로 캐시 파일 및 로그 파일은 동일한 디렉터리에 기록됩니다.
CacheFileNetworkFolder
로깅 작업 중에 캐시 파일을 수신하는 UNC(범용 명명 규칙) 경로를 정의할 수 있습니다.
CacheFileLocalRetentionPeriod
캐시 파일이 보존되는 최대 시간(일)으로 정의됩니다.
CacheFileMaxDiskUsage
캐시 파일에서 사용할 수 있는 디스크 공간의 백분율로 정의됩니다.
ComponentThrottleLimit
자동 제한 제한기가 트리거되기 전에 구성 요소가 생성할 수 있는 초당 최대 추적 수로 정의됩니다.
ComponentThrottleSample
ComponentThrottleLimit을 초과할 수 있는 60초의 횟수입니다.
MinimumClsAgentServiceVersion
실행할 수 있는 CLSAgent의 최소 버전입니다. 이 요소는 Microsoft 365 또는 Office 365 위한 것입니다.