Build 122

09 March, 2017.

Features

REST API

An often requested feature is the ability to programmatically interact and specifically retrieve data from Instana. With this release, this becomes possible via a REST API. These HTTP endpoints allow data retrieval as in traces and metrics, as well as configuration as in service extraction and users.

The API documentation is available via Postman: https://documenter.getpostman.com/view/1527374/RWEiLJXR

API tokens can be generated via the UI from within the settings menu.

API settings

Container Map

The infrastructure host and application maps are views on Instana’s dynamic graph. This release adds a new type of view. Introducing: The container map!

The container map shows all containers within the monitored system as well as the processes running within those containers. On top of this, containers can be grouped in various way like by Docker image name or zone.

When using modern scheduling systems, this grouping becomes much more interesting as the map can be grouped by Amazon ECS, Docker Compose, Kubernetes, Marathon, and Nomad specific information.

You can access the new container map via the new perspective and grouping button in the infrastructure map.

grouping

Set Time Range

The current timeline helps users, who want to inspect and focus on a specific point or range in time. This unique custom control was now improved to enable users to control their time ranges more precisely.

timeline

When in live mode, users are able to define the size of the window used in the timeline, down to 1 minute. Since this window moves every second, this feature comes with a pre-defined selection for quick control. Users can manually switch between the live and historical control menu by toggling the live checkbox.

live mode

For historical time ranges, users are able to define the window size in more detail. There are three different times to set:

  • From: Defines the left range of the timeline. Can’t be smaller than the to time.
  • To: Defines the right range of the timeline. Can’t be smaller than the from time.
  • Selected Moment: Defines the concrete time of the selected moment. If this time is outside the range of from and to, users will receive a note.

As a shortcut, a datepicker can be used for quicker date inputs. Just click the date icon beside the input. The datepicker is linked to the highlighted icon.

datepicker

Users & Permissions

Until now, every user has had the same permissions within Instana. This release adds a role-based access model to Instana. These new features enable the definitions of user roles (by default Owner) and the assignment of roles to users. Every user has a role within an Instana tenant. All existing users will be moved to the Owner role to maintain the current Instana functionality.

User management has been moved out of the management portal and into the core product UI under the settings menu point. This is also where you can find the role configuration.

user management

configure rules

Custom Events API

We have started to open our APIs for adding custom events. Similar to the trace API, you can post an event to localhost:42699/com.instana.plugin.generic.event

The event must be a JSON document, as documented on https://instana.atlassian.net/wiki/display/DOCS/Event+SDK+REST+Web+Service and it will show up on the timeline alongside other events.

This allows you to push any events from any application into Instana. The screenshot shows an exemplary integration of Spotify.

timeline

Ansible Event Integration

Send events to Instana whenever a playbook starts, finishes, tasks fail, succeed or get skipped. Events automatically appear in the timeline the UI, stored in the history. Please see https://github.com/instana/instana-ansible for more details.

event integration

Audit log

All configuration changes via the user interface and via the API will be logged. To access the audit log, select it in the application under Settings → Audit Log.

The audit log allows detailed inspection into actions and actors. Need to know who invited the new user? Check the audit log!

audit log

With this release we are replacing our custom query syntax with the Lucene query syntax. Lucene provides a rich and powerful query language which can be used now to search across all domains provided by Instana such as traces, logical and infrastructure maps, events. One can now build complex queries by utilizing boolean operators such as AND, OR, NOT as well as Lucene “+” and “-“ operators, which require or prohibit a term following the operator respectively for the document to be matched. Also parentheses can be used to group clauses to form sub queries.

Please keep in mind that Lucene query syntax requires “:” instead of the previously used “=“ sign to build a query term with an explicit field, e.g. “service:shop”. To build one side unbounded range queries one can use “:>”, “:<”, “:>=”, “:<=” operators.

Some useful query examples utilizing the new syntax: “elasticsearch”, “tag:myTag”, “zone:us-east-1d”, “service:shop”, “cpuCount:>4”, “(zone:zone1 OR zone:zone2) AND cpuCount:>4

Web EUM Unhandled Error Support

End-user errors can have a large impact on a business. This is especially true for critical processes such as checkout processes. In the previous release we added support for JavaScript XMLHttpRequests (AJAX requests). This was a first step into understanding issues that users may face, e.g. slow or failing requests.

This release adds the next step into end-user monitoring: Error reporting. Whenever there is an uncaught error happening within the browser, this error is captured and reported to Instana. These errors can then be inspected from within the EUM dashboards and sidebars.

dashboard

Within the EUM sidebar, we added a button labeled Uncaught errors showing the number of uncaught error traces captured by Instana. By clicking on this button, the trace view opens and the error traces for this service will be visible.

eum sidebar

On prem: Web EUM

Web EUM is now supported for On-Premises installations. The component responsible for this, we call it the eumtracer, will be automatically installed when the Instana components are updated. Configuration and installation instructions are available via our docs. https://instana.atlassian.net/wiki/display/DOCS/End-User+monitoring

Improved Process Top List

