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

[inputs.opcua] Error in plugin: Get Data Failed: Status not OK: Bad (0x80000000) #8871

Closed
alexmc1510 opened this issue Feb 17, 2021 · 4 comments · Fixed by #9550
Closed

[inputs.opcua] Error in plugin: Get Data Failed: Status not OK: Bad (0x80000000) #8871

alexmc1510 opened this issue Feb 17, 2021 · 4 comments · Fixed by #9550
Labels
area/opcua bug unexpected problem or unintended behavior platform/windows

Comments

@alexmc1510
Copy link

Relevant telegraf.conf:

N/A

System info:

Windows Server 2012 R2 - Telegraf 1.17

Docker

N/A

Steps to reproduce:

  1. Using an OPCUA server (Kepware) on my side, create at least 2 variables.
  2. First, both with Good quality to check plugin works fine.
  3. After this check, force one of them to Bad quality.

Expected behavior:

Point with Good quality should be read and stored in InfluxDB. Point with Bad quality, not.

Actual behavior:

[inputs.opcua] Error in plugin: Get Data Failed: Status not OK: Bad (0x80000000)
Error in log file.
None of configured points is stored in influxDB, at least, point with Good quality should be stored.

Additional info:

[inputs.opcua] Error in plugin: Get Data Failed: Status not OK: Bad (0x80000000)

@alexmc1510 alexmc1510 added the bug unexpected problem or unintended behavior label Feb 17, 2021
@zwl-sun
Copy link

zwl-sun commented Mar 23, 2021

Have you solved your problem please?

@alexmc1510
Copy link
Author

No. And nobody has helped to solve it.

@R290
Copy link
Contributor

R290 commented Jun 21, 2021

I can reproduce this behavior with the following configuration using the open62541 docker image:

  nodes = [
    {name="badnode", namespace="1", identifier_type="i", identifier="1337"}, # BadUserAccessDenied (0x801f0000)
    {name="goodnode", namespace="1", identifier_type="s", identifier="the.answer"}, # Good (0x00000000)
  ]

The good node is skipped, while we would expect to see it in the output. The problem arises from returning the error instead of just logging the error. I'll reference this issue in a commit with an example solution in the near future.

@R290
Copy link
Contributor

R290 commented Jul 20, 2021

In commit R290@c931908 I've added the standard telegraf logger and replaced the return error by a Log.Errorf. I also expanded the tester to show the behavior that I wanted to change. The node badnode now prints an error, wheras the node goodnode is processed normally.

I can open a pull request if this is an acceptable solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/opcua bug unexpected problem or unintended behavior platform/windows
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants