The following document shows all the errors that can appear in an IoT Agent using this library, and gives a brief idea of the severity and how to react to those errors.
The following section contains the error log entries that can appear in the IoT Agents logs, grouped by category.
Implies there has been an error connecting with the DB. The component will automatically retry from this error, but it may be a sign of connectivity problems between the DB and the component. If the connection cannot be restablished from this error, a MONGODB-002 error will be raised.
Indicates that it was impossible to establish a connection to the MongoDB cluster, even after retrying N times. This could be caused by a connectivity problem with the MongoDB machine, a problem in the MongoDB cluster, or a misconfiguration of the IoTA Manager. Check the conectivity, the state of the MongoDB cluster and the Mongo configuration data.
This error will thrown if MongoDB is selected as the configured repository for data but some information is missing in the configuration file. Check the configuration file and add all the required information.
The IoT Agent could not contact the IoT Agent manager to update its information. This condition may indicate a lack of connectivity between machines or a problem in the IoT Agent Manager. The IoT Agent information in the IoT Agent Manager will be out-of-date until this problem is solved.
There was connection error connecting with Keystone to retrieve a token. This condition may indicate a lack of connectivity between both machines or a problem with Keystone.
There was a problem retrieving a token from keystone that was not caused by connectivity errors. Check the Keystone log for errors and the security configuration in the IoTAgent. This may also be caused by a wrong trust token used by the user.
Authentication flow worked correctly, but the response headers did not include the expected header x-subject-token
.
Check the Keystone logs and configuration.
There was connection error connecting with OAuth2 provider to retrieve a token. This condition may indicate a lack of connectivity between both machines or a problem with OAuth2 provider.
There was a problem retrieving a token from OAuth2 provider that was not caused by connectivity errors.
Check the OAuth2 provider log for errors and the security configuration in the IoTAgent.
This may also be caused by an invalid refresh_token
used by the user.
The JSON response body returned by the OAuth2 provider does not include a field access_token
.
Check the OAuth2 logs and configuration.
There was a connectivity error accessing Context Broker to create an initial entity (or the Context Broker was down). Check connectivity between the machines, the status of the remote Context Broker and the configuration of the IoTAgent.
There was a connectivity error accessing Context Broker to register the IoTA as a Context Provider (or the Context Broker was down). Check connectivity between the machines, the status of the remote Context Broker and the configuration of the IoT Agent.
Validation templates were not found. Check all the validation templates are properly located in the IoTAgent Library folder and that the file permissions are correct.
The following table shows the alarms that can be raised in the IoTAgent library. All the alarms are signaled by a
error log starting with the prefix "Raising [%s]:" (where %s is the alarm name). All the alarms are released by an info
log with the prefix "Releasing [%s]". These texts appear in the msg=
field of the generic log record format.
Alarm name | Severity | Description |
---|---|---|
MONGO-ALARM | Critical | Indicates an error in the MongoDB connectivity |
ORION-ALARM | Critical | Indicates a persistent error accesing the Context Broker |
IOTAM-ALARM | Critical | Indicates a persistent error accessing the IoTAM |
while the 'Severity' criterium is as follows:
- Critical - The system is not working
- Major - The system has a problem that degrades the service and must be addressed
- Warning - It is happening something that must be notified
Every error has a code composed of a prefix and an ID, codified with the following table:
Prefix | Type of operation |
---|---|
MONGODB | Errors related with the MongoDB repository |
IOTAM | Errors related with the IoTA Manager |
KEYSTONE | Errors related with trust token retrieval |
ORION | Errors in Context Broker access |
VALIDATION-FATAL | Errors related with management of the Validation templates |