puppet: Add prometheus node exporter.

This commit is contained in:
Alex Vandiver
2020-07-23 13:29:00 -07:00
committed by Alex Vandiver
parent 7b4039ade6
commit 19fb58e845
4 changed files with 60 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
[program:prometheus_node_exporter]
command=/usr/local/bin/node_exporter
priority=10
autostart=true
autorestart=true
user=prometheus
redirect_stderr=true
stdout_logfile=/var/log/node_exporter.log

View File

@@ -4,6 +4,7 @@ class zulip_ops::profile::base {
include zulip_ops::ksplice_uptrack
include zulip_ops::firewall
include zulip_ops::teleport::node
include zulip_ops::prometheus::node
zulip_ops::firewall_allow { 'ssh': order => '10'}

View File

@@ -0,0 +1,16 @@
# @summary Configures a node for monitoring with Prometheus
#
class zulip_ops::prometheus::base {
group { 'prometheus':
ensure => present,
gid => '1060',
}
user { 'prometheus':
ensure => present,
uid => '1060',
gid => '1060',
shell => '/bin/bash',
home => '/nonexistent',
managehome => false,
}
}

View File

@@ -0,0 +1,35 @@
# @summary Configures a node for monitoring with Prometheus
#
class zulip_ops::prometheus::node {
include zulip_ops::prometheus::base
include zulip::supervisor
$version = '1.1.2'
zulip::sha256_tarball_to { 'node_exporter':
url => "https://github.com/prometheus/node_exporter/releases/download/v${version}/node_exporter-${version}.linux-amd64.tar.gz",
sha256 => '8c1f6a317457a658e0ae68ad710f6b4098db2cad10204649b51e3c043aa3e70d',
install => {
"node_exporter-${version}.linux-amd64/node_exporter" => "/usr/local/bin/node_exporter-${version}",
},
}
file { '/usr/local/bin/node_exporter':
ensure => 'link',
target => "/usr/local/bin/node_exporter-${version}",
require => Zulip::Sha256_tarball_to['node_exporter'],
}
zulip_ops::firewall_allow { 'node_exporter': port => '9100' }
file { '/etc/supervisor/conf.d/prometheus_node_exporter.conf':
ensure => file,
require => [
User[prometheus],
Package[supervisor],
File['/usr/local/bin/node_exporter'],
],
owner => 'root',
group => 'root',
mode => '0644',
source => 'puppet:///modules/zulip_ops/supervisor/conf.d/prometheus_node_exporter.conf',
notify => Service[supervisor],
}
}