Prev Next

Cloud Server Troubleshooting

Browser Test

For a simple check that the Cloud Service is operating on the specified Ports defined in the configuration file, you can enter this address into a web browser:

     <protocol>://<machineName>:<port>

For example, on the Cloud Server:

     http://localhost:804/

Or

     https://sparxcloud.com

If the port is enabled this message is returned:

     Sparx Systems Cloud Server

     Congratulations, your server is now ready to host your models. Connect through the

     configuration client to add or remove models.

If this message is not displayed, confirm the server and port name, check for other services listening on the specified port and check the server log file for error messages.

Errors shown in Enterprise Architect System Output

Error Message

Meaning

HTTP Status 401 Access Denied

Indicates a failure to authenticate with the server.

With the built-in web server, this error will occur if an invalid username or password was provided, or no username or password were provided.

HTTP Status 403

Indicates an attempt to access a model that is marked on the server as 'Require authenticated and secure connection'.

This might indicate that you are connecting using an http protocol instead of https, or that the port you are using is not providing authentication to the model you are connecting to.

Check that you are using https.

Check with the system administrator that the security authentication option is pointing to a model with security enabled.

HTTP Status 500 Unable to connect to service

The connection is not being accepted.

  • Check the server name
  • Check the firewall settings on the client and server
  • Check the ports the server is listening on

The database manager for this database was shut down

Enterprise Architect established a connection to a Cloud Service, and requested to connect to a known repository, but the repository is currently disabled.

Ask your system administrator to check the 'Enabled' option for the database in question.

There is no database manager configured for the requested repository

Enterprise Architect established a connection to a Cloud Service, but the model name requested does not match any defined database on the server.

When accessing the model via Cloud Connection, ensure that the Model Name which is entered matches the Alias which is shown in the Cloud Configuration Client.

Unable to connect to Database

Enterprise Architect established a connection to a Cloud Service and requested to connect to a known repository; however, when the server attempted to open a connection to the database using the supplied details, it failed.

Note: Whenever this error occurs, a Warning-level message that contains more detailed information will be written to the Cloud Server logs.

If the repository is:

  • Using ODBC, ask your System Administrator to check that an ODBC connection is defined as a System DSN (and not a User DSN) on the server, that all connection parameters are correct, and that the database username and password have been saved into the ODBC DSN or the connection string
  • Oracle, ask your System Administrator to verify that the user name and password were saved with the connection string and that all other options in the connection are correct
  • SQL Server connecting via OLE DB and Windows authentication, ask your System Administrator to verify that the user name the Cloud Service is running under has been granted permission to the SQL Server database (at a minimum it will need the roles db_datareader and db_datawriter) and that all other options in the connection are correct
  • SQL Server connecting via OLE DB and SQLServer authentication, ask your System Administrator to verify that the defined user name has been granted permission to the SQL Server database (at a minimum it will need the roles db_datareader and db_datawriter), that the option to save the password with the connection string was enabled, and that all other options in the connection are correct

After Reinstall Enterprise Architect no longer works

Your environment was working correctly, then you updated to the latest version of the Cloud Server and now Enterprise Architect clients are not able to connect to your Cloud models.

During the reinstall process the Cloud Server installer actually uninstalls the original version and then installs the new one.  As a result of this the Firewall exception that is automatically added by the installer is removed and re-created. The problem with this is if someone manually adjusted the Firewall exception (after the original install) any manually changes are lost when the installer re-creates the Firewall exception. One method of stopping this from occurring in the future is to create a completely new firewall exception (with a different name) that is a copy of the one created by the installer, and make any manual changes to that exception.

Reading Server Logs

As mentioned earlier the Sparx Systems Cloud Service is a Windows Services application and as such it needs to conform to some basic rules.  When it comes to troubleshooting the most important rule for Services is that they can be run independently of user input/interaction and as such do not contain screens/GUI of any kind.  For this reason the Sparx Systems Cloud Service writes any potential message to Log files.

The Cloud Service configuration file contains a number of settings that control where, how many and how large log files can be.  By default the Cloud Service will save all log files to a \Logs\ folder under \Services\ (C:\Program Files (x86)\Sparx Systems\Cloud Services\Service\Logs), and it will keep up to 3 files.  A new file will be created whenever the Cloud Service is started or whenever the maximum file size if reached.  Filename 'SparxCloudServicesLog-1.log' will always be the most recent log file and each time a new file is created the older ones are renamed by increasing the number.  ie SparxCloudServicesLog-2.log is renamed to SparxCloudServicesLog-3.log.

The configuration file also contains a setting that controls the level of logging that is performs, see the logging related options in 'Global Server Options' for more details.  When troubleshooting, it is recommended that the Cloud Services LOG_LEVEL property be set to the highest level, SYSTEM.

When trouble shooting it is recommended to set the LOG_LEVEL property to the highest level.

Each log entry will consist of the Time, Log Level and Message, if an error occurs the Message will normally contain a description of the problem and from this the appropriate action can be undertaken.

Log Message

Explanation

Log File Header

Each time new Log file is created the Cloud Service will write out a summary of the main settings, this information is particular useful if you are requesting support from Sparx Systems.

Started database managers

When a Cloud Service is initially started, and the Log Level is set to INFO (or lower) it will log out a summary of each configured model which includes the connection string of the model.

     [INFO]: Added database manager - ConnectionStr:  'eaexample --- Connect=Provider=MSDASQL.1;...

If the Log level is lower than INFO, additional log entries will be written for each model, for example:

     [SYSTEM]: SUCCESS Started database manager firebird:anonymous@eaexample

House keeping

The Cloud Service performs regular 'house keeping' tasks, the frequency of which is controlled by the AUDIT_TIME_PERIOD setting in the Cloud Service configuration file. 

When the log level is set to INFO, each time house keeping is performed the Cloud Service will log out a summary of connections for each defined database manager and report how many are currently available, the maximum number used concurrent and total number of uses since the last audit.

      [AUDIT] firebird:anonymous@eaexample        | Free:   0 | Max Active:   3 | Acquisitions:    192 |

Normally these entries can be ignored as they are purely reference information only.

Open port list

When a Cloud Server is initially started, and the Log Level is set to SYSTEM, it will log out a success message for each configured port, which includes the management port (803) and any http/https ports, you should see a line such as:

     [SYSTEM] SUCCESS Bound and listening on port 804.

If the log file is missing any lines, or if the message doesn't read 'SUCCESS' this might indicate a problem with the server port.

A common error here is:

     Unable to create secure server on port 443.

Possible causes of this are:

  • Certificate/Private Key file not found at C:\Program Files (x86)\Sparx Systems\Cloud Services\Service\server.pem
  • The server.pem file does not contain a valid certificate and private key
  • Certificate Authority file not found or invalid at C:\Program Files (x86)\Sparx Systems\Cloud Services\Service\cacert.pem

Unable to connect to database

During operation, the server will write to the log file any failed attempts to open a model. This will generally not occur until a user attempts to connect to the database. Errors that can occur here are:

    REQUEST_CONNECT FAIL. Error (5): Unable to connect to database

This means that the server attempted to open a connect but it failed. If you see this message, review the list of potential reasons outlined in the Errors shown in Enterprise Architect System Output table.