tarjei / puppet-prometheus

Puppet module for prometheus

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

puppet-prometheus

Puppet Forge Puppet Forge Puppet Forge

Compatibility

Prometheus Version Recommended Puppet Module Version
>= 0.16.2 latest

What This Module Affects

  • Installs the prometheus daemon, alertmanager or exporters(via url or package)
    • The package method was implemented, but currently there isn't any package for prometheus
  • Optionally installs a user to run it under
  • Installs a configuration file for prometheus daemon (/etc/prometheus/prometheus.yaml) or for alertmanager (/etc/prometheus/alert.rules)
  • Manages the services via upstart, sysv, or systemd

Usage

To set up a prometheus daemon: On the server:

class { '::prometheus':
  global_config  => { 'scrape_interval'=> '15s', 'evaluation_interval'=> '15s', 'external_labels'=> { 'monitor'=>'master'}},
  rule_files     => [ "/etc/prometheus/alert.rules" ],
  scrape_configs => [ { 'job_name'=> 'prometheus', 'scrape_interval'=> '10s', 'scrape_timeout'=> '10s', 'target_groups'=> [ { 'targets'=> [ 'localhost:9090' ], 'labels'=> { 'alias'=> 'Prometheus'} } ] } ]
}

or simply:

include ::prometheus

On the monitored nodes:

class { '::prometheus::node_exporter':
  collectors => ['diskstats','filesystem','loadavg','meminfo','netdev','stat,time']
}

or simply:

include ::prometheus::node_exporter

For more information regarding class parameters please take a look at class docstring.

Limitations/Known issues

Even if the module has templates for several linux distributions, only RH family distributions were tested.

Development

Open an issue or fork and open a Pull Request

About

Puppet module for prometheus


Languages

Language:Shell 44.8%Language:Puppet 41.9%Language:HTML 13.0%Language:Ruby 0.2%Language:Pascal 0.1%