Learn about Wavefront, its architecture, and its interfaces.

Wavefront is a high-performance streaming analytics platform that helps you monitor and optimize your environment. Wavefront is unique because it can scale to very high data ingestion rates and query loads. You can collect data from many services and sources across your entire application stack, and can look at details for earlier data collected by Wavefront.

What Can Wavefront Do?

After you’ve sent your data to Wavefront, you can view them in custom dashboards, alert on problem values, and perform anomaly detection and forecasting.

Charts and Dashboards

Visualize the information in dashboards and charts.
  • Use filters and functions to see exactly what you’re interested in. For example, combine multiple time series using aggregation functions such as sum() or avg().
  • Combine functions, and show or hide some of the information - or use dashboard variables to change the focus of a dashboard. For example, a variable might allow you to show the production or development environment.
  • Select one of several chart types (line plot, point plot, table, etc.)
simple v1 chart

Alerts

To detect problems, You can create alerts directly from charts and specify

For example, assume in your environment you need to know:

  • When the CPU reaches a certain threshold.
  • Who should be notified and how (email, Pagerduty, etc).
  • What the alert severity is, and when the alert resolves
After you've set up an alert with that information, we'll send an alert notifications that include details and a chart image. See the example on the right.
simple v1 chart

Queries

The Wavefront query language allows you to extract exactly the information you need. With filters and functions you can customize your charts so the signal becomes visible in the noise.

Users of our v2 UI, currently in Beta, can use Chart Builder (shown on the right). All other users can use Query Builder. Advanced users work with Query Editor.
chart builder

Anomaly Detection and Forecasting

Use AI Genie for anomaly detection and forecasting. ai genie forecasting

Distributed Tracing

Use Distributed Tracing to work with a service map, examine traces and spans, and drill down into problem areas. service map

Video: Introduction to Wavefront

In this video, Wavefront co-founder Clement Pang gives an introduction to Wavefront: How you get data into Wavefront, how dashboards, charts, and alerts allow you to monitor your environment, and how our histogram and tracing features can give you the full picture of what’s going on.

Wavefront proxies video

How Can I Get Data Into Wavefront?

Wavefront works with time-series (metric) data, and also with traces and spans, and with histograms from diverse sources.

  • Cloud: Perform minimal setup to let Wavefront to access the data in your cloud environment. The result is direct ingestion of cloud services data such as Amazon Web Services or Google Cloud Platform.
  • Integrations: For other data sources, we support over 200 integrations. You modify a simple configuration file and you’re good to go.
  • Start Where You Are: If your environment already has a metrics infrastructure, you can do some pre-processing on the data so they correspond to the Wavefront Data Format, and send them directly to the Wavefront proxy.
  • Direct Ingestion: For some use cases, direct ingestion is the best approach. Consider the proxy benefits before you select direct ingestion.
  • Histograms: For high-velocity metrics, Wavefront histograms might be the best solution.
  • Traces and Spans: For traces, we support Jaeger and Zipkin or any applications that are instrumented with the OpenTracing library. You can also send custom traces using one of our SDKs.

Video: Getting Data Into Wavefront

getting data into wavefront

What Are Supported Interfaces?

Different users interact with Wavefront in different ways:

  • Most users access the graphical user interface (GUI) from a browser. You log in to the Wavefront UI from a standard web browser, in many cases using an SSO solution. The UI supports different time windows – even an entire year. Wavefront supports Chrome, Firefox, and Safari.
  • The Chart Builder (v2) and Query Builder (v2) interfaces and the Query Editor allow you to fine-tune your charts and alerts. Access function documentation from the UI or start with the Query Language Reference and click any function on that page for details and examples.
  • The Wavefront REST API allows you to perform UI actions programmatically. The API is based on Swagger, so you can generate the client of your choice.
  • For Distributed Tracing, we make a large sets of SDKs available in Github.

What’s the Architecture?

The Wavefront Service runs the metrics collection engine. The service runs in the cloud and accepts data from the Wavefront proxy or through direct ingestion.

  • With cloud services, Wavefront pulls the data from your cloud provider (after minimal setup). We support all major cloud providers.
  • For on-prem telemetry you have several options:
    • Set up a collector agent such as Telegraf, collects data from you host or infrastructure and sends those data to the proxy.
    • Send data from your application code to the proxy using a metrics library. This works well both for metrics and for traces and spans.
  • If you have a custom application, you can send your metrics to the proxy or directly to the service – as long as the data is in one of the supported data formats. For example, if your environment already includes a metrics collection infrastructure, you can do some pre-processing on the data and send them to the proxy.
  • The proxy can also ingest metrics from your log files. See Log Data Metrics Integration

Wavefront architecture