Puppet Class: profile::hadoop::monitoring::nodemanager

Defined in:
modules/profile/manifests/hadoop/monitoring/nodemanager.pp

Overview

Class: profile::hadoop::monitoring::nodemanager

Sets up Prometheus based monitoring for the Hadoop NodeManager. This profile takes care of installing the Prometheus exporter and setting up its configuration file, but it does not instruct the target JVM to use it.

Parameters:

  • prometheus_nodes (Any) (defaults to: hiera('prometheus_nodes'))
  • hadoop_cluster_name (Any) (defaults to: hiera('profile::hadoop::common::hadoop_cluster_name'))


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'modules/profile/manifests/hadoop/monitoring/nodemanager.pp', line 7

class profile::hadoop::monitoring::nodemanager(
    $prometheus_nodes        = hiera('prometheus_nodes'),
    $hadoop_cluster_name     = hiera('profile::hadoop::common::hadoop_cluster_name'),
) {
    $jmx_exporter_config_file = '/etc/prometheus/yarn_nodemanager_jmx_exporter.yaml'
    $prometheus_jmx_exporter_nodemanager_port = 8141
    profile::prometheus::jmx_exporter { "yarn_nodemanager_${::hostname}":
        hostname         => $::hostname,
        port             => $prometheus_jmx_exporter_nodemanager_port,
        prometheus_nodes => $prometheus_nodes,
        # Label these metrics with the hadoop cluster name.
        labels           => { 'hadoop_cluster' => $hadoop_cluster_name },
        config_file      => $jmx_exporter_config_file,
        config_dir       => '/etc/prometheus',
        source           => 'puppet:///modules/profile/hadoop/prometheus_yarn_nodemanager_jmx_exporter.yaml',
    }
}