logzio-otel-traces: broken by default
Closed this issue · 3 comments
logzio-otel-traces and logzio-traces-agent both result in error. There are several references to extensions and things that don't exist.
For example:
2021-10-23T01:51:09.281Z info service/collector.go:303 Starting otelcontribcol... {"Version": "v0.35.0", "NumCPU": 32}
2021-10-23T01:51:09.281Z warn service/collector.go:312 `mem-ballast-size-mib` command line option has been deprecated. Please use `ballast extension` instead!
2021-10-23T01:51:09.281Z info service/collector.go:242 Loading configuration...
Error: invalid configuration: service references extension "health_check" which does not exist
2021/10/23 01:51:09 collector server run finished with error: invalid configuration: service references extension "health_check" which does not exist
I trhought maybe this worked on a previous version, but I tried several different tags from otel/opentelemetry-collector-contrib and I couldnt' find any that worked by default.
I had to make several changes to get it to start.
For the standalone collector, this was needed (disabling things that can't be found)
config:
service:
pipelines:
traces:
processors: []
exporters:
- logzio
extensions:
- pprof
- zpages
and the agent still needs a little more. It' throws this error
2021-10-23T02:10:19.579Z info service/collector.go:303 Starting otelcontribcol... {"Version": "v0.35.0", "NumCPU": 32}
2021-10-23T02:10:19.579Z warn service/collector.go:312 `mem-ballast-size-mib` command line option has been deprecated. Please use `ballast extension` instead!
2021-10-23T02:10:19.579Z info service/collector.go:242 Loading configuration...
Error: invalid configuration: pipeline "logs" must have at least one receiver
2021/10/23 02:10:19 collector server run finished with error: invalid configuration: pipeline "logs" must have at least one receiver
I needed to provide receivers to the agent using the configOverride section for the agent.
I did eventually get this to work but it takes quite a bit of tweaking and it seems like it should work by default.
Hey, @coryschwartz Thanks for reporting your issue. unfortunately, I can't recreate it, I'm not getting those errors when starting the collector with the default configuration. Few questions and notes:
- What OS your nodes are using?
- The error about the logs pipeline is wired because of the default config does not define logs pipeline.
- You can change the config section in order to change otel collector settings, you don't need to use
configOverride
.
you know what, you're right. This is only a problem with the way I was installing it.
We have a helm chart we use to provide basic services to multiple clusters (logging, monitoring, etc) and subcharts are used for each service we want to add.
I tried this again, without installing it as a subchart and it works perfectly.
I think this might still be a bug, but just not as originally reported. We use the logzio filebeat chart this way and it works fine, and actually the opentelemetry chart works when installed as a subchart as well.
I made a demo chart that shows the problem https://github.com/coryschwartz/logzio-traces-subchart-test
Well now that I see that this actually does work, I can see that the configmap looks the same regardless of how it is installed, but there is still the error. Looks like the configmap is rendered differently.
When installed directly, not as a subchart:
apiVersion: v1
data:
relay: |
exporters:
logging: null
logzio:
account_token: xxxx
region: us
extensions:
health_check: null <--------------------------
pprof:
endpoint: :1777
zpages:
endpoint: :55679
vs when installed as a subchart:
apiVersion: v1
data:
relay: |
exporters:
logzio:
account_token: xxx
region: us
extensions:
pprof:
endpoint: :1777
zpages:
endpoint: :55679
Hi @coryschwartz , we are in the process of upgrading our helm charts. You can use the new charts: logzio-monitoring (metrics, traces, logs) or logzio-telemetry (metrics,traces) and open a new issue if the problem persists.