Skip to content

Instantly share code, notes, and snippets.

@ghostflare76
Last active September 28, 2022 03:45
Show Gist options
  • Save ghostflare76/5ea4ad4a52c9063dc77d5a5ff274d7e1 to your computer and use it in GitHub Desktop.
Save ghostflare76/5ea4ad4a52c9063dc77d5a5ff274d7e1 to your computer and use it in GitHub Desktop.
docker-compose.yaml (jaeger,clickhouse,grafana)
address: tcp://clickhouse:9000
version: "3"
services:
clickhouse:
image: yandex/clickhouse-server:21
ports:
- "8123:8123"
- "9000:9000"
- "9009:9009"
ulimits:
nproc: 65535
nofile:
soft: 262144
hard: 262144
volumes:
- clickdata:/var/lib/clickhouse
otel-collector:
image: otel/opentelemetry-collector:0.32.0
command: ["--config=/etc/otel-collector.yaml"]
volumes:
- ./otel-collector-config.yaml:/etc/otel-collector.yaml
ports:
- "1888:1888" # pprof extension
- "8888:8888" # Prometheus metrics exposed by the collector
- "8889:8889" # Prometheus exporter metrics
- "13133:13133" # health_check extension
- "55679:55679" # zpages extension
synthetic-load-generator:
image: omnition/synthetic-load-generator:1.0.25
volumes:
- ./etc/load-generator.json:/etc/load-generator.json
environment:
- TOPOLOGY_FILE=/etc/load-generator.json
- JAEGER_COLLECTOR_URL=http://otel-collector:14268 #jaeger/http on port
jaeger-collector:
image: jaegertracing/jaeger-collector
command:
- "--log-level=debug"
ports:
- "14250"
- "9411:9411"
environment:
- SPAN_STORAGE_TYPE=grpc-plugin
- GRPC_STORAGE_PLUGIN_BINARY=/usr/bin/jaeger-clickhouse-linux-amd64 # https://github.com/jaegertracing/jaeger-clickhouse
- GRPC_STORAGE_PLUGIN_CONFIGURATION_FILE=/etc/clickhouse-plugin-config.yaml
- LOG_LEVEL=debug
restart: on-failure
volumes:
- ./jaeger-clickhouse-linux-amd64:/usr/bin/jaeger-clickhouse-linux-amd64
- ./etc/clickhouse-plugin-config.yaml:/etc/clickhouse-plugin-config.yaml
jaeger-query:
image: jaegertracing/jaeger-query
command:
- "--log-level=debug"
ports:
- "16686:16686"
- "16687"
environment:
- SPAN_STORAGE_TYPE=grpc-plugin
- GRPC_STORAGE_PLUGIN_BINARY=/usr/bin/jaeger-clickhouse-linux-amd64 # https://github.com/jaegertracing/jaeger-clickhouse
- GRPC_STORAGE_PLUGIN_CONFIGURATION_FILE=/etc/clickhouse-plugin-config.yaml
restart: on-failure
volumes:
- ./jaeger-clickhouse-linux-amd64:/usr/bin/jaeger-clickhouse-linux-amd64
- ./etc/clickhouse-plugin-config.yaml:/etc/clickhouse-plugin-config.yaml
grafana:
image: grafana/grafana:8.1.6
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
- GF_AUTH_DISABLE_LOGIN_FORM=true
ports:
- "3000:3000"
volumes:
clickdata:
{
"topology": {
"services": [
{
"serviceName": "paymentservice",
"tagSets": [
{
"tags": {
"version": "v177",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/ChargeRequest",
"downstreamCalls": {
"paymentservice": "/CreditCardInfo"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 700
}
]
},
{
"route": "/CreditCardInfo",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 50
}
]
}
],
"instances": [
"paymentservice-6b654dbf57-zq8dt",
"paymentservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 174850031049111,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "currencyservice",
"tagSets": [
{
"tags": {
"version": "v27",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/GetConversion",
"downstreamCalls": {
"currencyservice": "/Money"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
]
},
{
"route": "/Money",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
]
}
],
"instances": [
"currencyservice-6b654dbf57-zq8dt",
"currencyservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 66219471499700,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
}
]
},
"rootRoutes": [
{
"service": "paymentservice",
"route": "/ChargeRequest",
"tracesPerHour": 2880
},
{
"service": "paymentservice",
"route": "/CreditCardInfo",
"tracesPerHour": 14400
}
]
}
receivers:
jaeger:
protocols:
thrift_http:
endpoint: "0.0.0.0:14268"
exporters:
logging:
loglevel: debug
jaeger:
endpoint: jaeger-collector:14250 #jaeger/gRPC on port
insecure: true
processors:
extensions:
health_check:
service:
extensions: [health_check]
pipelines:
traces:
receivers: [jaeger]
exporters: [logging, jaeger]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment