Troubleshooting plugin issues


Troubleshooting your Java installation

Follow the procedure given below if you encounter the following error:

failed to launch process java: The system cannot find the file specified.
  1. Set your system environment variable JAVA_HOME to your currently installed folder.
    For example, C:\Program Files\Java\jdk1.8.0_131
  2. Append the system environment variable PATH to your bin file.
    For example, C:\Program Files\Java\jdk1.8.0_131\bin
  3. Restart the TrueSight Meter. Use the Windows services program or command prompt.
    For more information, see Starting-stopping-and-restarting-the-meter.

Errors Installing or Running Plugins

If you have tried to install a plugin but get an error in the console the below steps should help you understand how to solve the problem.

First of all, confirm that the system you are deploying the Plugin to meets the pre requisites listed in the Plugin details.

When installing a plugin Boundary displays the console output from the meter you are deploying to. This output often provides information about the error. Some common issues are listed below, if yours is not listed here please contact support and attach the console output.

Common Errors when deploying Plugins

Spawn command failed for: npm (Linux)

Failed to launch process npm: The system cannot find the file specified. (Windows)

This error is thrown because the Plugin requires node.js and npm in order to run, this is listed in the Plugin details page. To fix this you must install node.js and npm (the node package manager) on your system. The repository "Installing Node.js via package manager" gives up to date instructions for most distributions.  After installing node and npm, we recommend you stop/start the boundary meter service.

Startup Error - Skipping Plugin

Symptom:

When attempting to start a plugin, you may see the error:

Skipping plugin <plugin name>, because the run fail rate has exceeded the threshold

Where <plugin name> is the name of the plugin that is failing to start.

Resolution:

Try running the graphdat-relay with the -v option to see what is causing the error.  Note that you will have to stop the currently running graphdat-relay if you are running it as a service.

Uninstalling a plugin fails

Issue

When trying to remove a plugin, the application displays the error message: 

An internal error has occurred, we're sorry about that

Reason

All TrueSight Intelligence plugins automatically install the relevant metrics, and some plugins also create dedicated dashboards, which use these metrics. When removing plugin, the application tries to remove its metrics, but this operation fails if those metrics are used by any dashboards.

This behavior is not by design, engineering has been notified and will resolve this issue shortly.

Workaround

Before removing the plugin, delete its dashboards and also remove the plugin metrics from other custom dashboards, if you used the plugin metrics in other dashboards.

MySQL connection errors

When configuring the MySQL Plugin you may see the following error in the Meter console:

mysql: msg connect ECONNREFUSED, name Error, stack->
mysql: Error: connect ECONNREFUSED

This error means that the plugin could not connect to the MySQL Database for some reason. Below is an explanation of the plugin configuration and some tips on ensuring connectivity.

Hostname vs Socket connection - The plugin can connect using hostname OR plugin, if you fill in both fields it will automatically attempt to connect using the Hostname. If you wish to connect using a Socket connection then leave the hostname box blank.

Where is my Socket file? - To find your socket file path you should check your my.cnf file. commonly this can be found by running

cat /etc/mysql/my.cnf

Search through this document for a section resembling the below:

  [client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

This is the port and path to the socket file that you need. Often the socket file will be a more reliable option than hostname/port

I am using a hostname/port configuration and it is failing

In this case the first step is to confirm that a connection is possible. Log in to the server that the Meter is running on and run telnet [hostname] [port] if a connection is successful then check that your username and password are correct. If a connection is not successful then confirm that

  • There are no firewalls blocking communication
  • The hostname resolves correctly (can you ping successfully)

I have checked my connections, username, and it still doesn't work

Open a ticket with us and we'll get you fixed up as soon as possible.

Apache with mod_security

In some cases the apache plugin may fail to return data if you are using mod_security with Apache.

This is because the plugin does not provide a user agent , which causes mod_security to block the request. To solve the problem edit your mod_security rules to allow requests with no user-agent or create an exception for the plugin.

Diskuse Summary on Windows

If you configured the diskuse_summary plugin on windows and aren't receiving data you may need to install a node dependency. The plugin should automatically install the diskspace.js node package but in some cases this seems to fail. 

Symptoms: No data from diskuse_summary, errors in Relay/Meter console that output "NaN"

Diagnose: To confirm the plugin is missing navigate to %HOMEPATH%\AppData\Roaming\npm\node_modules and check for a folder named "diskspace" if this does not exist you need to manually install the package.

Resolution: In order to fix this open a console and run "npm install diskspace" confirm the plugin is in the folder above. Restart the Meter.

Issues with Custom Upload

Some users have experienced issues uploading private plugins to the TrueSight Intelligence service. Below are some commonly used tips for troubleshooting this:

Check your username/token in the upload: The basic curl command for uploading repositories in the documentation is:

$ curl https://api.graphdat.com/v1/plugins/private/<your plugin name>/<your github username>/<repo name> -X PUT -u <your email>:<your API key>

Get your API Token by click settings -> Account and taking the API Token for your account. The username is the email address next to "owner" at the top of this screen.

Confirm the address of your GitHub repository: The Curl upload path is:
 https://api.graphdat.com/v1/plugins/private/<Your Plugin Name>/<your github username>/<GitHub repository name> 
The plugin name can be anything you want and is set at this point.
The easiest way to get the github section is to visit the github page for your repository and copy the end of the URL or the title of the page to ensure there are no errors.

Check your JSON: A common cause of upload errors is invalid JSON in the plugin config file. You can pre validate your JSON by using an online service such as JSONLint.

If you don't see a JSON response: If the upload works you should see a JSON command showing 200, success. Occasionally the upload may take a while and you will see a HTML response. This is most likely a timeout with the Boundary service which shouldn't happen, so please let us know if you see this. However usually a retry will succeed.

Other errors:  Generally if the upload path is correct you will receive a JSON formatted message with either success or an error. The error should give you some clues towards the problem, but if you do hit issues raise a ticket using the link on the right and we'll be pleased to help.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*