Troubleshooting a SiteWise Edge gateway
Troubleshoot common AWS IoT SiteWise Edge gateway issues by exploring relevant topics.
You can also view CloudWatch metrics reported by your SiteWise Edge gateways to troubleshoot issues with connectivity or data streams. For more information, see Monitor AWS IoT SiteWise with Amazon CloudWatch metrics.
Topics
Configure and access SiteWise Edge gateway logs
Before you can view SiteWise Edge gateway logs, you must configure your SiteWise Edge gateway to send logs to Amazon CloudWatch Logs or store logs on the local file system.
-
Use CloudWatch Logs if you want to use the AWS Management Console to view your SiteWise Edge gateway's log files. For more information, see Use Amazon CloudWatch Logs.
-
Use local file system logs if you want to use the command line or local software to view your SiteWise Edge gateway's log files. For more information, see Use service logs in AWS IoT SiteWise.
Troubleshooting SiteWise Edge gateway issues
Use the following information to troubleshoot SiteWise Edge gateway issues.
Issues
- Unable to deploy packs to SiteWise Edge gateways
- AWS IoT SiteWise doesn't receive data from OPC UA servers
- No data shows in the dashboard
- "Could not find or load main class" showing up in the aws.iot.SiteWiseEdgePublisher logs at /greengrass/v2/logs error
- I see 'SESSION_TAKEN_OVER' or 'com.aws.greengrass.mqttclient.MqttClient: Failed to publish the message via Spooler and will retry.' in the logs
- I see 'com.aws.greengrass.deployment.IotJobsHelper: No deployment job found.' or 'Deployment result already reported.' in the logs
- Converted data types are not included
Unable to deploy packs to SiteWise Edge gateways
If the AWS IoT Greengrass nucleus component (aws.greengrass.Nucleus
) is out of date, you
might not be able to deploy packs to your SiteWise Edge gateway. You can use the AWS IoT Greengrass V2 console to
upgrade the AWS IoT Greengrass nucleus component.
Upgrade the AWS IoT Greengrass nucleus component (console)
-
Navigate to the AWS IoT Greengrass console
. -
In the navigation pane, under AWS IoT Greengrass, choose Deployments.
-
In the Deployments list, select the deployment that you want to revise.
-
Choose Revise.
-
On the Specify target page, choose Next.
-
On the Select components page, under Public components, in the search box, enter
aws.greengrass.Nucleus
, and then select aws.greengrass.Nucleus. -
Choose Next.
-
On the Configure components page, choose Next.
-
On the Configure advanced settings page, choose Next.
-
On the Review page, choose Deploy.
AWS IoT SiteWise doesn't receive data from OPC UA servers
If your AWS IoT SiteWise assets aren't receiving data sent by your OPC UA servers, you can search
your SiteWise Edge gateway's logs to troubleshoot issues. Look for info-level
swPublisher
logs that contain the following message.
Emitting diagnostic name=PublishError.
SomeException
Based on the type of SomeException
in the log, use the
following exception types and corresponding issues to troubleshoot your SiteWise Edge
gateway:
-
ResourceNotFoundException – Your OPC UA servers are sending data that doesn't match a property alias for any asset. This exception can occur in two cases:
-
Your property aliases don't exactly match your OPC UA variables, including any source prefix you defined. Check that your property aliases and source prefixes are correct.
-
You haven't mapped your OPC UA variables to asset properties. For more information, see Map industrial data streams to asset properties.
If you already mapped all of the OPC UA variables that you want in AWS IoT SiteWise, you can filter which OPC UA variables the SiteWise Edge gateway sends. For more information, see Use OPC UA node filters in SiteWise Edge.
-
-
InvalidRequestException – Your OPC UA variables data types don't match your asset property data types. For example, if an OPC UA variable has an integer data type, your corresponding asset property must be integer data type. A double-type asset property can't receive OPC UA integer values. To fix this issue, define new properties with the correct data types.
-
TimestampOutOfRangeException – Your SiteWise Edge gateway is sending data that is outside the range that AWS IoT SiteWise accepts. AWS IoT SiteWise rejects any data points with timestamps earlier than 7 days in the past or newer than 5 minutes in the future. If your SiteWise Edge gateway lost power or connection to the AWS Cloud, you might need to clear your SiteWise Edge gateway's cache.
-
ThrottlingException or LimitExceededException – Your request exceeded an AWS IoT SiteWise service quota, such as rate of data points ingested or request rate for asset property data API operations. Check that your configuration doesn't exceed the AWS IoT SiteWise quotas.
No data shows in the dashboard
If there is no data shown in your dashboard, the Publisher configuration and the Data Source of the SiteWise Edge gateway may be out of sync. If they are out of sync, updating the name of the data source may expedite the sync from the cloud to the edge, fixing the Out of sync error.
To update the name of a data source
-
Navigate to the AWS IoT SiteWise console
. -
In the navigation pane, choose Edge gateways.
-
Select the SiteWise Edge gateway connected to the dashboard.
-
Under Data sources, select Edit.
-
Select a new source Name, and select Save to confirm your change.
-
Verify your changes by confirming the the data source name has been updated in the Data sources table.
"Could not find or load main class" showing up in the aws.iot.SiteWiseEdgePublisher logs at /greengrass/v2/logs error
If you see this error, you may need to update the java version of your SiteWise Edge gateway.
-
From a terminal, run the following command:
java -version
The version of java your SiteWise Edge gateway is running with will show up under
OpenJDK Runtime Environment
. You'll see a response like the following:openjdk version "11.0.20" 2023-07-18 LTS OpenJDK Runtime Environment Corretto011.0.20.8.1 (build 11.0.20+8-LTS OpenJDK 64-Bit Server VM Corretto-11.0.20.8.1 (build 11.0.20+8-LTS, mixed node)
If you are running Java version 11.0.20.8.1 you must update the IoT SiteWise Publisher pack to version 2.4.1 or newer. Only java version 11.0.20.8.1 is affected, environments with other java versions can continue to use older versions of the IoT SiteWise Publisher component. For more information about updating a component pack, see Change the version of SiteWise Edge gateway component packs.
I see 'SESSION_TAKEN_OVER' or 'com.aws.greengrass.mqttclient.MqttClient: Failed to publish the message via Spooler and will retry.' in the logs
If you see a warning that includes SESSION_TAKEN_OVER
or an error that
includes com.aws.greengrass.mqttclient.MqttClient: Failed to publish the message via
Spooler and will retry.
in your logs at
/greengrass/v2/logs/greengrass.log
, you may be trying to use the same
configuration file for multiple SiteWise Edge gateways on multiple devices. Each SiteWise Edge gateway
needs a unique configuration file to connect to your AWS account.
I see 'com.aws.greengrass.deployment.IotJobsHelper: No deployment job found.' or 'Deployment result already reported.' in the logs
If you see com.aws.greengrass.deployment.IotJobsHelper: No deployment job
found.
or Deployment result already reported.
in your logs at
/greengrass/v2/logs/greengrass.log
, you may be trying to reuse the same
configuration file.
There are multiple solutions:
-
If you want to reuse the configuration file, do the following:
Navigate to the AWS IoT SiteWise console
. -
In the navigation pane, choose Gateways.
-
Choose the SiteWise Edge gateway you want to reuse.
-
Choose the Updates tab.
-
Select a different Publisher version and choose Deploy.
Follow the steps in Create a gateway for Siemens Industrial Edge to create a new configuration file.
Converted data types are not included
If you see an error when converting unsupported OPC UA data types to strings in AWS IoT SiteWise, there are a few possible reasons:
-
The data type you're attempting to convert is a complex data type. Complex data types are not supported.
-
When using Destinations as AWS IoT SiteWise Buffered using Amazon S3, the full string value is preserved in files pushed to an Amazon S3 bucket. When you later ingest data into AWS IoT SiteWise, full string values longer than 1024 bytes are rejected.
Troubleshooting the AWS IoT SiteWise Edge application on Siemens Industrial Edge
To troubleshoot the AWS IoT SiteWise Edge application on your Siemens Industrial Edge device, you can access the
logs for the application through the Siemens Industrial Edge Management or Siemens Industrial Edge Device (IED) portals. For
more information, see Downloading Logs
My data doesn't display in AWS IoT SiteWise
-
Ensure that there are no issues with your Databus users and that the checkmark icon for the Databus_Configuration is green rather than gray.
-
You may not be running Siemens Industrial Edge Management on a version that contains Secure Storage. Upgrade your version of Siemens OS. For more information, see Siemens Secure Storage and the AWS IoT SiteWise Edge application.
I see 'Config file missing AWS_REGION' in the logs.
If you see Config file missing AWS_REGION
in the Siemens logs, the JSON of
the configuration file has been corrupted. You'll need to create a new configuration file.
Follow the steps in Create a gateway for Siemens Industrial Edge to
create a new configuration file.
Troubleshooting AWS IoT Greengrass issues
To find solutions to many issues configuring or deploying your SiteWise Edge gateway on AWS IoT Greengrass, see Troubleshooting AWS IoT Greengrass in the AWS IoT Greengrass Developer Guide.