381장. Zipkin 구성 요소
Camel 2.18에서 사용 가능
camel-zipkin 구성 요소는 zipkin을 사용하여 들어오고 나가는 Camel 메시지를 추적하고 타이밍하는 데 사용됩니다.
Camel로 전송되는 수신 및 발신 메시지의 경우 이벤트(span)가 캡처됩니다.
Camel 2.22.0에서는 zipkin을 사용하지 않고 기본 http 전송을 사용하지 않도록 Camel 2.22.0에서 리팩토링할 계획입니다. 이 작업은 이전 버전과 호환되지 않을 수 있습니다.
즉, zipkin 서비스 이름에 매핑되는 Camel 엔드포인트를 구성해야 합니다.
매핑은 다음을 사용하여 구성할 수 있습니다.
- 경로 ID - Camel 경로 ID
- 끝점 URL - Camel 끝점 URL
두 종류의 경우 Intercept의 규칙을 사용하여 와일드카드 및 정규식을 사용할 수 있습니다.
모든 Camel 메시지를 일치시키려면 패턴에서 *를 사용하고 동일한 서비스 이름으로 이를 구성할 수 있습니다.
매핑이 구성되지 않은 경우 Camel은 대체하여 엔드포인트 uri의 서비스 이름으로 사용합니다.
그러나 이름에서 Camel 엔드포인트 URI 대신 사람이 읽을 수 있는 이름을 사용할 수 있도록 서비스 매핑을 구성하는 것이 좋습니다.
Camel은 범위가 명시적으로 구성되지 않은 범위 보고기를 자동으로 구성하고 zipkin 수집기의 호스트 이름과 포트가 환경 변수로 구성된 경우
- ZIPKIN_COLLECTOR_HTTP_SERVICE_HOST - http 호스트 이름
- ZIPKIN_COLLECTOR_HTTP_SERVICE_PORT - 포트 번호
또는
- ZIPKIN_COLLECTOR_THRIFT_SERVICE_HOST - Scribe (Thrift RPC) 호스트 이름
- ZIPKIN_COLLECTOR_THRIFT_SERVICE_PORT - 포트 번호
이로 인해 서비스 구성이 환경 변수로 제공되는 linux 컨테이너에서 플랫폼을 실행할 수 있는 컨테이너 플랫폼에서 camel-zipkin을 쉽게 사용할 수 있습니다.
381.1. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
옵션 | 기본값 | 설명 |
---|---|---|
rate | 1.0f | zipkin에 의해 추적되어야 하는 이벤트 수를 결정하는 속도를 설정합니다. 비율은 백분율로 표시됩니다(1.0f = 100%, 0.5f는 50%, 0.1f는 10%입니다). |
spanReporter | 필수 : zipkin 범위 이벤트를 zipkin 서버로 보내는 데 사용하는 보고서입니다. | |
serviceName | 모든 Camel 이벤트와 일치하는 글로벌 서비스 이름 사용 | |
clientServiceMappings | Camel 이벤트와 일치하는 클라이언트 서비스 매핑을 지정된 zipkin 서비스 이름으로 설정합니다. 내용은 Map<String, String>이며, 여기서 키는 패턴이고 값은 서비스 이름입니다. 이 패턴은 인터셉터의 규칙을 사용합니다. | |
serverServiceMappings | Camel 이벤트와 일치하는 서버 서비스 매핑을 지정된 zipkin 서비스 이름으로 설정합니다. 내용은 Map<String, String>이며, 여기서 키는 패턴이고 값은 서비스 이름입니다. 이 패턴은 인터셉터의 규칙을 사용합니다. | |
excludePatterns | 패턴과 일치하는 Camel 메시지의 zipkin을 사용하여 추적을 비활성화하는 exclude 패턴을 설정합니다. 내용은 키가 패턴인 Set<String>입니다. 이 패턴은 인터셉터의 규칙을 사용합니다. | |
includeMessageBody | false | Camel 메시지 본문을 zipkin 추적에 포함할지 여부입니다. 프로덕션 사용에는 권장되지 않거나 큰 페이로드가 있는 경우에는 권장되지 않습니다. 최대 디버그 로그 크기를 구성하여 크기를 제한할 수 있습니다. |
includeMessageBodyStreams | false | zipkin 추적을 기반으로 스트림되는 메시지 본문을 포함할지 여부입니다. 이를 위해서는 경로에서 streamcaching을 활성화하거나 CamelContext에서 전역적으로 streamcaching을 활성화해야 합니다. 프로덕션 사용에는 권장되지 않거나 큰 페이로드가 있는 경우에는 권장되지 않습니다. 최대 디버그 로그 크기를 구성하여 크기를 제한할 수 있습니다. |