Build 193

2020-02-02

On-Premises Release Notes

Feature

Split between download key and agent key

There are no changes needed for existing installations

With Instana we used the Agent key and the Download Key synomously for a long time, with this release we opened up the option to distinguish between the Agent and Download key

Agent Key: This key is used for the agent to authenticate towards a self-hosted backend, and can be chosen freely.

Download Key: This key is used to download containers and agents and is provided within your license email.

Currently we recomend to still use the Download Key as agent key, to keep user experience in the agent dialogue intact. While the one-liner already supports having split agent and download keys, the UI does not render this option automatically on configuration.

Cumulative Features from Release #192, #193

Features

Agent: Process lookup and linking for externally ingested traces

Starting with Agent 1.1.582, the host agent can link on Linux systems the remotely-ingested traces to the process that generated them. Remotely-ingested traces are those sent to the endpoints of the host agent that support OpenTelemetry, Jaeger, Zipkin and Trace Web SDK. This capability works for process that:

  1. are not ignored using the Ignore Processes capability;
  2. run on the same host as the host agent, regardless whether these are running inside containers or not;
  3. report traces directly to the host agent, rather than running over a proxy like the OpenTelemetry Collector; if the tracing data go over a proxy, the proxy will be associated with the traces instead.

The Application Perspective Service dashboard will correctly reference any process from which related traces were ingested, including for example infra changes that took place for this service.

Confluent Kafka

Instana now supports tracing of Confluent Kafka client library for .Net Core. This includes instrumentation of producer and consumer calls with correlation between these two calls.

Redesigned and Extended Custom Dashboarding

Custom dashboarding has seen excellent adoption across our customer base with a lot of feedback since its introduction. With this release, we introduce many changes/fixes to the widget configurator to make it easier to use, more flexible and prepare it for exciting future additions! Among others, the following is now supported within the widget editors:

  • All widget names are now optional
  • The chart widget editor now supports…

    • duplication and reordering of datasets
    • moving datasets to other axes
    • optional automatic duplication of datasets for timeshift comparisons
    • selection of colors for datasets
    • optional dataset labels
  • The time zone widget editor now has an improved time zone selector, making it easier to find the correct time zone.

As mentioned before, we also prepared custom dashboards for exciting new capabilities! Here is a sneak peek at one of these capabilities we will ship in the future: Support for our new query language!

Custom dashboarding with support for our new query language

Sensors and Tracers

  • Ruby Sensor: The Ruby sensor now supports instrumenting GraphQL.
  • Support for OpenShift 4.6.
  • Instana Agent Chart v1.2.0: Support for OpenShift 4.x.
  • Java Trace Sensor: Support for Servlet 4

Improvements

  • AWS EC: Calls to AWS EC are now correlated to corresponding infrastructure entities and mapped to a service whose name is derived from the cluster id.
  • Role-based access control: No Application, Service or Endpoint events will be listed anymore in the Events-view that are outside of the defined Application-RBAC filters, if at least one is defined.
  • Role-based access control: Users without any direct group membership will no longer have default access after login, but start with restricted access. This will result in basically not having access to data at all.
  • Simplified installation process on OpenShift using YAML: now the project / namespace can automatically be created for you, as the YAML for the Instana Agent provided in Instana knows how to apply OpenShift's privileged Security Context Constraint (a.k.a.: scc) to the Instana agent's service account. For clusters where the instana-agent namespace was created manually, executing oc apply -f instana-agent.yaml will therefore result in the following benign warning:

    $ oc apply -f instana-agent.yaml
    Warning: oc apply should be used on resource created by either oc create --save-config or oc apply
  • Java Trace Sensor: Dynamically increase max. annotation limit based on number of configured extra-http-headers
  • .NET support for extra-http-headers is completed
  • Instana Agent Helm Chart:

    • Store the cluster name in a new cluster-name entry of the instana-agent ConfigMap rather than directly as the value of the INSTANA_KUBERNETES_CLUSTER_NAME, so that you can edit the cluster name in the ConfigMap in deployments like VMware Tanzu Kubernetes Grid in which, when installing the Instana agent over the Instana tile, you do not have directly control to the configuration of the cluster name. If you edit the ConfigMap, you will need to delete the instana-agent pods for its new value to take effect.
    • Support VMware Tanzu Kubernetes Grid Integration (TKGI) and older Pivotal Kubernetes Service (PKS) systems.
  • Instana Agent YAML (a.k.a. Instana Agent Daemonset): Support VMware Tanzu Kubernetes Grid Integration (TKGI) and older Pivotal Kubernetes Service (PKS) systems.
  • .NET Core and .NET Framework now support Agent configurable secrets. Please refer to documentation.
  • .NET Full Framework Tracing: Support configuration-base SDK
  • .NET Core Tracing: Support configuration-based SDK
  • Ruby Sensor: As of version 1.13.0 we generate path templates for the following frameworks:

    • Cuba
    • Roda
    • Ruby on Rails
    • Sinatra
  • Ruby Sensor: As of version 1.13.0 we support redacting secrets from query paramaters based off of the agent's secret configuration
  • Go: starting from v1.25.0 the in-app sensor sends its version to Instana. You can find this value displayed in the left-hand side area of Go process dashboard or when selecting the Go process in the Infrastructure view.
  • Go: as of v1.25.0 AutoProfile™ for Go is Generally Availabile.
  • Python: the instana package instruments Pika producers and consumers as of v1.31.0.
  • We simplified creating a SmartAlert using a baseline via API by making the threshold.baseline field optional. The baseline data will then be automatically computed based on the historic data.

Fixes

  • Fix the loading performance for larger amount of groups for UI and API
  • Fix group overview of user settings so users can be removed from overview directly again
  • Fix live mode infrastructure charts occasionally disappearing
  • JVM heap memory used percentage uses the available heap as max instead of the allocated value
  • Java Trace Sensor:

    • Fix problems in Spring WebFlux instrumentation in combination with Spring Cloud Gateway or Kotlin Coroutines
    • Fix broken traces when using web services on Oracle WebLogic Server in combination with internal EJB calls
  • all available groups can now be selected for new user invites
  • new users will be member of the selected group and not the default group any longer
  • fix adding new areas to a group while editing
  • fix groups API content for PUT and POST to be aligned with received content from GET

Deprecations

  • Instana Agent Chart: Starting with version 1.2.0, Helm 2 is no longer supported.
  • For those using the Instana Agent Operator and installing it manually, please note that each new version of the instana-agent-operator.yaml in version v1.x.x and onwards will reference that same version of the instana/instana-agent-operator container image. We will no longer be updating the latest tag for the Instana Agent Operator image in DockerHub and the RedHat Registry. In order to get a new version of the Instana Agent Operator, you will need to update to the latest operator yaml from the Operator's GitHub Releases page as mentioned in our documentation.