Monitoring HCP Consul and Envoy Metrics on SnappyFlow
HCP (Hashicorp Cloud Platform) Consul is a service mesh and service discovery solution provided by Hashicorp. It enables platform operators to quickly deploy a fully managed, secure-by-default service mesh, helping developers discover and securely connect any application on any runtime, including Kubernetes, Nomad, and Amazon ECS.
SnappyFlow supports monitoring of HCP Consul and Envoy metrics through StatsD plugin. The StatsD plugin aggregates all the metrics exposed by HCP Consul and pushes them to SnappyFlow for data visualization and alerting. SnappyFlow provides a built-in dashboard template and a default StatsD rule file, customized to HCP Consul and Envoy metrics to get started easily.
- Install sfAgent on target machine
- Since StatsD plugin is used, a custom rules file is required for Monitoring HCP Consul. Default rule files are available at
Configuring StatsD plugin
config.yaml file under
/opt/sfagent/ contains all configuration information for sfAgent. Edit this config file and add profile key, tags (Hostnames, Application Names, Project Names), and the StatsD plugin configuration details under
metrics as provided in the code block below. Default rules files are provided under
/opt/sfagent/statsd_rules/. In the
config.yaml file, you may find other plugins pre populated by sfAgent.
To monitor envoy metrics use
To monitor consul metrics use
To monitor consul and envoy metric use
- name: statsd
key: Enter the profile key from SnappyFLow account
tags: Provide necessary tags
port: The UDP port on which statsd client sends metrics. sfAgent runs a statsd server listening on this port for the UDP datagrams. Default value is 8125
flushInterval: SnappyFlow’s statsd plugin collects all the metrics received in the last N seconds and sends the data to SnappyFlow as a single document
ruleFile: Provide the path to the statsd rules file. Please contact email@example.com to create a rule file for a custom statsd client
The StatsD configuration and rules files need to be validated for any changes to rules files to take effect. Post validation, sfAgent needs to be restarted.
To validate StatsD configuration, run
sudo /opt/sfagent/sfagent -check-statsd
To restart sfAgent, run
service sfagent restart
A typical config file with pre-popluated linux plugins
Verifying plugin operation
Once the StatsD plugin is configured, rule files validated and sfAgent restarted, you should now see the newly created Consul Application and Project under the names as defined in the
Tagged and discovered endpoints are automatically added to SnappyFlow
Clicking on the project takes you to the inventory page which gives a list of endpoints and services running under that project name.
Verifying that StatsD plugin is running
Another way to check if SnappyFlow is receiving metrics is to check the
Browse Data tab. Filter by StatsD plugin to see all raw data coming into SnappyFlow.
Checking for raw data
Setting up dashboards
SnappyFlow provides a built in dashboard template for Consul and Envoy metrics. To setup dashboards, go to the project and under metrics, click on the 3 dots menu and select
Import from Template option. Search for consul and clone and save the template to your dashboard.
Importing built-in dashboards
HCP Envoy dashboard
For help with plugins, please reach out to firstname.lastname@example.org.