You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 1, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+20-20Lines changed: 20 additions & 20 deletions
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
-[Determining where Telegraf runs](#determining-where-telegraf-runs)
7
7
-[Requirements](#requirements)
8
8
-[Usage](#usage)
9
-
-[Configure a Monolithic Master and a Dashboard node](#configure-a-monolithic-master-and-a-dashboard-node)
9
+
-[Configure a Standard Primary Server and a Dashboard node](#configure-a-standard-primary-server-and-a-dashboard-node)
10
10
-[Manual configuration of a complex Puppet Infrastructure](#manual-configuration-of-a-complex-puppet-infrastructure)
11
11
-[Configure Graphite](#configure-graphite)
12
12
-[Configure Telegraf, Graphite, and Archive](#configure-telegraf-graphite-and-archive)
@@ -25,7 +25,7 @@
25
25
26
26
This module is used to configure Telegraf, InfluxDB, and Grafana, and collect, store, and display metrics collected from Puppet services.
27
27
By default, those components are installed on a separate Dashboard node by applying the base class of this module to that node.
28
-
That class will automatically query PuppetDB for Puppet Infrastructure nodes (Masters, PuppetDB hosts, PostgreSQL hosts) or you can specify them via associated class parameters.
28
+
That class will automatically query PuppetDB for Puppet Infrastructure nodes (Primary server, Compilers, PuppetDB hosts, PostgreSQL hosts) or you can specify them via associated class parameters.
29
29
It is not recommended to apply the base class of this module to one of your Puppet Infrastructure nodes.
30
30
31
31
You have the option to use the [included defined types](#profile-defined-types) to configure Telegraf to run on each Puppet Infrastructure node,
@@ -42,11 +42,11 @@ You have the option of collecting metrics using any or all of the following meth
42
42
## Setup
43
43
44
44
> In PuppetDB 6.9.1 & 5.2.13 and newer, the `/metrics/v1` endpoints are disabled by default and access to the `/metrics/v2` endpoints are restricted to localhost only in response to [CVE-2020-7943](https://nvd.nist.gov/vuln/detail/CVE-2020-7943).
45
-
Starting with version 2.3.0 of this module, PuppetDB metrics will not be setup by the main class if you are on the versions above or higher unless the main class is applied to the master. To collect PuppetDB metrics in other scenarios, you should use the `puppet_metrics_dashboard::profile::puppetdb` class applied to any PuppetDB nodes with the option `enable_client_cert => false` (the request will be to localhost and doen't require SSL)
45
+
Starting with version 2.3.0 of this module, PuppetDB metrics will not be setup by the main class if you are on the versions above or higher unless the main class is applied to the Primary Server. To collect PuppetDB metrics in other scenarios, you should use the `puppet_metrics_dashboard::profile::puppetdb` class applied to any PuppetDB nodes with the option `enable_client_cert => false` (the request will be to localhost and doen't require SSL)
46
46
47
47
### Upgrade notes
48
48
49
-
* Version 2 and up now requires the `toml-rb` gem installed on the Master and any/all Compilers.
49
+
* Version 2 and up now requires the `toml-rb` gem installed on the Primary Server and any/all Compilers.
50
50
* The `puppet_metrics_dashboard::profile::postgres` class is deprecated in favor of the `puppet_metrics_dashboard::profile::master::postgres_access` class.
51
51
* Parameters `telegraf_agent_interval` and `http_response_timeout` were previously Integers but are now Strings. The value should match a time interval, such as `5s`, `10m`, or `1h`.
52
52
*`influxdb_urls` was previously a String, but is now an Array.
@@ -67,12 +67,12 @@ Apply the `puppet_metrics_dashboard` class to the Dashboard node to configure In
67
67
68
68
### Requirements
69
69
70
-
The [toml-rb](https://github.com/emancu/toml-rb) gem is a requirement of the `puppet-telegraf` module, and needs to be installed in Puppet Server on the Master and any/all Compilers.
70
+
The [toml-rb](https://github.com/emancu/toml-rb) gem is a requirement of the `puppet-telegraf` module, and needs to be installed in Puppet Server on the Primary Server and any/all Compilers.
71
71
72
-
Apply the following class to the Master and any/all Compilers to install the gem.
72
+
Apply the following class to the Primary Server and any/all Compilers to install the gem.
73
73
74
74
```puppet
75
-
node 'master.example.com' {
75
+
node 'primary.example.com' {
76
76
include puppet_metrics_dashboard::profile::master::install
77
77
}
78
78
node 'compiler.example.com' {
@@ -94,10 +94,10 @@ If you are configuring the Dashboard node via a `puppet apply` workflow, you wil
94
94
95
95
## Usage
96
96
97
-
### Configure a Monolithic Master and a Dashboard node
97
+
### Configure a Standard Primary Server and a Dashboard node
98
98
99
99
```puppet
100
-
node 'master.example.com' {
100
+
node 'primary.example.com' {
101
101
include puppet_metrics_dashboard::profile::master::install
102
102
include puppet_metrics_dashboard::profile::master::postgres_access
This will configure Telegraf, InfluxDB, and Grafana on the Dashboard node, and allow Telegraf on that host to access PostgreSQL on the Monolithic Master.
113
+
This will configure Telegraf, InfluxDB, and Grafana on the Dashboard node, and allow Telegraf on that host to access PostgreSQL on the Standard Primary Server.
114
114
115
115
Note that the `add_dashboard_examples` parameter enforces state on the example dashboards.
116
116
Setting the `overwrite_dashboards` parameter to `true` disables overwriting your modifications (if any) to the example dashboards.
117
117
118
118
### Manual configuration of a complex Puppet Infrastructure
119
119
120
120
```puppet
121
-
node 'master.example.com' {
121
+
node 'primary.example.com' {
122
122
include puppet_metrics_dashboard::profile::master::install
* This method requires enabling Graphite on the Masters, as described [here](https://puppet.com/docs/pe/latest/puppet_server_metrics/getting_started_with_graphite.html#enabling-puppet-server-graphite-support).
203
+
* This method requires enabling Graphite on the Primary Server and Compilers, as described [here](https://puppet.com/docs/pe/latest/puppet_server_metrics/getting_started_with_graphite.html#enabling-puppet-server-graphite-support).
204
204
The hostnames that you use in `master_list` must match the value(s) that you used for `metrics_server_id` in the `puppet_enterprise::profile::master` class.
205
205
You must use hostnames rather than fully-qualified domain names (no dots) both in this class and in the `puppet_enterprise::profile::master` class.
206
206
@@ -241,10 +241,10 @@ The `--pattern` flag accepts a Ruby glob argument, which the script will interna
241
241
242
242
### Allow Telegraf to access PE-PostgreSQL
243
243
244
-
The following class is required to be applied to the Master (or the PE Database node if using external PostgreSQL) for collection of PostgreSQL metrics via Telegraf.
244
+
The following class is required to be applied to the Primary Server (or the PE Database node if using external PostgreSQL) for collection of PostgreSQL metrics via Telegraf.
245
245
246
246
```puppet
247
-
node 'master.example.com' {
247
+
node 'primary.example.com' {
248
248
class { 'puppet_metrics_dashboard::profile::master::postgres_access':
249
249
telegraf_host => 'grafana-server.example.com',
250
250
}
@@ -258,7 +258,7 @@ If the PuppetDB lookup fails to find a Dashboard node, and you do not specify `t
258
258
Refer to [Issue 72](https://github.com/puppetlabs/puppet_metrics_dashboard/issues/72) if the above generates the following error:
259
259
260
260
```
261
-
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, 'versioncmp' parameter 'a' expects a String value, got Undef (file: /opt/puppetlabs/puppet/modules/pe_postgresql/manifests/server/role.pp, line: 66, column: 6) (file: /etc/puppetlabs/code/environments/production/modules/puppet_metrics_dashboard/manifests/profile/master/postgres_access.pp, line: 42) on node master.example.com
261
+
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, 'versioncmp' parameter 'a' expects a String value, got Undef (file: /opt/puppetlabs/puppet/modules/pe_postgresql/manifests/server/role.pp, line: 66, column: 6) (file: /etc/puppetlabs/code/environments/production/modules/puppet_metrics_dashboard/manifests/profile/master/postgres_access.pp, line: 42) on node primary.example.com
262
262
```
263
263
264
264
A workaround for that error is to apply the `puppet_metrics_dashboard::profile::master::postgres_access` class to the `PE Database` Node Group in the Console, if using Puppet Enterprise.
0 commit comments