Menu

This is documentation for the next version of Alloy. For the latest stable release, go to the latest version.

Open source

Install Grafana Alloy with Puppet

You can use Puppet to install and manage Alloy.

Before you begin

  • These steps assume you already have a working Puppet setup.
  • You can add the following manifest to any module.
  • The manifest installs Alloy from the package repositories. It targets Linux systems from the following families:
    • Debian, including Ubuntu
    • RedHat Enterprise Linux, including Fedora

Steps

To add Alloy to a host:

  1. Make sure 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 Puppet manifest with the following class to add the Grafana package repositories, install the alloy package, and run the service:

    ruby
    class grafana_alloy::grafana_alloy () {
      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 { 'alloy':
            require => Exec['apt_update'],
          } -> service { 'alloy':
            ensure    => running,
            name      => 'alloy',
            enable    => true,
            subscribe => Package['alloy'],
          }
        }
        '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 { 'alloy':
          } -> service { 'alloy':
            ensure    => running,
            name      => 'alloy',
            enable    => true,
            subscribe => Package['alloy'],
          }
        }
        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_alloy::grafana_alloy

Configuration

The alloy package installs a default configuration file that doesn’t send telemetry anywhere.

The default configuration file location is /etc/alloy/config.alloy. You can replace this file with your own configuration, or create a configuration file for the service to use.

Next steps