Entries within the process top list are now sorted by CPU usage. We now also show the processes with their hierarchy, allowing much easier navigation analysis of resource consumptions.

process top list

StatsD

Instana has been capable of gathering custom metrics via JMX and Dropwizard metrics for a long time. Unfortunately, this is restricted to JVMs and not as extensible as many people need. Statsd is a standard and protocol for transmission and handling of custom metrics. The Instana agent can now act as a statsd compatible server. Custom metrics can now be reported to the Instana agent. The metrics will then be visible in the host dashboard.

More information about statsd can be found in our docs: https://instana.atlassian.net/wiki/display/DOCS/statsd

Better insights into usage

With this release, we provide insights into the host based license. There are two kinds of hosts. APM Host (including tracing) and Infrastructure Host (excluding tracing).

To have better insights into the usage of Hosts, we have added an overview in the usage view.

It is now also possible to switch the granularity between months, days and hours to better understand the usage of your environment.

environment

Newly supported Technologies

  • SAP HANA

    • Tracking Configuration
    • CPU, Memory, Disk Usage
    • Connections
    • Threads
    • Job Worker Threads
    • SQL Executor Threads
    • Alerts
  • OpenLDAP
  • Agent available in the DC/OS Universe
  • Java Tracing

    • Mongo-Async
    • Vert.x#RunOnContext
    • OkHttpUrlConnection
    • HttpsUrlConnection
    • Jersey 1
    • Elasticsearch 5
    • Opentracing
    • Memcache Shade
  • PHP CGI
  • Ruby now provides visibility into ActionController, ActionController API and ActiveRecord (mysql, mysql2 & postgresql adapter) database activity.

ruby trace

  • Ruby now also provides insight into page rendering through ActionView instrumenting layouts, templates and partials.

traces

Improvements

  • Messages going out via Integrations will now contain also the relevant metrics that triggered the notification.
  • Reduced required IOPS by an order of magnitude for on prem deployments.
  • Hostname for service instances in service dashboard.
  • Clicking on timestamps of events in incidents set now the selected moment.
  • Enlarge views (table, detail) in trace and event view.
  • Show duration of an incident/event.
  • Improved code highlighting in code view.
  • Add time indicator to timelines window size slider.
  • Add shortcut (F) to open the search bar.
  • Current layouting algorithm is persisted in browsers’ local storage.
  • Add hostname, creation and start date to Docker comparison table.
  • Labels for Docker containers now use the Amazon EC2 container service name when available.
  • Sort host list in zone dashboards by FQDN and hostname.
  • Spans are now indicating the corresponding services (see image below).

trace

  • The number of connected services/hops can be configured in the settings when filtering services (Settings → User Interface → Number of shown hops when filtering services) This number is currently limited to 0 and 1.
  • Users can now toggle the left and right side of the event/trace view to have it full screen.
  • The number of elements in comparison tables is now shown to enable quick counting.
  • Java Tracing now captures also prepared statements that have been prepared before the agent was started.
  • Attach to OpenJDK JVMs in docker containers is now much more stable.
  • Support monitoring Nginx listening on *:port addresses.
  • Added support for Timers and Histograms in Dropwizard Metrics.
  • Improved compatibility with older docker versions and new docker versions on RHEL.
  • Improved performance on hosts with many docker containers.
  • Improve performance of MongoDB sensor.
  • Support for Redis Servers running a custom config file.
  • Much better mod_php detection.
  • Support for Glassfish 1.4 with not yet enabled monitoring level.
  • Added support for the Oracle Express Edition.
  • Improved performance of HAProxy sensor.
  • Improved detection of stopped state of docker containers (no more zombies).
  • Improved support for docker networks, especially on Kubernetes.
  • Fixed incorrectly reported Kafka metrics.
  • Added node and server name to JBoss Sensor.
  • Agent configuration.yaml can now merge list configurations.
  • Improved Performance of Varnish Sensor.
  • The trace webservice now also accepts EUM spans.
  • Reduced memory usage of PHP tracing.
  • EUM dashboard now shows 95th percentiles for page load breakdowns and time to first paint metrics.
  • Display redis services in application map.
  • Incident notifications sent via integrations show basic trace statistics.
  • Database calls made using the jtds driver will no longer show up as unknown.
  • FTP servers will no longer show up as unknown on the application map.

Fixed Issues

  • Large traces with thousands of spans did not load.
  • In certain cases traces always captured a status code of 200, even when 404 was set.
  • Request paths are no longer falsely labeled as URLs within the trace view.
  • The mongodb sensor would slowly eat system resources when it could not establish a connection.
  • Sometimes docker ip addresses did show up as unmonitored host, while in fact it had an agent running.
  • In certain situations the native memory used by the agent could slowly grow over time. We applied various fixes to address this, some of which require a fresh agent install (from March 2017 or newer. Instana Agent Bootstrap 1.1.7, karaf 4.1.0) - if you have questions on this contact support.
  • On AIX J9, the agent would report to be connected and immediately disconnect. This has been fixed.

Known Issues