Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(servicemonitor): fix instrumentation scraping, add tests #2892

Merged
merged 12 commits into from
Feb 27, 2023
1 change: 1 addition & 0 deletions .changelog/2892.fixed.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
feat(servicemonitor): fix instrumentation scraping, add tests
2 changes: 1 addition & 1 deletion deploy/helm/sumologic/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,7 @@ sumologic:
- $(NAMESPACE)
selector:
matchLabels:
sumologic.com/component: traces
sumologic.com/component: instrumentation
sumologic.com/scrape: "true"
- name: collection-sumologic-prometheus
endpoints:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ items:
- $(NAMESPACE)
selector:
matchLabels:
sumologic.com/component: traces
sumologic.com/component: instrumentation
sumologic.com/scrape: "true"
- apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
Expand Down
Empty file.
206 changes: 206 additions & 0 deletions tests/helm/services_with_service_monitor_labels/default.output.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
---
# Source: sumologic/templates/events/common/service.yaml
apiVersion: v1
kind: Service
metadata:
name: RELEASE-NAME-sumologic-otelcol-events
labels:
app: RELEASE-NAME-sumologic-otelcol-events
sumologic.com/scrape: "true"
sumologic.com/app: otelcol-events
sumologic.com/component: events
chart: "sumologic-%CURRENT_CHART_VERSION%"
release: "RELEASE-NAME"
heritage: "Helm"
spec:
selector:
app: RELEASE-NAME-sumologic-otelcol-events
ports:
- name: metrics
port: 24231
targetPort: 24231
protocol: TCP
- name: otelcol-metrics
port: 8888
targetPort: 8888
protocol: TCP
---
# Source: sumologic/templates/instrumentation/otelcol-instrumentation/service-otelagent.yaml
# Service will point to otelcolInstrumentation.

