-
Notifications
You must be signed in to change notification settings - Fork 144
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
Input IDs are not unique at runtime when dynamic providers are used #1751
Comments
FYI even if I disable the
Not sure if this indicates a problem or if it is related to the ID issue but we need to also test with |
Those logs don't seem to show anything wrong, but I'll test it as well to see if I can spot any problems. |
Actually I've just seen @blakerouse is assigned to it. I believe he is already on it. |
I am actively working on a valid solution. |
Just to confirm: @blakerouse @belimawr did you folks also verify that #1751 (comment) is resolved by #1866? I cannot figure out if this was verified/tested too. cc: @gizas @joshdover |
@blakerouse are those fixes tested against kubernetes integration? I tried with latest snapshot of agent and although there is no error about input ids , nothing works. Agent does not collect logs nor metrics. |
@ChrsMark I don't see any issues in the log you posted on #1751 (comment). In that case you'd have to remove the integration for it to stop affecting the Agent. @blakerouse did you test the fix on Kubernets? |
There is a constant error message about cluster UUID cannot be determined
That appears even without Kubernetes integration. With only kubernetes logs enabled no extra error appears but also no logs are collected. I cannot find the filebeat logs under With kubernetes metrics enabled, more errors are logged.
and
No metrics are collected and no metricbeat logs are written into a file. |
Are you getting an error saying that the ID's are duplicated? If you are no longer getting that error then this is fixed. That was what the bug was highlighting and that is what it fixed. I did not test the kubernetes integration, I tested that with a dynamic variable are ID's duplicated. From my testing that was fixed from my PR, and unit tests for the code path also confirm and ensure the behavior doesn't break in the future. I would be happy to look at your diagnostic information, which will include all the computed variables, the pre-configuration before variable substitution, post configuration after substitution, the computed expected runtime model, as well as the actual running model. As for the |
This is tracked under #1860, it is preventing the Beat metrics from being collected.
The Beat logs are now merged into the
This is likely a new bug, there have been some issues with the paths in containers not being adjusted properly. I would fix a new bug for this issue. |
Description
When dynamic providers are used on a integration, they end up creating 'multiple instances' of the input defined in the policy, one for each value the variable resolves. This leads to duplicated input IDs at runtime, which makes the Elastic-Agent to be stuck in a unhealthy state.
Example:
kubernetes.container.id
one instance of this whole input will be rendered, looking like this (focus on thestreams
array):The 'input ID' will then not be unique anymore because there are 'multiple instances' of this input, however the 'streams[].id' will be unique (that's required by Filebeat to use the Filestream input as in the example)
The problem arises because the Elastic-Agent tries to ensure the 'input ID' is unique at runtime
elastic-agent/pkg/component/component.go
Lines 485 to 487 in dcbeb9d
The PR introducing this change mention it's required under V2
I'm not quite sure about the implications of either removing this check or changing it to ensure that
inputs[].streams[].id
is unique.Steps to Reproduce
elastic-package stack up --version=8.6.0-SNAPSHOT -v -d
Related issues
The text was updated successfully, but these errors were encountered: