Sending metrics to Honeycomb
Honeycomb supports OpenTelemetry metric types, including gauges, delta and cumulative sums, and histograms. There are several ways to send metric data to Honeycomb. In general, we recommend that you send metric data to its own dataset.- Send host metrics to Honeycomb with an OpenTelemetry Collector running as an agent on each host
- Send metrics from a Prometheus Client
- Send AWS metrics from AWS CloudWatch metric streams
- An OpenTelemetry SDK can send metrics from within an application
Querying metrics
Querying metrics is just like querying any other data in Honeycomb. Metric resources and attributes are stored as fields and can be used in WHERE and GROUP BY clauses to plot specific timeseries. You can also use temporal aggregation functions in your queries such asRATE(), INCREASE(), SUMMARIZE(), and LAST().
Learn more about writing queries for metrics data.
Making metrics graphs look less spikey
Because metric data arrives at known, regular intervals, you may find that your metrics graphs have a spiky appearance where after each metric, the line graph drops to zero before plotting the next point. Some people prefer a continuous line graph, without the drops to zero, because it is easier to identify trends in the data. There are two ways to achieve this continuous line graph:- Modify the Granularity using the time picker in Query Builder. Alternatively, set a default granularity for the dataset.
- Enable the Omit Missing Values graph setting on the query. To do this:
- On the right side of Query Results, select the Settings icon () to display the Display Settings.
- Select Omit Missing Values.
- The graph refreshes and should display a continuous line.
Correlating query results and metrics data
Use the Correlations tab in Query Builder and compare query results with your metrics data. Looking at your infrastructure metrics alongside query results can give you a better insight into your system. For example, a system running out of memory, CPU, or network resources might be the reason for an out-of-compliance SLO or an alerting trigger, and seeing the graph of the problem alongside graphs of relevant system resources could confirm or deny this kind of hypothesis.Adjusting metrics event volume
Honeycomb stores metrics in events, and it combines as many metrics into a single event as possible. Every captured data point is stored as a value in an event whose timestamp represents the time of capture. All attributes that uniquely identify the metric’s timeseries are included on the event. Events that contain metrics are most effective (and cost-effective) when many data points for the same resource, same attributes, and same timestamp arrive together. Learn about factors that affect metrics event volume and how to manage it.Integrations
Honeycomb provides the following integrations for sending metrics:AWS Cloudwatch
Stream metrics stored in AWS CloudWatch to Honeycomb using AWS Kinesis Data Firehose.
HashiCorp Consul
Configure HashiCorp Consol to send cluster metrics to Honeycomb with an OpenTelemetry Collector.
HashiCorp Nomad
Configure HashiCorp Nomad to send metrics to Honeycomb with an OpenTelemetry Collector.
HashiCorp Vault
Configure HashiCorp Vault to send server metrics to Honeycomb with an OpenTelemetry Collector.
Prometheus Clients
Scrape Prometheus client metrics with an OpenTelemetry Collector and send them to Honeycomb.