비즈니스용 Skype 2015의 중앙 로깅 서비스에서 만든 캡처 로그 검색

요약: 비즈니스용 Skype 서버 2015에서 중앙 집중식 로깅 서비스 캡처 로그를 검색하고 읽는 방법을 알아봅니다.

중앙 집중식 로깅 서비스의 검색 기능은 다음과 같은 이유로 유용하고 강력합니다.

  • 검색 및 결과는 정의한 기준에 따라 단일 컴퓨터, 풀, 사이트 또는 전역 scope 실행됩니다.

  • 검색은 처음에는 광범위할 수 있으며 시간, 구성 요소 또는 컴퓨터와 같은 더 많은 대상 조건으로 좁힐 수 있습니다. 동일한 로그를 검색하고 검색 조건이 변경되면 로깅 세션을 다시 실행할 필요가 없습니다.

  • 검색 결과는 scope 모든 컴퓨터 및 풀에서 수집되고 검색 조건의 모든 결과를 나타내는 단일 출력 파일로 집계됩니다(실행 중인 시나리오 및 시나리오에서 캡처한 데이터로 제한됨). 스누퍼 또는 메모장과 같은 친숙한 도구를 사용하여 배포 전체에서 출력 파일 및 추적 메시지를 읽습니다.

각 개별 컴퓨터의 CLSAgent는 시나리오 또는 시나리오에 따라 로그를 만듭니다(컴퓨터당 두 시나리오는 지정된 시간에 실행할 수 있습니다). 로그 및 관련 인덱스 및 캐시 파일은 CLSAgent에서 관리됩니다. 검색을 정의하고 실행할 때 검색 명령은 CLSAgent에 검색해야 하는 정보를 지시합니다. CLSAgent는 로그 파일, 캐시 파일 및 인덱스 파일에 대해 쿼리를 실행하고 검색 결과를 CLSContoller에 반환합니다. CLSController는 검색 scope 모든 컴퓨터 및 풀에서 검색 결과를 받습니다. 그런 다음 CLSController는 로그를 집계(결합)하고 시간 델타 순서, 가장 오래된 항목, 마지막 항목까지 제시간에 진행합니다.

각 검색 후에 Sync-CsClsLogging cmdlet이 실행되고 검색에 사용되는 캐시를 플러시합니다(CLSAgent에서 유지 관리하는 캐시 파일과 혼동하지 않음). 캐시를 플러시하면 다음 검색 작업을 위해 CLSController에 클린 로그 및 추적 파일 캡처 버퍼가 있는지 확인하는 데 도움이 됩니다.

중앙 집중식 로깅 서비스의 이점을 최대한 활용하려면 조사 중인 문제와 관련된 컴퓨터 및 풀 로그의 추적 메시지만 반환하도록 검색을 구성하는 방법을 잘 이해해야 합니다. 문제

비즈니스용 Skype 서버 관리 셸을 사용하여 중앙 집중식 로깅 서비스 검색 함수를 실행하려면 CsAdministrator 또는 CsServerAdministrator RBAC(역할 기반 액세스 제어) 보안 그룹 또는 이러한 두 그룹 중 하나를 포함하는 사용자 지정 RBAC 역할의 멤버여야 합니다. 이 cmdlet이 할당된 모든 RBAC 역할 목록(직접 만든 사용자 지정 RBAC 역할 포함)을 반환하려면 비즈니스용 Skype 서버 관리 셸 또는 Windows PowerShell 프롬프트에서 다음 명령을 실행합니다.

Get-CsAdminRole | Where-Object {$_.Cmdlets -match "Skype for Business Server 2015 cmdlet"}

예를 들면 다음과 같습니다.

Get-CsAdminRole | Where-Object {$_.Cmdlets -match "Set-CsClsConfiguration"}

이 항목의 나머지 부분에서는 문제 해결을 최적화하기 위해 검색을 정의하는 방법에 중점을 둡니다.

중앙 집중식 로깅 서비스를 사용하여 기본 검색을 실행하려면

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

  2. 전역 scope 배포에서 AlwaysOn 시나리오가 실행되고 있는지 확인한 다음 명령 프롬프트에 다음을 입력합니다.

    Search-CsClsLogging -OutputFilePath <string value of path and file to write the output file>
    

참고

