Forge Home

prometheusforemansd

Prometheus service discovery for foreman using puppet module

5,864 downloads

5,736 latest version

3.5 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.0.1 (latest)
  • 1.0.0
released May 29th 2018
This version is compatible with:
  • , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'vinothzomato-prometheusforemansd', '1.0.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add vinothzomato-prometheusforemansd
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install vinothzomato-prometheusforemansd --version 1.0.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

vinothzomato/prometheusforemansd — version 1.0.1 May 29th 2018

prometheusforemansd

Table of Contents

  1. Description
  2. Setup - The basics of getting started with prometheusforemansd
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Description

Start with a one- or two-sentence summary of what the module does and/or what problem it solves. This is your 30-second elevator pitch for your module. Consider including OS/Puppet version it works with.

You can give more descriptive information in a second paragraph. This paragraph should answer the questions: "What does this module do?" and "Why would I use it?" If your module has a range of functionality (installation, configuration, management, etc.), this is the time to mention it.

Setup

What prometheusforemansd affects OPTIONAL

If it's obvious what your module touches, you can skip this section. For example, folks can probably figure out that your mysql_instance module affects their MySQL instances.

If there's more that they should know about, though, this is the place to mention:

  • A list of files, packages, services, or operations that the module will alter, impact, or execute.
  • Dependencies that your module automatically installs.
  • Warnings or other important notices.

Setup Requirements OPTIONAL

If your module requires anything extra before setting up (pluginsync enabled, etc.), mention it here.

If your most recent release breaks compatibility or requires particular steps for upgrading, you might want to include an additional "Upgrading" section here.

Beginning with prometheusforemansd

To install prometheusforemansd with the default parameters:

    class { 'prometheusforemansd': }

This assumes that you want to install Grafana using the 'package' method. To establish customized parameters:

    class { 'prometheusforemansd':
      install_method  => 'archive',
    }

Usage

Classes and Defined Types

Class: prometheusforemansd

The prometheusforemansd module's primary class, prometheusforemansd, guides the basic setup of prometheusforemansd on your system.

    class { 'prometheusforemansd': }

Parameters within prometheusforemansd:

archive_source

The download location of a tarball to use with the 'archive' install method. Defaults to the URL of the latest version of prometheusforemansd available at the time of module release.

cfg_location

Configures the location to which the prometheusforemansd configuration is written. The default location is '/usr/prometheusforemansd/prometheusforemansd/prometheusforemansd.yaml'.

cfg

Manages the prometheusforemansd configuration file.

This parameter only accepts a hash as its value. Keys with hashes as values will generate sections, any other values are just plain values. The example below will result in...

    class { 'prometheusforemansd':
      cfg => {
        url => 'https://foreman.exmaple.com',
        username => 'username',
        pasword => 'password',
        zone => 'foremansystem.com',
        log: '/var/log/prometheus-foreman-sd.log'
        cron-time: '* 0/30 * * * *',
        foreman-groups: ['hostgroup'],
        zone: 'foreman.customdns.com',
        sd-file: 'tgroups.json',
      },
    }
install_dir

The installation directory to be used with the 'archive' install method. Defaults to '/usr/share/prometheusforemansd'.

install_method

Controls which method to use for installing prometheusforemansd. Valid option is 'archive'. The default is 'archive'.

service_name

The name of the service managed with the 'archive' install method. Defaults to 'prometheusforemansd'.

version

The version of Grafana to install and manage. Defaults to the latest version of prometheusforemansd available at the time of module release.

Reference

Users need a complete list of your module's classes, types, defined types providers, facts, and functions, along with the parameters for each. You can provide this list either via Puppet Strings code comments or as a complete list in this Reference section.

  • If you are using Puppet Strings code comments, this Reference section should include Strings information so that your users know how to access your documentation.

  • If you are not using Puppet Strings, include a list of all of your classes, defined types, and so on, along with their parameters. Each element in this listing should include:

    • The data type, if applicable.
    • A description of what the element does.
    • Valid values, if the data type doesn't make it obvious.
    • Default value, if any.

Limitations

This is where you list OS compatibility, version compatibility, etc. If there are Known Issues, you might want to include them under their own heading here.

Development

Since your module is awesome, other users will want to play with it. Let them know what the ground rules for contributing are.

Release Notes/Contributors/Etc. Optional

If you aren't using changelog, put your release notes here (though you should consider using changelog). You can also add any additional sections you feel are necessary or important to include here. Please use the ## header.