App Metrics Product Architecture

Page last updated:

Overview

The diagram below shows the components of App Metrics and the Platform components that the App Metrics system interacts with.

App Metrics 2.0 architecture

Understanding the diagram:

  • The cornered rectangles represent Platform tiles that App Metrics v2.0 depends on.
  • The rounded rectangles represent customer interaction points.
  • The cylinders represent the data storage components of App Metrics v2.0.
  • The blue components are packaged with App Metrics v2.0.

Data Flow

Metrics

Metrics are ingested and stored by the Metric Store tile.

App Metrics uses the Metric Store tile for two purposes:

  • Querying for metrics
  • Registering monitors to receive alerts when the metrics surpass the monitor thresholds

For more information about the Metric Store tile, see the Metric Store documentation.

Custom Metrics

Metrics Registrar can be used to collect custom application metrics. Metrics Registrar is bundled alongside TAS for VMs which is already a dependency of App Metrics v2.0.

To see custom application metrics in App Metrics v2.0, Metrics Registrar needs to be configured to scrape Prometheus-style metrics from your applications. These custom metrics will then be available inside Metrics Store to be visualized by App Metrics v2.0.

For more information, see:

Logs

The Log Store is a time series database for storing and querying application logs.

Logs are streamed into the store via the Loggregator V2 endpoint and stored via the Influx Storage Engine. Log Store provides the capability for distributed configurations, scaled out to use multiple nodes. Each node in a Log Store deployment manages disk usage to maximize stored logs without exceeding a configured maximum disk utilization.

App Metrics queries the Log Store for logs, log searches, and search density histograms.

PostgreSQL Datastore

The PostgreSQL database stores the indicator documents, monitors documents, and the triggered alerts for the monitors.

When a client uploads an indicator document or monitor document, App Metrics stores it in the database. These documents then display on the charts in the App Metrics dashboard.

When a monitor threshold is surpassed, the Metric Store tile sends a request to App Metrics. When App Metrics receives this request, App Metrics stores a record of the alert in the PostgreSQL datastore. These stored alerts then display on the charts in the App Metrics dashboard.

Security

In Transit: All communication with the PostgreSQL datastore is over TLS, following the guidelines in the PostgreSQL documentation.

At Rest: The PostgreSQL datastore does not store any sensitive information, so by default it is not encrypted. If you want to encrypt it, see Disk Encryption.