给定这个 docker 文件来设置后端服务,包括:elasticsearch、apm-server、kibana、jaeger-collector、jaeger-agent、jaeger-query、grafana。
apm-server:
image: docker.elastic.co/apm/apm-server:6.8.1
ports:
- 8200:8200
environment:
- output.elasticsearch.hosts=['http://elasticsearch:9200']
- apm-server.host="0.0.0.0:8200"
- apm-server.rum.enabled=true
- setup.kibana.host="kibana:5601"
- setup.template.enabled=true
- logging.to_files=false
networks:
- elastic-jaeger
我正在从我的 Angular 客户端运行带有 Opentracing 的 Elastic APM:
const elasticApm = initApm({
serviceName: `Test`,
serviceUrl: `127.0.0.1:8200`,
// serviceVersion: ``,
active: true,
environment: ``, // production, development, test, etc
logLevel: `warn`, // Possible levels are: trace, debug, info, warn, error
flushInterval: 500, // ms
errorThrottleLimit: 20, // errors
errorThrottleInterval: 30000, // ms
transactionSampleRate: 1.0,
distributedTracing: true,
distributedTracingOrigins: ['http://foo.com']
});
const elasticTracer = createTracer(elasticApm);
this.opentracing.initGlobalTracer(elasticTracer);
我遇到 CORS 问题:
我的目标是将 Angular 和弹性 APM 的 opentracing 客户端连接到 docker 内的服务。
还有一些额外的问题和文档涵盖了 apm-server 的 CORS:
看起来配置应该可以工作,因为Default value is set to ['*'], which allows everything.