Caution

Grafana Agent has reached End-of-Life (EOL) on November 1, 2025. Agent is no longer receiving vendor support and will no longer receive security or bug fixes. Current users of Agent Static mode, Agent Flow mode, and Agent Operator should proceed with migrating to Grafana Alloy. If you have already migrated to Alloy, no further action is required. Read more about why we recommend migrating to Grafana Alloy.

Open source

Install Grafana Agent Flow with Puppet

You can use Puppet to install and manage Grafana Agent Flow.

Before you begin

  • These steps assume you already have a working Puppet setup.
  • You can add the following manifest to any new or existing module.
  • The manifest installs Grafana Agent Flow from the package repositories. It targets Linux systems from the following families:
    • Debian (including Ubuntu)
    • RedHat Enterprise Linux (including Fedora)

Steps

To add Grafana Agent Flow to a host:

  1. Ensure that the following module dependencies are declared and installed:

    JSON
    {
    "name": "puppetlabs/apt",
    "version_requirement": ">= 4.1.0 <= 7.0.0"
    },
    {
    "name": "puppetlabs/yumrepo_core",
    "version_requirement": "<= 2.0.0"
    }
  2. Create a new Puppet manifest with the following class to add the Grafana package repositories, install the grafana-agent-flow package, and run the service:

    ruby
    class grafana_agent::grafana_agent_flow () {
      case $::os['family'] {
        'debian': {
          apt::source { 'grafana':
            location => 'https://apt.grafana.com/',
            release  => '',
            repos    => 'stable main',
            key      => {
              id     => 'B53AE77BADB630A683046005963FA27710458545',
              source => 'https://apt.grafana.com/gpg.key',
            },
          } -> package { 'grafana-agent-flow':
            require => Exec['apt_update'],
          } -> service { 'grafana-agent-flow':
            ensure    => running,
            name      => 'grafana-agent-flow',
            enable    => true,
            subscribe => Package['grafana-agent-flow'],
          }
        }
        'redhat': {
          yumrepo { 'grafana':
            ensure   => 'present',
            name     => 'grafana',
            descr    => 'grafana',
            baseurl  => 'https://packages.grafana.com/oss/rpm',
            gpgkey   => 'https://packages.grafana.com/gpg.key',
            enabled  => '1',
            gpgcheck => '1',
            target   => '/etc/yum.repo.d/grafana.repo',
          } -> package { 'grafana-agent-flow':
          } -> service { 'grafana-agent-flow':
            ensure    => running,
            name      => 'grafana-agent-flow',
            enable    => true,
            subscribe => Package['grafana-agent-flow'],
          }
        }
        default: {
          fail("Unsupported OS family: (${$::os['family']})")
        }
      }
    }
  3. To use this class in a module, add the following line to the module’s init.pp file:

    ruby
    include grafana_agent::grafana_agent_flow

Configuration

The grafana-agent-flow package installs a default configuration file that doesn’t send telemetry anywhere.

The default configuration file location is /etc/grafana-agent-flow.river. You can replace this file with your own configuration, or create a new configuration file for the service to use.

Next steps