Not seeing on-host integration data

Problem

You created an on-host integration with New Relic Infrastructure, but you are not seeing data in the New Relic Infrastructure UI.

Solution

To troubleshoot and resolve the problem:

  1. Verify that you have an Infrastructure Pro subscription. With the exception of the AWS EC2 integration, all other integrations require Infrastructure Pro.
  2. Check to see if the integration is activated. Go to Infrastructure > On host integrations and look for the integration name under Active integrations.
  3. Verify that your on-host integration meets New Relic Infrastructure's integration requirements:
    Troubleshoot integration requirements

    If you are not receiving data from your on-host integration, verify that your integration follows these requirements.

    Integration requirements Comments
    Environment Make sure your environment meets the Integrations requirements listed for your specific on-host integration.
    Installation Make sure the installation procedures for your specific on-host integration completed successfully.
    Configuration file

    Check your configuration file:

    1. Use a validator such as yamllint to verify it is a valid YAML file.
    2. Verify that the file is in the correct location.
    Definition file

    Check your definition file:

    1. Use a validator such as yamllint to verify it is a valid YAML file.
    2. Verify that the header fields have the required format.
    3. Verify that the prefix for inventory set in the definition file is no more than two levels deep.
    4. Verify that the file is in the correct location.
    Metric sets

    Verify that the integration:

    • Does not generate metric sets with more than 120 key-value pairs.
    • Does not generate more than 1000 metric sets.
    JSON payload

    Verify that the integration does not generate a single JSON payload of more than 5 MB.

  4. After ruling out common problems with integration requirements, follow the more in-depth troubleshooting procedures for error logs and integration loading:
    Check the integration log file for error messages

    Recommendation: Configure a log file in the Infrastructure agent configuration. This helps separate the types of errors so you can spot integration errors more easily.

    When there is an error loading or running your integration, the Infrastructure agent adds an error message to the log file. Errors are logged even if verbose mode is disabled.

    1. Check the log file for lines that include "level=error".
    2. If there are no error messages, check whether the Infrastructure agent is loading the integration correctly.
    Check that the integration is loading correctly

    To verify whether the Infrastructure agent is loading the integration correctly, try these steps:

    1. Enable verbose mode in the Infrastructure agent configuration.
    2. Restart the Infrastructure agent.
    3. Verify that the first lines of the log file contain two messages:

      "loaded plugin" plugin=<YOUR_INTEGRATION_NAME>
      "found plugin config file" plugin-path="<YOUR_INTEGRATION_CONFIG_PATH>"
    4. Check for errors just before or after these lines that indicate a problem with loading.

    The agent schedules data to be sent based on the schedule set in the definition file. Look in the log file for the integration's JSON.

    JSON payload example

    nginx-server-metrics: {\"name\":\"com.newrelic.nginx\",\"protocol_version\":\"1\",\"integration_version\":\"0.5.0\",\"metrics\":
    [{\"event_type\":\"NginxSample\",\"net.connectionsAcceptedPerSecond\":0.10344827586206896,\"net.connectionsActive\":1,
    \"net.connectionsDroppedPerSecond\":0,\"net.connectionsReading\":0,\"net.connectionsWaiting\":0,\"net.connectionsWriting\":1,
    \"net.requestsPerSecond\":0.10344827586206896,\"software.edition\":\"open source\",\"software.version\":\"1.4.6 (Ubuntu)\"}],\"inventory\":{},\"events\":[]}

For more help

Recommendations for learning more: