Node Agent
The Metrika Node Agent (“Agent”) is open-source software (available on GitHub here) that runs on a Node Operator's host. The agent replicates InfluxDB's API /write endpoint (v1), acts as a reverse proxy to a pre-configured InfluxDB server, and exposes ingested metrics in Prometheus Exposition Format (PEF). For every /write
request it will:
Proxy the request to an InfluxDB server (i.e. https://metrics.solana.com:8086 for Solana binaries)
Transform to Prometheus Exposition Format (PEF) and expose it under
/metrics
on the same address.
The Agent runs on modern GNU/Linux systems that utilize systemd. Node Operators can install and configure the agent using configuration management tools like Chef, Puppet, or Ansible.
This page provides more information about the Agent and how you can use it to send data to the Metrika platform.
Prerequisites
Operating System: GNU/Linux with systemd
CPU Architecture: x86_64
Linux Kernel: Version 2.6.23 or later
Command Line Tool: cURL (only required if the agent is running as a standalone binary)
Installation
To install the Agent:
Navigate to the GitHub repository here to grab the one-line installation command for Solana
Open a terminal and run the one-line installation command on the same host as the Solana client
Update the host part of the SOLANA_METRICS_CONFIG to the agent's InfluxDB
/write
endpoint (which defaults to127.0.0.1:8086
)
Please reference the GitHub page here for the most up-to-date installation instructions
Installation Flags
There are several other commands available to manage the installation of your Metrika Node Agent. To run these commands, simply enter the installation 1-liner with one of the following:
--upgrade
Upgrade the Metrika Node agent to the latest version--reinstall
Reinstall / refresh the Metrika Agent installation--uninstall
Stop and remove the Metrika Agent--purge
Stop and remove the Metrika Agent, including any agent configuration/data.--prerelease
Downloads the latest pre-release tag
Validation
There are 3 validations to ensure the Agent is running and sending data to the Metrika Platform
Agent Installed & Running
After running the one-line install command, you will receive a success message in the terminal informing you the Agent is installed and running
Agent Sending Data to the Solana InfluxDB Server
Navigate to the relevant cluster on metrics.solana.com and confirm data is coming through for your HostID
Agent Exposing PEF Metrics Locally
Navigate to http://127.0.0.1:8086/metrics to ensure the Prometheus formatted metrics are being exposed
Troubleshooting
If you're experiencing issues with the Agent, tips on troubleshooting the installation can be found on the GitHub page here.
Monitoring Agent Performance
There is instrumentation in-place to monitor agent performance. The metrics are exposed under port
:9999
by defaultNote - This port is configurable through the
runtime.metrics_addr
parameter in the agent configuration file (normally located under/etc/metrikad/configs/agent.yml
). The Agent will need to be restarted for changes to take effect.
To view these metrics, run the following in your browser on the machine where the agent is installed
http://localhost:9999/metrics
The raw metrics can be continuously collected from this endpoint and sent to your monitoring system.
Security
Built in line with industry-wide standards and processes to keep customer data confidential. We take a proactive approach to customer security and are committed to keeping your data safe:
Open Source: The Agent code is publicly accessible and available to anyone who wants to review or contribute to it
Audited: Regularly audited by independent security auditors. Results are made publicly available.
System Dependencies: The Agent is written in Go and distributed as a statically linked binary. There are no additional runtime dependencies on local systems
Third Parties: Best practices during development designed to minimize the use (and risk) of 3rd party packages
Data Access: If needed, resource limits can be set using Linux cgroups. The Agent has limited disk access and restricted access to node logs and configuration files
Data Customization: Configuration options to control and customize the kinds of data the Agent parses and transmits
Encryption: Data is secured in transit and protected using Transport Layer Security (TLS) v1.3
Authentication: The Metrika Platform currently supports Google & Github’s OpenID services
Uninstalling
To uninstall the agent, follow the process below:
Based on the data you want to preserve, run the 1-liner with one of the following commands:
--uninstall
Stop and remove the Metrika Agent.--purge
Stop and remove the Metrika Agent, including any agent configuration/data.
Last updated