Receiver is a concept in SkyWalking backend. All modules, which are responsible for receiving telemetry or tracing data from other being monitored system, are all being called Receiver. Although today, most of receivers are using gRPC or HTTPRestful to provide service, actually, whether listening mode or pull mode could be receiver. Such as a receiver could base on pull data from remote, like Kakfa MQ.
We have following receivers, and default
implementors are provided in our Apache distribution.
metrics_service
and ALS(access log service)
supported by this receiver. OAL script support all GAUGE type metrics.The sample settings of these receivers should be already in default application.yml
, and also list here
receiver-register: default: receiver-trace: default: bufferPath: ../trace-buffer/ # Path to trace buffer files, suggest to use absolute path bufferOffsetMaxFileSize: 100 # Unit is MB bufferDataMaxFileSize: 500 # Unit is MB bufferFileCleanWhenRestart: false sampleRate: ${SW_TRACE_SAMPLE_RATE:1000} # The sample rate precision is 1/10000. 10000 means 100% sample in default. receiver-jvm: default: service-mesh: default: bufferPath: ../mesh-buffer/ # Path to trace buffer files, suggest to use absolute path bufferOffsetMaxFileSize: 100 # Unit is MB bufferDataMaxFileSize: 500 # Unit is MB bufferFileCleanWhenRestart: false istio-telemetry: default: envoy-metric: default: receiver_zipkin: default: host: 0.0.0.0 port: 9411 contextPath: /
In default, all gRPC/HTTP services should be served at core/gRPC
and core/rest
. But the receiver-sharing-server
module provide a way to make all receivers serving at different ip:port, if you set them explicitly.
receiver-sharing-server: default: restHost: ${SW_SHARING_SERVER_REST_HOST:0.0.0.0} restPort: ${SW_SHARING_SERVER_REST_PORT:12800} restContextPath: ${SW_SHARING_SERVER_REST_CONTEXT_PATH:/} gRPCHost: ${SW_SHARING_SERVER_GRPC_HOST:0.0.0.0} gRPCPort: ${SW_SHARING_SERVER_GRPC_PORT:11800}
Notice, if you add these settings, make sure they are not as same as core module, because gRPC/HTTP servers of core are still used for UI and OAP internal communications.
Zipkin receiver could work in two different mode.
zipkin-elasticsearch
storage implementation active. Read this to know how to active.Use following config to active.
receiver_zipkin: default: host: ${SW_RECEIVER_ZIPKIN_HOST:0.0.0.0} port: ${SW_RECEIVER_ZIPKIN_PORT:9411} contextPath: ${SW_RECEIVER_ZIPKIN_CONTEXT_PATH:/}
Active analysis mode
, you should set needAnalysis
config.
receiver_zipkin: default: host: ${SW_RECEIVER_ZIPKIN_HOST:0.0.0.0} port: ${SW_RECEIVER_ZIPKIN_PORT:9411} contextPath: ${SW_RECEIVER_ZIPKIN_CONTEXT_PATH:/} needAnalysis: true
Jaeger receiver right now only works in Tracing Mode
, and no analysis. Jaeger receiver provides extra gRPC host/port, if absent, sharing-server host/port will be used, then core gRPC host/port. Receiver requires jaeger-elasticsearch
storage implementation active. Read this to know how to active.
Right now, you need jaeger agent to batch send spans to SkyWalking oap server. Read Jaeger Architecture to get more details.
Active the receiver.
receiver_jaeger: default: gRPCHost: ${SW_RECEIVER_JAEGER_HOST:0.0.0.0} gRPCPort: ${SW_RECEIVER_JAEGER_PORT:14250}