Skip to content

Latest commit

 

History

History
154 lines (125 loc) · 6.43 KB

File metadata and controls

154 lines (125 loc) · 6.43 KB
title type tags metaDescription redirects freshnessValidatedDate
Not seeing Infrastructure integration data
troubleshooting
Create integrations
Infrastructure Integrations SDK
Troubleshooting
Integration troubleshooting.
/docs/create-integrations/infrastructure-integrations-sdk/troubleshooting/not-seeing-infrastructure-integration-data
/docs/infrastructure/integrations-sdk/tools-resources/troubleshooting-not-seeing-integration-data
/docs/infrastructure/integrations-sdk/troubleshooting/troubleshooting-not-seeing-integration-data
/docs/infrastructure/integrations-sdk/troubleshooting/not-seeing-infrastructure-integration-data
/docs/integrations/integrations-sdk/troubleshooting/not-seeing-infrastructure-integration-data
/docs/infrastructure/host-integrations/troubleshooting/not-seeing-host-integration-data/
never

Problem

You created a custom infrastructure on-host integration using the Integrations SDK, but you're not seeing data in the infrastructure UI.

Solution

To troubleshoot and resolve the problem:

  1. Verify that your integration meets our integration requirements.
  2. After ruling out common problems with integration requirements, follow the more in-depth troubleshooting procedures for error logs and integration loading.
If you are not receiving data from your custom integration, verify that your integration follows these requirements.
<table>
  <thead>
    <tr>
      <th>
        Integration requirements
      </th>

      <th>
        Comments
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Environment
      </td>

      <td>
        Make sure your environment meets the [Integrations SDK requirements](/docs/compatibility-requirements-infrastructure-integration-sdk).
      </td>
    </tr>

    <tr>
      <td>
        Configuration file
      </td>

      <td>
        1. Use a validator such as [yamllint](http://www.yamllint.com/) to verify that the configuration file is a valid YAML file.
        2. Verify that the file is in the [correct location](/docs/infrastructure/integrations-sdk/get-started/create-activate-infrastructure-integration#placement-naming).
      </td>
    </tr>

    <tr>
      <td>
        Definition file
      </td>

      <td>
        1. Use a validator such as [yamllint](http://www.yamllint.com/) to verify that the definition file is a valid YAML file.
        2. Verify that the header fields have the [required format](/docs/infrastructure/integrations-sdk/file-specifications/integration-definition-file-specifications#def-header).
        3. Verify that the [prefix for inventory](/docs/infrastructure/integrations-sdk/file-specifications/integration-definition-file-specifications#def-commands) set in the definition file is no more than two levels deep.
        4. Verify that the file is in the [correct location](/docs/infrastructure/integrations-sdk/get-started/create-activate-infrastructure-integration#placement-naming).
      </td>
    </tr>

    <tr>
      <td>
        Metric sets
      </td>

      <td>
        Verify that the integration:

        * Does not generate metric sets with more than 120 key-value pairs.
        * Does not generate more than 1000 metric sets.
      </td>
    </tr>

    <tr>
      <td>
        JSON payload
      </td>

      <td>
        Verify that the integration does not generate a single JSON payload of more than 5 MB.
      </td>
    </tr>
  </tbody>
</table>

<Collapser id="check-errors" title="Check the integration log file for error messages"

After ruling out common problems with [integration requirements](#requirements), follow these more in-depth troubleshooting procedures.

Recommendation: [Configure a log file](/docs/infrastructure/new-relic-infrastructure/troubleshooting/generating-logs-troubleshooting-infrastructure) 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-loading).

<Collapser id="check-loading" title="Check that the integration is loading correctly"

To verify whether the infrastructure agent is loading the integration correctly:

1. Enable [`verbose` mode](/docs/infrastructure/new-relic-infrastructure/troubleshooting/generating-logs-troubleshooting-infrastructure) in the infrastructure agent configuration.
2. [Restart the infrastructure agent](/docs/infrastructure/new-relic-infrastructure/configuration/start-stop-restart-check-infrastructure-agent-status).
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.

   <DNT>
     **JSON payload example**
   </DNT>

   ```
   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\":[]}
   ```