Just getting started with Refinery?Check out the Introduction to Refinery course in the Honeycomb Academy! This guided tour walks you through configuring and managing sampling strategies with Refinery, so you can get hands-on experience before deploying to your production environment.
- Meet system requirements before starting
- Download and install the latest version of Refinery
- Set up your cluster of Refinery processes
- Customize your configuration and sampling rules
System Requirements
To begin, your Refinery cluster requires a minimum of:- a
linux/amd64orlinux/arm64operating system - 2GB RAM for each server used
- Access to 2 cores for each server used
Getting Started
- Kubernetes
- Standard
The recommended way to run Refinery on Kubernetes is with its Helm chart.
-
Add the Honeycomb Helm repository.
-
Update the Honeycomb repository to ensure that
helmhas the latest chart versions. -
Install the latest version of the Refinery Helm chart with default values.
2.15.5 installs Refinery version 2.9.4.
When installing a specific version, you can check the Refinery Helm chart documentation to see which chart version installs the version of Refinery you want.Command Line Flags
The Refinery executable has the following command line flags:-c, --config=
: Path to config file (default: /etc/refinery/refinery.yaml)
-r, --rules_config=
: Path to rules config file (default: /etc/refinery/rules.yaml)
-v, --version
: Print version number and exit
-d, --debug
: If enabled, runs debug service (runs on the first open port between localhost:6060 and :6069 by default).
Can be used with a debug service, which allows you to use pprof to visualize and analyze profiling data.
-h, --help
: Show help message
Set Up Your Refinery Cluster
Be sure to keep configuration in-sync between the Refinery processes, so that your traces are consistent.
Refinery does not currently support Redis Cluster or the Redis Sentinel protocol.
API Host property to be the URL for your Refinery cluster’s load balancer to start sampling events with Refinery.
Refinery Configuration
The default configuration at installation will allow you to run Refinery without any other changes. Be sure to run Refinery in Dry Run Mode to verify your configuration before dropping traffic. To tune Refinery to your needs, Refinery’s configuration requires additional changes in two files:-
config.yamlcontains general configuration options, such as Network, Access Key, and Peer Management settings. Read our documentation on all available configuration options. -
rules.yamlcontains sampling rules configuration. Read our documentation on all supported sampling methods and their associated configuration.