Plugins 〉Instana


Developer

Instana, Inc.


Sign up to receive occasional product news and updates:



Data Source
commercial

Instana

  • Overview
  • Installation
  • Change log
  • Related content

Latest

Instana Data Source

This is a Grafana datasource for showing metrics from Instana AI-Powered APM for dynamic applications.

Requirements

Attention: Grafana 10.0.0+ is suggested.

For On-premise customers Instana Release 260+ is required.

Features

  • Dynamic Focus queries
  • Applications and Websites
  • Automatic completion for available types and metrics
  • Utilizes Instana REST API
  • Security via access token

Breaking Changes

  • Secure Information Storage:

    • To align with the latest updates from the Grafana team, all secure information, including the API key, should now be stored in secureJsonData instead of jsonData.
  • API Token Migration:

    • The API token, currently stored in jsonData, is now migrated to secureJsonData starting from version 4.0.0. This is a breaking change, and existing users must reauthenticate their datasources.
  • Configuration Page Update:

    • To prevent data source breakage, existing users must reauthenticate by entering the URL and API Token on the configuration page.
  • Migration Instructions:

    1. Reauthentication Steps:

      • Visit the configuration page and re-enter the URL and API Token for each datasource.
    2. Proxy Authentication:

      • Authentication now only takes place over the data source proxy method. Use-proxy via authentication is the only option in our datasource plugin.
    3. Grafana Version Requirement:

      • This version (4.0.0) is now the base version of instana-grafana-datasource, and Grafana 10.0.0 or higher is required.
    4. API Token Reset:

      • Once credentials are saved, the API Token is stored on the server. Users have the option to reset the API Token using the provided reset key Button.
  • Additional Notes

    • Ensure all existing datasources are reauthenticated to prevent disruptions.
    • Refer to the updated documentation for any additional information or troubleshooting steps related to authentication changes.

We appreciate your understanding and cooperation during this transition. If you encounter any issues or have questions, please reach out to our support team.

Thank you for using instana-grafana-datasource!

Troubleshooting

When troubleshooting, please open a ticket at https://www.ibm.com/mysupport to get your issues/questions resolved the fastest way possible.

Searching for answers and best pratices? Check our IBM Instana Community.

Configuration

This datasource uses the Instana REST API to query the metric values. First of all you will need to generate an API token. Use this token along with the URL for your Instana account e.g. https://prod-acme.instana.io

To use the Grafana server as a proxy for querying Instana REST API please check Use proxy.

To enable metrics for offline snapshots please check Enable offline snapshots. For On-premise customers Instana Release 260 is required.

The configuration allows the setting of a limit for the different categories that this plugin offers. Numeric values can be entered in order to make sure that queries do not exceed a certain amount of window size that they query. This can be useful when experiencing Grafana performance issues.

datasource configuration

Usage

Query Editor

empty query editor

To start, enter the Dynamic Focus query. This is exactly the same as used in the Instana dashboard; you can test your queries in Instana and then copy and paste them into Grafana. NOTE Saved filters are not currently supported by the Grafana datasource plugin.

Infrastructure built-in metrics

Once you filled in the query the available types dropdown will be automatically populated, select the type you want.

As you select the type, the available metrics dropdown will be automatically populated, select the metric you want.

If your Dynamic Focus query matches multiple instances then, the returned dataset will include metrics from all those matching instances, providing graphs with multiple plots like the example below.

multiple plot graph

Infrastructure custom metrics

To choose custom metrics matching your query you need to select "Infrastructure custom metrics" from the category dropdown, which will automatically populate the available types dropdown.

As you select the type, the available metrics dropdown will be automatically populated, select the metric you want. As there might be a huge amount of custom metrics, you can specify an optional filter to reduce to a corresponding subset.

If your Dynamic Focus query matches, the returned dataset will include metrics providing graphs like the example below.

custom plot graph

Infrastructure Analyze

For self-hosted installations, BeeInstana is required for this endpoint group. See this documentation for enabling BeeInstana.

To choose infrastructure analyze metrics, you need to select "Infrastructure Analyze" from the category dropdown. This will populate the other dropdown lists.

The "Entity types" dropdown will contain a list of all entity types sorted by entity name. Once you select the entity type, the available metrics dropdown will be automatically populated.

You should provide the appropriate group-by tag in the "Group by" text box. You can easily find the "Group by tag" option within the Instana dashboards. Then select the metric you want.

Most metrics will have more than one aggregation type (SUM, MEAN,etc...) from which appropriate one can be chosen.

We currently fully support filtering in Infrastructure Analyze. To use this feature, you must fill the "TagFilterExpression" text box with a tagFilterExpression which contains an array of desired filter objects. You can easily get the tagFilterExpression from the JSON tree under API query session of the Instana Infrastructure Analytics dashboard. If your selection matches, the returned dataset will include metrics providing graphs like the example below.

infra analyze plot graph infra analyze plot graph

Change legend format

To adjust the legend display you can provide an own "Legend format". Supported values for replacement are:

  • $label - the entity label
  • $host - the corresponding host
  • $pid - the corresponding PID
  • $timeShift - corresponding timeShift
  • $metric - the displayed metric
  • $type - the entity type
  • $service - the service label (for endpoints only)
  • $name - a label alternative
  • $index - index in the list

Application metrics

A simple version of getting metrics related to one or multiple applications. Once an application and a metric are selected, the graphs will be drawn (see example below). The icon next to the application indicates whether the displayed information is based on calls that are performed by the consumers of the application (INBOUND) or based on all calls that are performed within this application, by both consumers as well as internally (ALL). These options are only enabled once an application is selected.

application metric plot graph

Change legend format

To adjust the legend display you can provide an own "Legend format". Supported values for replacement are:

  • $label - the entity label
  • $application - application label
  • $timeShift - corresponding timeShift
  • $metric - the displayed metric
  • $key - metric key with aggregation and rollup
  • $index - index in the list

If no custom format is provided the default label '$label ($application) $metric' will be shown.

Service metrics

Allows to show metrics related to a service. Services can either be selected as standalone or in combination with an Application Perspective to show more detailed metric data. As soon as an application is selected the dropdown menu of possible services reloads and only shows services that are actually being used by the selected application. Together with an application it is possible to indicate whether the displayed information is based on calls that are performed by the consumers of the application (INBOUND) or based on all calls that are performed within this application, by both consumers as well as internally (ALL). These options are only enabled once an application is selected. In case only a service is selected (without any application) the displayed information will be based on all calls that are performed within this application, by both consumers as well as internally.

service metric plot graph

Change legend format

To adjust the legend display you can provide an own "Legend format". Supported values for replacement are:

  • $label - the entity label
  • $service - service label
  • $application - application label (if selected)
  • $timeShift - corresponding timeShift
  • $metric - the displayed metric
  • $key - metric key with aggregation and rollup
  • $index - index in the list

If no custom format is provided the default label '$label ($service) $metric' will be shown.

Endpoint metrics

Allows to show metrics related to an endpoint. Endpoints can either be selected as standalone or in combination with an Application Perspective and service to show more detailed metric data. Since multiple endpoints can have the same name, it is recommended to select an application, then a service, and finally an endpoint in order to be sure to select the correct endpoint. Possible selectable items are reloaded and cached each time a service and an application is changed. Together with an application it is possible to indicate whether the displayed information is based on calls that are performed by the consumers of the application (INBOUND) or based on all calls that are performed within this application, by both consumers as well as internally (ALL). These options are only enabled once an application is selected. In case only an endpoint is selected (without any application) the displayed information will be based on all calls that are performed within this application, by both consumers as well as internally. This is independent on a selected service.

endpoint metric plot graph

Change legend format

To adjust the legend display you can provide an own "Legend format". Supported values for replacement are:

  • $label - the entity label
  • $application - application label (if selected)
  • $service - service label (if selected)
  • $endpoint - endpoint label
  • $timeShift - corresponding timeShift
  • $metric - the displayed metric
  • $key - metric key with aggregation and rollup
  • $index - index in the list

If no custom format is provided the default label '$label ($endpoint) $metric' will be shown.

Analyze application calls

To choose application metrics you need to select "Analyze application calls" from the category dropdown. This will populate the other dropdown lists.

The "Application" dropdown will contain a list of all applications sorted by their name.

Most metrics will have more than one aggregation type (SUM, MEAN, ...) and you can choose which one to use.

It's also possible to add additional filters via "add Filter". Multiple filters are concatenated using "AND".

If your selection matches, the returned dataset will include metrics providing graphs like the example below.

application plot graph

If more then 20 metics are fetched, a warning appears that not all results are shown. Add Filter to narrow down the data.

Change legend format

To adjust the legend display you can provide an own "Legend format". Supported values for replacement are:

  • $label - the entity label
  • $application - application label
  • $timeShift - corresponding timeShift
  • $metric - the displayed metric
  • $key - metric key with aggregation and rollup
  • $index - index in the list

If no custom format is provided the default label '$label ($application) $metric' will be shown.

Analyze websites

To choose EUM website metrics you need to select "Analyze websites" from the category dropdown. This will populate the other dropdown lists.

The "Website" dropdown will contain a list of all websites sorted by their pageloads.

Most metrics will have more than one aggregation type (SUM, MEAN, ...) and you can choose which one to use.

It's also possible to add additional filters via "add Filter". Multiple filters are concatenated using "AND".

If your selection matches, the returned dataset will include metrics providing graphs like the example below.

website plot graph

A default label '$label ($website) $metric' will be shown.

Analyze mobile app

To choose EUM mobile app metrics you need to select "Analyze mobile app" from the category dropdown. This will populate the other dropdown lists.

The "Mobile-app" dropdown will contain a list of all mobile apps sorted by their session starts.

Most metrics will have more than one aggregation type (SUM, MEAN, ...) and you can choose which one to use.

It's also possible to add additional filters via "add Filter". Multiple filters are concatenated using "AND".

If your selection matches, the returned dataset will include metrics providing graphs like the example below.

mobile plot graph mobile plot graph

