The Syncplicity Storage Connector Validation Tool is a free script-based utility included as a part of the Storage Connector distributions. It enables administrators to validate their Storage Connector network dependencies, including:
- Configuration with the Syncplicity service
- Connectivity to Syncplicity Orchestration
- Connectivity to Syncplicity Health service
- Connectivity to an SMTP server (if configured).
- Connectivity to the Syncplicity API gateway (if configured).
- Connectivity to the Syncplicity Rights Management infrastructure (if configured).
Getting Started
The tool is pre-installed and pre-configured on Storage Connectors. It is designed to obtain environmental information about your configuration by reading the local Storage Connector config file located in /etc/syncp/syncp-storage.yml.
The tool then uses this information to validate connectivity and access to various resources.
The tool is executed from the command line in any directory, and returns the results of each validation on screen.
Options and Output
Syntax:
syncp-storage-validate-config [-? | -v] [-c <CONFIG>] [-f <FORMAT>] [-l <LEVEL>] [-p] [-q]
The options for this command are as follows:
-?, --help
- Prints this help information.
-c <CONFIG>, --config <CONFIG
> - Path to the Storage Connector configuration file. The default is: /etc/syncp-storage/syncp-storage.yml
-f <FORMAT>, --format <FORMAT
> - Determines how to display the output text. FORMAT can be PLAIN (default) or JSON.-l <LEVEL>, --log <LEVEL>
- indicates the logging level. LEVEL can be OFF (default), INFO, or DEBUG.
-p
- Print the config file as ordered dictionary.-q
- Turn off verbose mode.-v , --version
- Print the version information.
Running the tool
The tool requires elevated root privileges. If you do not know these credentials, contact your company system administrator or whomever deployed the Storage Connector.
To run the tool, enter the command:
sudo sudosyncp-storage-validate-config
Viewing and understanding responses
Here is an example of the output with the default plain text format:
[syncp@localhost syncp]# sudo syncp-storage-validate-config TEST: orchestration-access-key-validation RESULT: PASS TEST: orchestration-connectivity RESULT: PASS TEST: external-server-connectivity RESULT: DISABLED TEST: proxy-server-connectivity RESULT: DISABLED TEST: health-server-connectivity RESULT: PASS TEST: smtp-connectivity RESULT: PASS TEST: irm-connectivity RESULT: DISABLED
In the above example, the tool was able to retrieve the environment information from the syncp-storage.yml file located in the /etc/syncp-storage directory. After capturing this information, it conducted the following validation checks:
- The orchestration-access-key-validation check validates that the configured access key is valid according to Syncplicity Orchestration.
- The orchestration-connectivity check performs an SSL connectivity test to Syncplicity Orchestration e.g. at https://xml.syncplicity.com.
- The external-server-connectivity check performs an SSL connectivity test to the Syncplicity API gateway e.g. at https://api.syncplicity.com.
- The proxy-server-connectivity check determines if there is a correctly formatted proxy server configured in the syncp-storage.yml file and is able to use this proxy to reach Orchestration.
- The health-server-connectivity check performs an SSL connectivity test to Syncplicity's Health service e.g. at https://health.syncplicity.com
- The smtp-connectivity check performs a connectivity validation of the SMTP server configured for use with Storage Vault Authentication (SVA).
- The irm-connectivity check performs a connectivity validation for the Syncplicity Rights Management functionality in case it is enabled.
Here is an example of the output with the JSON format:
{ "result": [{ "orchestration-access-key-validation": { "is_enabled": true, "code": 200, "result": "PASS" } }, { "orchestration-connectivity": { "is_enabled": true, "code": 403, "result": "PASS" } }, { "external-server-connectivity": { "is_enabled": false } }, { "proxy-server-connectivity": { "is_enabled": false } }, { "irm-connectivity": { "is_enabled": false } }, { "health-server-connectivity": { "is_enabled": true, "code": 404, "result": "PASS" } }, { "smtp-connectivity": { "is_enabled": true, "result": "FAIL", "error_message" : "javax.mail.MessagingException: Exception reading response;\n nested exception is:\n\tjava.net.SocketTimeoutException: Read timed out" } }] }
In this example, smtp-connectivity check had failed. The following ones: orchestration-connectivity, orchestration-access-key-validation and health-server-connectivity did pass successfully. The rest of the checks were not performed as these functionalities were not configured.
Troubleshooting
To view and verify the environmental information contained in the syncp-storage.yml file, the -p argument will list each value in an alphabetically ordered dictionary list such as what is shown below. This will eliminate the need to toggle back and forth between the command and the content of the config file.
[syncp@localhost syncp]# sudo syncp-storage-validate-config –p syncplicity.httpClient.proxy.enable: false syncplicity.httpClient.proxy.host: syncplicity.httpClient.proxy.port: 8080 syncplicity.mail.host: smtp.sendgrid.com syncplicity.mail.password: "*************" syncplicity.mail.port: 25 syncplicity.mail.user: username syncplicity.storage.atmos.secret: "*************" syncplicity.storage.atmos.token: "*************" syncplicity.storage.atmos.url: http://10.10.10.10:80 syncplicity.storage.fs.rootdir: /mnt/syncp syncplicity.storage.isilon.rootdir: /mnt/syncp syncplicity.storage.type: atmos syncplicity.ws.accesskey: "*************"
Support for third-party monitoring tools
The tool is designed to be run manually in real-time by an administrator or operator, as well as automatically from a third-party remote automated monitoring tool. The remote monitoring tool must have the ability to securely connect to the Storage Connector, execute the script from any command line and capture the responses in plain text or JSON. Please refer to your monitoring tool documentation for details.