146 lines
3.9 KiB
YAML
146 lines
3.9 KiB
YAML
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: otel-collector-conf
|
|
labels:
|
|
app: opentelemetry
|
|
component: otel-collector-conf
|
|
data:
|
|
otel-collector-config: |
|
|
receivers:
|
|
otlp:
|
|
protocols:
|
|
grpc:
|
|
endpoint: ${env:MY_POD_IP}:4317
|
|
http:
|
|
endpoint: ${env:MY_POD_IP}:4318
|
|
prometheus:
|
|
config:
|
|
scrape_configs:
|
|
- job_name: 'apisix-monitoring'
|
|
metrics_path: "/apisix/prometheus/metrics"
|
|
scrape_interval: 5s
|
|
static_configs:
|
|
- targets: ['10.2.0.10:9091']
|
|
labels:
|
|
skywalking_service: apisix-gateway
|
|
- targets: ['10.2.2.7:9091']
|
|
labels:
|
|
skywalking_service: apisix-gateway-prod
|
|
|
|
processors:
|
|
resource/skywalking-service:
|
|
attributes:
|
|
- key: skywalking_service
|
|
value: apisix-gateway
|
|
action: insert
|
|
batch:
|
|
memory_limiter:
|
|
# 80% of maximum memory up to 2G
|
|
limit_mib: 1500
|
|
# 25% of limit up to 2G
|
|
spike_limit_mib: 512
|
|
check_interval: 5s
|
|
exporters:
|
|
otlp:
|
|
endpoint: "http://skywalking-skywalking-helm-oap.skywalking:11800" # Replace with a real endpoint.
|
|
tls:
|
|
insecure: true
|
|
logging:
|
|
verbosity: detailed
|
|
extensions:
|
|
health_check: {}
|
|
|
|
service:
|
|
telemetry:
|
|
logs:
|
|
level: WARN
|
|
pipelines:
|
|
metrics:
|
|
receivers: [ prometheus ]
|
|
processors: [ memory_limiter, batch ]
|
|
exporters: [ otlp,logging ]
|
|
extensions: [ health_check ]
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: otel-collector
|
|
labels:
|
|
app: opentelemetry
|
|
component: otel-collector
|
|
spec:
|
|
ports:
|
|
- name: otlp-grpc # Default endpoint for OpenTelemetry gRPC receiver.
|
|
port: 4317
|
|
protocol: TCP
|
|
targetPort: 4317
|
|
- name: otlp-http # Default endpoint for OpenTelemetry HTTP receiver.
|
|
port: 4318
|
|
protocol: TCP
|
|
targetPort: 4318
|
|
- name: metrics # Default endpoint for querying metrics.
|
|
port: 8888
|
|
selector:
|
|
component: otel-collector
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: otel-collector
|
|
labels:
|
|
app: opentelemetry
|
|
component: otel-collector
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: opentelemetry
|
|
component: otel-collector
|
|
minReadySeconds: 5
|
|
progressDeadlineSeconds: 120
|
|
replicas: 1 #TODO - adjust this to your own requirements
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: opentelemetry
|
|
component: otel-collector
|
|
spec:
|
|
containers:
|
|
- command:
|
|
- "/otelcol"
|
|
- "--config=/conf/otel-collector-config.yaml"
|
|
image: otel/opentelemetry-collector:0.94.0
|
|
name: otel-collector
|
|
resources:
|
|
limits:
|
|
cpu: 1
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: 200m
|
|
memory: 400Mi
|
|
ports:
|
|
- containerPort: 55679 # Default endpoint for ZPages.
|
|
- containerPort: 4317 # Default endpoint for OpenTelemetry receiver.
|
|
- containerPort: 13133 # Default endpoint for Jaeger gRPC receiver.
|
|
- containerPort: 14268 # Default endpoint for Jaeger HTTP receiver.
|
|
- containerPort: 9411 # Default endpoint for Zipkin receiver.
|
|
- containerPort: 8888 # Default endpoint for querying metrics.
|
|
env:
|
|
- name: MY_POD_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: status.podIP
|
|
- name: GOMEMLIMIT
|
|
value: 1600MiB
|
|
volumeMounts:
|
|
- name: otel-collector-config-vol
|
|
mountPath: /conf
|
|
volumes:
|
|
- configMap:
|
|
name: otel-collector-conf
|
|
items:
|
|
- key: otel-collector-config
|
|
path: otel-collector-config.yaml
|
|
name: otel-collector-config-vol |