- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
This module is used to configure grafana, telegraf, and influxdb to consume metrics from Puppet service.
You have the option of getting metrics from any or all of three of these methods:
- Through Archive files from the puppetlabs/puppet_metrics_collector module
- Natively, via Puppetserver's built-in graphite support
- Through telegraf, which polls several of Puppet's metrics endpoints
Previous versions of this module put several [[inputs.httpjson]]
entries in
/etc/telegraf/telegraf.conf
. These entries should be removed now as all
module-specific settings now reside in
/etc/telegraf/telegraf.d/puppet_metrics_dashboard.conf
. Telegraf will
continue to work if you do not remove them, however, the old
[[inputs.httpjson]]
will not be updated going forward.
Configures grafana-server, influxdb, and telegraf, with an influxdb datasource and a database called "puppet_metrics"
include puppet_metrics_dashboard
class { 'puppet_metrics_dashboard':
add_dashboard_examples => true,
influxdb_database_name => ['puppet_metrics','telegraf','graphite'],
}
add_dashboard_examples
enforces state on the dashboards. Remove this later if you want to make edits to the examples or add theoverwrite_dashboards
parameter to disable overwriting the dashboards after the first run.
class { 'puppet_metrics_dashboard':
add_dashboard_examples => true,
influxdb_database_name => ['puppet_metrics','telegraf','graphite'],
overwrite_dashboards => false,
}
class { 'puppet_metrics_dashboard':
configure_telegraf => true,
enable_telegraf => true,
master_list => ['master1.com',
# Alternate ports may be configured using
# a pair of: [hostname, port_number]
['master2.com', 9140]],
puppetdb_list => ['puppetdb1','puppetdb2'],
postgres_host_list => ['postgres01','postgres02'],
}
This is required for collection of postgres metrics.
class { 'puppet_metrics_dashboard::profile::postgres':
grafana_host => 'postgres01',
}
grafana_host
is optional. If you do not specify it, the class will look for a node with the puppet_metrics_dashboard
class applied in PuppetDB and use the certname
of the first host returned. If the PuppetDB lookup fails and you do not specify grafana_host
then the class outputs a warning.
class { 'puppet_metrics_dashboard':
add_dashboard_examples => true,
consume_graphite => true,
influxdb_database_name => ["graphite"],
master_list => ["master01.example.com","master02.org"],
}
- This method requires enabling on the master side as described here. The hostname(s) that you use in
master_list
should match the value(s) that you used formetrics_server_id
in thepuppet_enterprise::profile::master
class.
class { 'puppet_metrics_dashboard':
add_dashboard_examples => true,
influxdb_database_name => ['puppet_metrics','telegraf','graphite'],
consume_graphite => true,
configure_telegraf => true,
enable_telegraf => true,
}
class { 'puppet_metrics_dashboard':
use_dashboard_ssl => true,
}
By default, this will create a set of certificates in /etc/grafana
that are based on Puppet's agent certificates. You can also specify a different location by passing the variables below, but managing the certificate content or supplying your own certificates isn't yet supported.
dashboard_cert_file
dashboard_cert_key
Note: Enabling SSL on Grafana will not allow for running on privileged ports such as 443
. To enable this capability you can use the suggestions documented in this Grafana documentation
Configure the passwords for the InfluxDB and Grafana administrator users and enable additional TICK Stack components.
class { 'puppet_metrics_dashboard':
influx_db_password => 'secret',
grafana_password => 'secret',
grafana_http_port => 8080,
grafana_version => '4.5.2',
enable_chronograf => true,
enable_kapacitor => true,
}
Note This section is no longer maintained. Please see the REFERENCE.MD file for current listings.
When installing InfluxDB on Centos/RedHat 6 or 7 you may encounter the following error message. This is due to a mismatch in the ciphers available on the local OS and on the InfluxDB repo.
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install telegraf' returned 1: Error: Cannot retrieve repository metadata (repomd.xml) for repository: influxdb. Please verify its path and try again
Error: /Stage[main]/Pe_metrics_dashboard::Telegraf/Package[telegraf]/ensure: change from purged to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install telegraf' returned 1: Error: Cannot retrieve repository metadata (repomd.xml) for repository: influxdb. Please verify its path and try again
To recify the issue, please update nss
and curl
on the affected system.
yum install curl nss --disablerepo influxdb
Please see CONTRIBUTING.md
puppet_metrics_dashboard's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.