Skip to main content

Define a View

This guide shows you how to create a View. Views are a foundational concept in Glasnostic. They define a set of interactions to monitor and apply policies to.

For a general overview of Glasnostic, read Glasnostic Overview.

What is a View?

A View defines which interactions to monitor or apply policies to. In its simplest form, a View is defined by a set of Source Endpoints and a set of Destination Endpoints. The set of interactions defined by the View is then the set of interactions between Source and Destination Endpoints—past, present, and future.

Image View services on the service map (left) and metric history with a latency policy applied (right)

Views provide users with:

  • real-time visibility into how arbitrary sets of endpoints interact with each other in the aggregate; and

  • direct control over such interactions by applying policies or filters.

Creating a View

Views can be created either by clicking Services in the Service Map or by using the View Definition UI.

Creating a View using the Service Map

  1. Click a service in the Service Map. Depending on the current Perspective (Source or Destination), this will auto-select the currently connected Destinations or Sources, respectively. Click Selected Services to deselect them or click Unselected Services to add them to the selection.
note

If auto-selection results in an empty set, the logic inverts automatically. For example, if you are in Source Perspective and click a leaf service (i.e., a service that acts only as a destination, not as a source), the Service Map auto-selects its sources as if you were in Destination Perspective.

The Views pane switches to Definition mode and shows the currently selected services in the Sources and Destination columns, respectively.

View definition through selection of source and destination endpoints.

  1. When you are satisfied with the View Definition, click the Metrics tab and enter a name for the View.
  2. Click Commit and then Push to save the View.
note

You can examine View metrics without naming and saving the view. However, in this case the View definition will be lost as soon as you switch back to the View list or to a different View.

Creating a View using the View Definition interface

A more flexible way of creating a View is to use the View Definition interface.

  1. On the Dashboard, click the Create View button. The View Definition UI opens.

  2. To select a Source or Destination, start to enter its name in the dedicated field. A dropdown with matching endpoint names appears. Choose the instances you intend to select.

Image

If the environment consists of only one domain, endpoints may be simple host names like user-service. If the environment covers multiple domains, endpoints are fully qualified host and domain names like user-service.example.com. In addition, if a service has multiple instances, there may be an instance ID such as 7 or, in the case of Kubernetes, 9mnkw.

note

You can also specify Sources and Destinations using glob patterns. When using glob patterns, two things happen:

  1. Matching switches from substring mode to full string mode. That is, while a literal search for user returns the substring matches user-service 1, user-service 2 and user-auth 2, but not usr-db 4, a glob pattern must match the entire string. E.g., us*r is not sufficient to match these strings. You’ll have to specify us*r*.

  2. Endpoint specifications that are expressed as glob patterns are stored as such and thus match past, present and future endpoints. E.g., user-service* will match the logical user-service (it will match any instance of user-service, past, present and future).

Globbing uses the standard syntax familiar from UNIX-like systems, where * matches zero or more characters, ? matches any single character, [abc] matches one of the bracketed characters, [a-z] matches one character from the bracketed (locale-dependent) range of characters and [!…] negates the bracket expression.

  1. Specify the second set of endpoints.

Definition

  1. When you are satisfied with the View Definition, click the Metrics tab and enter a name for the View.
  2. Click Commit and then Push to save the View.