Change legend format

To adjust the legend display you can provide an own "Legend format". Supported values for replacement are:

  • $label - the entity label
  • $website - website label
  • $type - entity type
  • $timeShift - corresponding timeShift
  • $metric - the displayed metric
  • $key - metric key with aggregation and rollup
  • $index - index in the list

If no custom format is provided the default label '$label ($website) $metric' will be shown.

SLO Information

Instana brings two collections Service levels information into Grafana.

  • Service levels objectives (beta), by the predefined SLO target from configurations, including:

    • Service level status (single number)
    • Predefined service level target (single number)
    • Total error budget (single number)
    • Remain error budget (single number)
    • Spent error budget (single number)
    • Error chart/Error budget consumption (timeseries)
    • Error budget accumulation chart (timeseries)
    • Error budget remain chart (timeseries)
    • Voilation chart (timeseries)
  • Service level objectives widgets, by the given SLO target from parameters, including:

    • SLI (single number)
    • Remain error budget (single number)
    • Timeseries (voilation in timeseries)

Both of them can be selected from the metric category drop-down list. Accordingly, SLO/SLI configuration and value types can be selected for display.

Difference between them is that SLO target is not defined for the SLI configuration from Service level objectives widgets. If Service level objectives widgets is chosen, SLO(target) is required as a parameter. On the other side, SLO target has already predefined by the SLO configuration from Service levels objectives (beta), no additional step is required to define the SLO target for calculation. Also, Service levels objectives (beta) provides more metrics and charts than Service level objectives widgets.

The image below shows how a dashboard looks like with metrics from Service levels objectives (beta) category

slo2_dashboard

The image below shows a dashboard looks like when choosing metrics from Service level objectives widgets category

slo_dashboard

Singlestat visualization

While using the "Singlestat" visualization an additional metric aggregation is selectable. For showing a correct SUM metric, configuration on two different places is needed:

  • on metric selection: "SUM" to adjust our mean calculated rollup values
  • on Singlestat configuation: "Total" to tell the panel to aggregate all given values

singlestat

Table visualization

While using the "Table" visualization an additional metric aggregation is selectable.

table

Use time shift option

The time shift option allows going back in different points of time for each query.

This new feature can be used to compare two identical queries while one shows the query's outcome of a day earlier.

time shift

Custom Granularity

This plugin also supports the ability to select different granularity values to provide a even deeper look into metrics.

Granularity Support

Aggregation support

Aggregate graphs on query level and choose to show everything or only the aggregated graph.

Aggregation Support

Installing Instana on Grafana Cloud:

For more information, visit the docs on plugin installation.

Changelog

4.1.0 - 2024-07-19

  • New Feature: Added a new metric category for Service Level Objectives (beta) with the new SLO API.
  • Enhancements: Renamed the existing SLO information metric category to Service Level Objectives Widgets, which supports the old SLO APIs.
  • Fix: Fixed a bug to enable offline snapshots in the Infrastructure Metrics category.

4.0.2 - 2024-05-29

  • Fix: Fixed a DFQ bug introduced in the Infrastructure Metrics category.

4.0.1 - 2024-05-07

  • Fix: Fixed a bug in the Infrastructure snapshot API that was causing issues with listing Entity types for Self-hosted installation.

4.0.0 - 2024-03-28

  • Breaking Changes: Secure information, including API keys, is now stored in secureJsonData instead of jsonData. This change requires users to reauthenticate datasources by entering the URL and API Token on the configuration page.
  • Chore: Replaced deprecated instana REST API calls in Analyze Infrastructure with new ones.
  • Fix: Fixed filter bug introduced in Analyze Application/Website.
  • Fix: Updated instana version and suggested grafana version.
  • Fix: Updated json data into security json file

3.3.9 - 2023-11-17

  • Chore: Added filter query for Analyze Mobileapp in grafana UI.
  • Chore: Enabled includeSynthetic parameter query in Analyze Infrastructure.

3.3.8 - 2023-09-29

  • New Feature: Added Analyze Mobileapp for available metrics data in grafana UI.

3.3.7 - 2023-07-11

  • Fix: Fixed application, service and endpoint selection in corresponding metrics category

3.3.6 - 2023-05-08

  • Fix: Fixed available metrics in Analyze Websites

3.3.5 - 2023-01-20

  • Fix: Fixed docs url for dynamic focus query

3.3.4 - 2022-08-18

  • Chore: Encode infrastructure metrics to support custom metrics including special characters
  • Fix: Fixed datasource configuration with instana urls ending with /

3.3.3 - 2022-02-16

  • Chore: Adjusted supported granularites for analyze queries to match Instana UI for better comparability
    • removed: 5h, 10h
    • added 30min, 4h, 6h, 8h, 12h
  • Fix: Fixed an issue sending greater window sizes for analyze queries than actually selected on timepicker, as API is limited by 31d
  • Chore: ensure sending minimum valid window size for analyze queries

3.3.2 - 2022-01-28

  • Chore: Re-calculate end date and window size by selected granularity

3.3.1 - 2021-08-10

  • Fix: Status quo