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:

  1. Navigate to the GitHub repository here to grab the one-line installation command for Solana

  2. Open a terminal and run the one-line installation command on the same host as the Solana client

  3. Update the host part of the SOLANA_METRICS_CONFIG to the agent's InfluxDB /write endpoint (which defaults to 127.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

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 default

    • Note - 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