상관 ID로 관련 로그 항목 찾기
상관 ID를 사용하여 분산 GitLab 로그에서 특정 요청과 관련된 항목을 추적하는 방법.
GitLab 인스턴스는 대부분의 요청에 대해 고유한 요청 추적 ID("상관 ID"라고 함)를 기록합니다. GitLab에 대한 각 개별 요청은 자체 상관 ID를 가지며, 이는 해당 요청에 대한 각 GitLab 컴포넌트의 로그에 기록됩니다. 이를 통해 분산 시스템에서 동작을 추적하기가 더 쉬워집니다. 이 ID 없이는 관련 로그 항목을 매칭하기가 어렵거나 불가능할 수 있습니다. 요청에 대한 상관 ID 식별 # 상관 ID는 구조화된 로그에서 correlation_id 키 아래 기록되고 GitLab이 x-request-id 헤더 아래 보내는 모든 응답 헤더에 기록됩니다. 두 위치 중 하나를 검색하여 상관 ID를 찾을 수 있습니다. 브라우저에서 상관 ID 가져오기 # 브라우저의 개발자 도구를 사용하여 방문 중인 사이트의 네트워크 활동을 모니터링하고 검사할 수 있습니다. 널리 사용되는 일부 브라우저의 네트워크 모니터링 문서에 대한 링크는 아래를 참조하세요. Network Monitor - Firefox Developer Tools Inspect Network Activity In Chrome DevTools Safari Web Development Tools Microsoft Edge Network panel 관련 요청을 찾고 상관 ID를 보려면: 네트워크 모니터에서 지속적인 로깅을 활성화합니다. GitLab의 일부 작업은 폼을 제출한 후 빠르게 리디렉션되므로 모든 관련 활동을 캡처하는 데 도움이 됩니다. 찾고 있는 요청을 격리하는 데 도움이 되도록 document 요청을 필터링할 수 있습니다. 관심 있는 요청을 선택하여 추가 세부 정보를 봅니다. 헤더 섹션으로 이동하여 응답 헤더 를 찾습니다. 거기서 GitLab이 요청을 위해 무작위로 생성한 값이 있는 x-request-id 헤더를 찾아야 합니다. 다음 예시를 참조하세요: 로그에서 상관 ID 가져오기 # 올바른 상관 ID를 찾는 또 다른 접근 방법은 로그를 검색하거나 감시하고 찾고 있는 로그 항목의 correlation_id 값을 찾는 것입니다. 예를 들어 GitLab에서 작업을 재현할 때 무슨 일이 일어나고 있는지 또는 무엇이 중단되는지 알고 싶다면, 사용자별로 요청을 필터링하면서 GitLab 로그를 tail하고 관심 있는 요청이 나올 때까지 기다릴 수 있습니다. curl에서 상관 ID 가져오기 # curl 을 사용하는 경우 verbose 옵션을 사용하여 요청 및 응답 헤더와 기타 디버그 정보를 표시할 수 있습니다. ➜ ~ curl --verbose "https://gitlab.example.com/api/v4/projects" # look for a line that looks like this < x-request-id: 4rAMkV3gof4 jq 사용 # 이 예시는 jq 를 사용하여 결과를 필터링하고 가장 관심 있는 값을 표시합니다. sudo gitlab-ctl tail gitlab-rails/production_json.log | jq 'select(.username == "bo
