mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 21:13:36 +00:00
puppet: Add prometheus node exporter.
This commit is contained in:
committed by
Alex Vandiver
parent
7b4039ade6
commit
19fb58e845
@@ -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
|
||||
@@ -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'}
|
||||
|
||||
|
||||
16
puppet/zulip_ops/manifests/prometheus/base.pp
Normal file
16
puppet/zulip_ops/manifests/prometheus/base.pp
Normal 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,
|
||||
}
|
||||
}
|
||||
35
puppet/zulip_ops/manifests/prometheus/node.pp
Normal file
35
puppet/zulip_ops/manifests/prometheus/node.pp
Normal 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],
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user