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:
Make sure that the following module dependencies are declared and installed:
{ "name": "puppetlabs/apt", "version_requirement": ">= 4.1.0 <= 7.0.0" }, { "name": "puppetlabs/yumrepo_core", "version_requirement": "<= 2.0.0" }
Create a Puppet manifest with the following class to add the Grafana package repositories, install the
alloy
package, and run the service: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']})") } } }
To use this class in a module, add the following line to the module’s
init.pp
file: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.