2020-09-04 05:37:42 +08:00
|
|
|
# OPC UA Client Input Plugin
|
2020-09-03 06:52:46 +08:00
|
|
|
|
2020-09-04 05:37:42 +08:00
|
|
|
The `opcua` plugin retrieves data from OPC UA client devices.
|
|
|
|
|
|
|
|
|
|
Telegraf minimum version: Telegraf 1.16
|
|
|
|
|
Plugin minimum tested version: 1.16
|
2020-09-03 06:52:46 +08:00
|
|
|
|
|
|
|
|
### Configuration:
|
|
|
|
|
|
|
|
|
|
```toml
|
2020-09-04 05:37:42 +08:00
|
|
|
[[inputs.opcua]]
|
2020-09-04 11:48:00 +08:00
|
|
|
## Device name
|
|
|
|
|
# name = "localhost"
|
|
|
|
|
#
|
|
|
|
|
## OPC UA Endpoint URL
|
|
|
|
|
# endpoint = "opc.tcp://localhost:4840"
|
|
|
|
|
#
|
|
|
|
|
## Maximum time allowed to establish a connect to the endpoint.
|
|
|
|
|
# connect_timeout = "10s"
|
|
|
|
|
#
|
|
|
|
|
## Maximum time allowed for a request over the estabilished connection.
|
|
|
|
|
# request_timeout = "5s"
|
|
|
|
|
#
|
|
|
|
|
## Security policy, one of "None", "Basic128Rsa15", "Basic256",
|
|
|
|
|
## "Basic256Sha256", or "auto"
|
|
|
|
|
# security_policy = "auto"
|
|
|
|
|
#
|
|
|
|
|
## Security mode, one of "None", "Sign", "SignAndEncrypt", or "auto"
|
|
|
|
|
# security_mode = "auto"
|
|
|
|
|
#
|
|
|
|
|
## Path to cert.pem. Required when security mode or policy isn't "None".
|
|
|
|
|
## If cert path is not supplied, self-signed cert and key will be generated.
|
|
|
|
|
# certificate = "/etc/telegraf/cert.pem"
|
|
|
|
|
#
|
|
|
|
|
## Path to private key.pem. Required when security mode or policy isn't "None".
|
|
|
|
|
## If key path is not supplied, self-signed cert and key will be generated.
|
|
|
|
|
# private_key = "/etc/telegraf/key.pem"
|
|
|
|
|
#
|
|
|
|
|
## Authentication Method, one of "Certificate", "UserName", or "Anonymous". To
|
|
|
|
|
## authenticate using a specific ID, select 'Certificate' or 'UserName'
|
|
|
|
|
# auth_method = "Anonymous"
|
|
|
|
|
#
|
|
|
|
|
## Username. Required for auth_method = "UserName"
|
|
|
|
|
# username = ""
|
|
|
|
|
#
|
|
|
|
|
## Password. Required for auth_method = "UserName"
|
|
|
|
|
# password = ""
|
|
|
|
|
#
|
|
|
|
|
## Node ID configuration
|
|
|
|
|
## name - the variable name
|
|
|
|
|
## namespace - integer value 0 thru 3
|
|
|
|
|
## identifier_type - s=string, i=numeric, g=guid, b=opaque
|
|
|
|
|
## identifier - tag as shown in opcua browser
|
|
|
|
|
## data_type - boolean, byte, short, int, uint, uint16, int16,
|
|
|
|
|
## uint32, int32, float, double, string, datetime, number
|
|
|
|
|
## Example:
|
|
|
|
|
## {name="ProductUri", namespace="0", identifier_type="i", identifier="2262", data_type="string", description="http://open62541.org"}
|
|
|
|
|
nodes = [
|
|
|
|
|
{name="", namespace="", identifier_type="", identifier="", data_type="", description=""},
|
|
|
|
|
{name="", namespace="", identifier_type="", identifier="", data_type="", description=""},
|
|
|
|
|
]
|
2020-09-04 05:37:42 +08:00
|
|
|
```
|
2020-09-03 06:52:46 +08:00
|
|
|
|
2020-09-04 05:37:42 +08:00
|
|
|
### Example Node Configuration
|
|
|
|
|
An OPC UA node ID may resemble: "n=3,s=Temperature". In this example:
|
|
|
|
|
- n=3 is indicating the `namespace` is 3
|
|
|
|
|
- s=Temperature is indicting that the `identifier_type` is a string and `identifier` value is 'Temperature'
|
|
|
|
|
- This example temperature node has a value of 79.0, which makes the `data_type` a 'float'.
|
|
|
|
|
To gather data from this node enter the following line into the 'nodes' property above:
|
2020-09-03 06:52:46 +08:00
|
|
|
```
|
2020-09-04 05:37:42 +08:00
|
|
|
{name="LabelName", namespace="3", identifier_type="s", identifier="Temperature", data_type="float", description="Description of node"},
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Example Output
|
2020-09-03 06:52:46 +08:00
|
|
|
|
|
|
|
|
```
|
|
|
|
|
opcua,host=3c70aee0901e,name=Random,type=double Random=0.018158170305814902 1597820490000000000
|
|
|
|
|
|
|
|
|
|
```
|