기본적으로 Search-CsClsLogging 검색 결과를 콘솔로 보냅니다. 검색 결과를 파일에 저장하려면 -OutputFilePath <문자열 정규화된 파일 경로를> 사용합니다. -OutputFilePath 매개 변수를 정의하려면 따옴표(예: C:\LogFiles\SearchOutput.txt)로 묶인 문자열 형식으로 매개 변수의 일부로 경로와 파일 이름을 제공합니다. 이 예제에서는 디렉터리 C:\LogFiles가 존재하고 폴더에 읽기 및 쓰기(NTFS 권한 수정) 파일에 대한 권한이 있는지 확인해야 합니다. 출력이 에 추가되고 덮어쓰지 않습니다. 별도의 파일이 필요한 경우 각 검색에 대해 고유한 파일 이름을 정의합니다.

예를 들면 다음과 같습니다.

Search-CsClsLogging -OutputFilePath "C:\LogFiles\logfile.txt"

중앙 집중식 로깅 서비스를 사용하여 풀 또는 컴퓨터에서 기본 검색을 실행하려면

  1. 검색을 특정 풀 또는 컴퓨터로 제한하려면 다음과 같이 -Computers 매개 변수를 컴퓨터 정규화된 이름으로 정의하고 따옴표로 묶고 쉼표로 구분하여 사용합니다.

    Search-CsClsLogging -Computers <string value of computer names> -OutputFilePath <string value of path and file to write the output file>
    

예를 들면 다음과 같습니다.

Search-CsClsLogging -Computers "fe01.contoso.net" -OutputFilePath "C:\LogFiles\logfile.txt"
  1. 둘 이상의 컴퓨터를 검색하려면 따옴표로 묶고 다음과 같은 쉼표로 구분된 여러 컴퓨터 이름을 입력합니다.

    Search-CsClsLogging -Computers "fe01.contoso.net", "fe02.contoso.net", "fe03.contoso.net" -OutputFilePath "C:\LogFiles\logfile.txt"
    
  2. 단일 컴퓨터 대신 전체 풀을 검색해야 하는 경우 -Computers 매개 변수를 -Pools로 변경하고 컴퓨터 이름을 제거한 다음 쉼표로 구분된 따옴표로 풀 또는 풀로 바꿉니다.

    예를 들면 다음과 같습니다.

    Search-CsClsLogging -Pools "pool01.contoso.net" -OutputFilePath "C:\Logfiles\logfile.txt"
    
  3. 검색 명령을 사용하는 경우 풀은 배포의 모든 풀(예: 프런트 엔드 풀, 에지 풀, 영구 채팅 서버 풀 또는 배포에서 풀로 정의된 다른 풀)일 수 있습니다.

    예를 들면 다음과 같습니다.

    Search-CsClsLogging -Pools "pool01.contoso.net", "pchatpool01.contoso.net", "intedgepool01.contoso.net" -OutputFilePath "C:\Logfiles\logfile.txt"
    

시간 매개 변수를 사용하여 검색을 실행하려면

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

  2. 기본적으로 검색 시간별 매개 변수의 시작 시간은 검색을 시작한 후 5분 이전인 25분 전입니다. 즉, 오후 4:00:00에 검색하면 검색 시작 시간이 오후 3:35:00부터 오후 4:05:00까지 표시됩니다. 현재 시간 60분 또는 3시간 전에 검색해야 하는 경우 -StartTime 매개 변수를 사용하고 날짜 및 시간 문자열을 설정하여 검색을 시작할 시간을 나타냅니다.

    예를 들어 -StartTime 및 -EndTime을 사용하여 시간 및 날짜 범위를 정의하면 풀에서 2012년 11월 20일 오전 8시에서 오전 9시 사이에 검색을 정의할 수 있습니다. 출력 경로를 설정하여 다음과 같이 c:\logfile.txt 파일에 결과를 쓸 수 있습니다.

    Search-CsClsLogging -Pools "pool01.contoso.net" -StartTime "11/20/2012 08:00:00 AM" -EndTime "11/20/2012 09:00:00 AM" -OutputFilePath "C:\Logfiles\logfile.txt"
    

참고

지정한 시간 및 날짜 문자열은 "날짜 시간" 또는 "시간 날짜"일 수 있습니다. "명령은 문자열을 구문 분석하고 cmdlet을 실행하는 컴퓨터에서 날짜 및 시간 및 로캘 및 문화권 설정에 적절한 값을 사용합니다.

  1. 2012년 11월 20일 오전 11:00:00부터 로그를 검색하려면 -StartTime을 정의합니다. 특정 -EndTime을 정의하지 않는 한 검색의 기본 시간 범위는 30분입니다. 결과 검색은 정의된 컴퓨터 또는 풀의 로그를 오전 11:00:00부터 오전 11:30:00까지 반환합니다.

예를 들면 다음과 같습니다.

Search-CsClsLogging -Pools "pool01.contoso.net" -StartTime "11/20/2012 11:00:00 AM" -OutputFilePath "C:\Logfiles\logfile.txt"
  1. 특정 기간 내에 로그 검색을 수행하려면 -StartTime 및 -EndTime을 정의합니다. 컴퓨터 edge01.contoso.net 오후 1시부터 오후 2시 45분까지 로그가 필요합니다.

예를 들면 다음과 같습니다.

Search-CsClsLogging -Computers "edge01.contoso.net" -StartTime "11/20/2012 1:00:00 PM" -EndTime "11/20/2012 2:45:00 PM" -OutputFilePath "C:\Logfiles\logfile.txt"

다른 조건 및 일치 옵션을 사용하여 고급 검색을 실행하려면

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

  2. 명령을 실행하여 특정 구성 요소에 대한 추적을 수집하려면 다음을 입력합니다.

    Search-CsClsLogging -Components <components to search on> -OutputFilePath <fully qualified path to output logs>
    

예를 들면 다음과 같습니다.

Search-CsClsLogging -Components "SIPStack","S4","UserServices" -OutputFilePath "C:\Logfiles\logfile.txt"

결과 검색은 지난 30분 동안 배포의 모든 컴퓨터 및 풀에서 SIPStack, S4 및 UserServices에 대한 추적 구성 요소가 있는 모든 로그 항목을 반환합니다.

  1. 동일한 구성 요소가 있는 검색을 pool01.contoso.net 라는 프런트 엔드 풀로 제한하려면 다음을 입력합니다.

    Search-CsClsLogging -Components "SIPStack","S4","UserServices" -OutputFilePath "C:\Logfiles\logfile.txt"
    
  2. 여러 매개 변수가 있는 명령에 대한 기본 검색 논리는 정의된 각 매개 변수와 함께 논리 OR을 사용하는 것입니다. -MatchAll 매개 변수를 지정하여 이 동작을 변경할 수 있습니다. 이렇게 하려면 다음을 입력합니다.

    Search-CsClsLogging -CallId "d0af828e49fa4dcb99f5f80223a634bc" -Components "SIPStack","S4","UserServices" -MatchAll -OutputFilePath "C:\Logfiles\logfile.txt"
    
  3. 시나리오가 AlwaysOn과 같이 지속적으로 실행되도록 설정되거나 장기 실행 시나리오 로그를 정의한 경우 로컬 컴퓨터가 파일 공유로 롤오프할 수 있습니다. New-CsClsConfiguration 사용하여 새 구성을 만들거나 Set-CsClsConfiguration을 사용하여 기존 구성을 수정하여 CacheFileNetworkFolder 매개 변수를 사용하여 파일 공유를 정의합니다. 검색할 로그 컬렉션에 파일 공유를 포함하지 않으려면 다음과 같이 SkipNetworkLogs 매개 변수를 사용합니다.

    Search-CsClsLogging -Components "SIPStack","S4","UserServices" -StartTime "11/1/2012 00:00:01 AM" -EndTime "11/20/2012 2:45:00 PM" -SkipNetworkLogs -OutputFilePath "C:\Logfiles\logfile.txt"
    

중앙 집중식 로깅 서비스에서 캡처 로그 읽기

검색을 실행한 후 보고된 문제를 추적하는 데 사용할 수 있는 파일이 있는 경우 중앙 집중식 로깅 서비스의 실제 이점을 파악할 수 있습니다. 파일을 읽을 수 있는 방법에는 여러 가지가 있습니다. 출력 파일은 표준 텍스트 형식이며 Notepad.exe 또는 텍스트 파일을 열고 읽을 수 있는 다른 프로그램을 사용할 수 있습니다. 더 큰 파일과 더 복잡한 문제의 경우 중앙 집중식 로깅 서비스에서 로깅 출력을 읽고 구문 분석하도록 설계된 Snooper.exe 같은 도구를 사용할 수 있습니다. 스누퍼는 별도의 다운로드로 사용할 수있는 디버그 도구에 포함되어 있습니다. 디버그 도구는 에서 다운로드할 수 있습니다 https://go.microsoft.com/fwlink/?LinkId=285257. 디버그 도구를 설치하면 바로 가기 및 메뉴 항목이 만들어지지 않습니다. 디버그 도구를 설치한 후 Windows Explorer, 명령줄 창 또는 비즈니스용 Skype 서버 관리 셸을 열고 디렉터리(기본 위치) C:\Program Files\비즈니스용 Skype 서버 2015\Debugging Tools로 이동합니다. Snooper.exe 두 번 클릭하거나 Snooper.exe 입력한 다음 명령줄 또는 비즈니스용 Skype 서버 관리 셸을 사용하는 경우 Enter 키를 누릅니다.

중요

이 항목의 의도는 문제 해결 기술을 자세히 설명하고 논의하지 않는 것입니다. 문제 해결 및 관련 프로세스는 복잡한 주제입니다. 기본 문제 해결 및 특정 워크로드 문제 해결에 대한 자세한 내용은 의 Microsoft Lync Server 2010 Resource Kit book을 https://go.microsoft.com/fwlink/p/?linkId=211003참조하세요. 프로세스 및 절차는 여전히 비즈니스용 Skype 서버 2015에 적용됩니다.

스누퍼에서 로그 파일을 열려면

  1. 스누퍼를 사용하고 로그 파일을 열려면 로그 파일에 대한 읽기 액세스 권한이 필요합니다. 스누퍼를 사용하고 로그 파일에 액세스하려면 CsAdministrator 또는 CsServerAdministrator RBAC(역할 기반 액세스 제어) 보안 그룹의 구성원이거나 이러한 두 그룹 중 하나를 포함하는 사용자 지정 RBAC 역할이어야 합니다.

  2. 디버깅 도구(LyncDebugTools.msi)를 설치한 후 디렉터리를 Windows Explorer 사용하거나 명령줄에서 Snooper.exe 위치로 변경합니다. 기본적으로 디버깅 도구는 C:\Program Files\비즈니스용 Skype 서버 2015\Debugging Tools에 있습니다. Snooper.exe 두 번 클릭하거나 실행합니다.

  3. 스누퍼가 열린 후 파일을 마우스 오른쪽 단추로 클릭하고 OpenFile을 클릭하고 로그 파일을 찾은 다음 열기 대화 상자에서 파일을 선택한 다음 열기를 클릭합니다.

  4. 로그 파일의 추적 메시지는 추적 탭에 표시됩니다. 메시지 탭을 클릭하여 수집된 추적의 메시지 내용을 봅니다.

호출 흐름 다이어그램을 표시하려면

  1. 스누퍼를 사용하고 로그 파일을 열려면 로그 파일에 대한 읽기 액세스 권한이 필요합니다. 스누퍼를 사용하고 로그 파일에 액세스하려면 CsAdministrator 또는 CsServerAdministrator RBAC(역할 기반 액세스 제어) 보안 그룹의 구성원이거나 이러한 두 그룹 중 하나를 포함하는 사용자 지정 RBAC 역할이어야 합니다.

  2. 로그 파일을 열고 메시지 탭을 클릭하고 메시지 보기에서 대화를 선택하거나 추적 탭에서 추적 구성 요소를 선택합니다.

  3. 통화 흐름을 클릭합니다.

참고

호출 흐름의 일부가 아닌 메시지 또는 추적을 클릭하면 다이어그램이 표시되지 않고 "이 메시지는 callfow에 적합하지 않습니다"라는 상태 메시지가 스누퍼 아래쪽에 표시됩니다. 다른 메시지 또는 추적을 선택하면 메시지 또는 추적이 호출 흐름의 일부인 경우 호출 흐름이 표시됩니다.

  1. 메시지 또는 추적 줄을 이동하고 호출 흐름 다이어그램이 업데이트되는지 또는 변경되어 새 다이어그램을 표시할지 여부를 확인합니다.

  2. 요소 위로 마우스를 가져가서 통화 메시지, 엔드포인트 및 기타 구성 요소에 대한 정보를 가져옵니다.