apiVersion: v1
kind: Service
metadata:
name: RELEASE-NAME-sumologic-otelagent
labels:
app: RELEASE-NAME-sumologic-otelcol-instrumentation
sumologic.com/scrape: "true"
sumologic.com/component: instrumentation
chart: "sumologic-%CURRENT_CHART_VERSION%"
release: "RELEASE-NAME"
heritage: "Helm"
spec:
selector:
app: RELEASE-NAME-sumologic-otelcol-instrumentation
# In case of changes related to open ports for otelcol please update NOTES.TXT
ports:
- name: jaeger-sampling # Default endpoint for Jaeger Sampling (if enabled)
port: 5778
- name: jaeger-thrift-compact # Default endpoint for Jaeger Thrift Compact receiver.
port: 6831
protocol: UDP
- name: jaeger-thrift-binary # Default endpoint for Jaeger Thrift Binary receiver.
port: 6832
protocol: UDP
- name: metrics # Default endpoint for querying metrics.
port: 8888
- name: zipkin # Default endpoint for Zipkin receiver.
port: 9411
- name: jaeger-grpc # Default endpoint for Jaeger gRPC
port: 14250
- name: jaegert-channel # Default endpoint for Jaeger TChannel receiver.
port: 14267
- name: jaeger-thrift-http # Default endpoint for Jaeger HTTP receiver.
port: 14268
- name: opencensus # Default endpoint for Opencensus receiver.
port: 55678
- name: otlp-grpc # Default endpoint for OTLP gRPC receiver.
port: 4317
- name: otlp-http # Default endpoint for OTLP HTTP receiver.
port: 4318
- name: otlp-grpc-old # Old endpoint for OTLP gRPC receiver.
port: 55680
- name: otlp-http-old # Default endpoint for OTLP HTTP receiver.
port: 55681
---
# Source: sumologic/templates/instrumentation/traces-gateway/service.yaml
apiVersion: v1
kind: Service
metadata:
name: RELEASE-NAME-sumologic-traces-gateway
labels:
app: RELEASE-NAME-sumologic-traces-gateway
sumologic.com/scrape: "true"
sumologic.com/component: instrumentation
chart: "sumologic-%CURRENT_CHART_VERSION%"
release: "RELEASE-NAME"
heritage: "Helm"
spec:
selector:
app: RELEASE-NAME-sumologic-traces-gateway
component: RELEASE-NAME-sumologic-traces-gateway-component
ports:
- name: pprof
port: 1777
- name: metrics # Default endpoint for querying metrics.
port: 8888
- name: otlp-grpc # Default endpoint for OTLP gRPC receiver.
port: 4317
- name: otlp-http # Default endpoint for OTLP HTTP receiver.
port: 4318
---
# Source: sumologic/templates/instrumentation/traces-sampler/service-headless.yaml
apiVersion: v1
kind: Service
metadata:
name: RELEASE-NAME-sumologic-traces-sampler-headless
labels:
app: RELEASE-NAME-sumologic-traces-sampler-headless
sumologic.com/scrape: "true"
sumologic.com/component: instrumentation
chart: "sumologic-%CURRENT_CHART_VERSION%"
release: "RELEASE-NAME"
heritage: "Helm"
spec:
# Otel DNS load balancing requires collector service to be headless
# in order to skip k8s load balancing and instead populate DNS records.
clusterIP: None
selector:
app: RELEASE-NAME-sumologic-traces-sampler
ports:
- name: pprof
port: 1777
- name: metrics # Default endpoint for querying metrics.
port: 8888
- name: otlp-grpc # Default endpoint for OTLP gRPC receiver.
port: 4317
- name: otlp-http # Default endpoint for OTLP HTTP receiver.
port: 4318
---
# Source: sumologic/templates/logs/collector/otelcol/service.yaml
apiVersion: v1
kind: Service
metadata:
name: RELEASE-NAME-sumologic-otelcol-logs-collector
labels:
app: RELEASE-NAME-sumologic-otelcol-logs-collector
sumologic.com/scrape: "true"
sumologic.com/app: otelcol-logs-collector
sumologic.com/component: logs
chart: "sumologic-%CURRENT_CHART_VERSION%"
release: "RELEASE-NAME"
heritage: "Helm"
spec:
selector:
app.kubernetes.io/name: RELEASE-NAME-sumologic-otelcol-logs-collector
ports:
- name: metrics
port: 8888
targetPort: 8888
protocol: TCP
---
# Source: sumologic/templates/logs/common/service.yaml
apiVersion: v1
kind: Service
metadata:
name: RELEASE-NAME-sumologic-metadata-logs
labels:
app: RELEASE-NAME-sumologic-otelcol-logs
sumologic.com/scrape: "true"
sumologic.com/app: fluentd-logs
sumologic.com/component: logs
chart: "sumologic-%CURRENT_CHART_VERSION%"
release: "RELEASE-NAME"
heritage: "Helm"
spec:
selector:
app: RELEASE-NAME-sumologic-otelcol-logs
ports:
- name: otlphttp
port: 4318
targetPort: 4318
protocol: TCP
- name: fluent-bit
port: 24321
targetPort: 24321
protocol: TCP
- name: otelcol-metrics
port: 8888
targetPort: 8888
protocol: TCP
---
# Source: sumologic/templates/metrics/common/service.yaml
apiVersion: v1
kind: Service
metadata:
name: RELEASE-NAME-sumologic-metadata-metrics
labels:
app: RELEASE-NAME-sumologic-otelcol-metrics
sumologic.com/scrape: "true"
sumologic.com/app: fluentd-metrics
sumologic.com/component: metrics
chart: "sumologic-%CURRENT_CHART_VERSION%"
release: "RELEASE-NAME"
heritage: "Helm"
spec:
selector:
app: RELEASE-NAME-sumologic-otelcol-metrics
ports:
- name: prom-write
port: 9888
targetPort: 9888
protocol: TCP
- name: otelcol-metrics
port: 8888
targetPort: 8888
protocol: TCP
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
sumologic:
logs:
metadata:
provider: fluentd
collector:
otelcol:
enabled: false
metrics:
metadata:
provider: fluentd
Loading