mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 14:35:27 +00:00
puppet: Add prometheus server.
This commit is contained in:
committed by
Alex Vandiver
parent
19fb58e845
commit
459f37f041
23
puppet/zulip_ops/files/prometheus/prometheus.yaml
Normal file
23
puppet/zulip_ops/files/prometheus/prometheus.yaml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
global:
|
||||||
|
# Set the scrape interval to every 15 seconds. Default is every 1 minute.
|
||||||
|
scrape_interval: 15s
|
||||||
|
# Evaluate rules every 15 seconds. The default is every 1 minute.
|
||||||
|
evaluation_interval: 15s
|
||||||
|
|
||||||
|
scrape_configs:
|
||||||
|
# Self-monitoring
|
||||||
|
- job_name: "prometheus"
|
||||||
|
static_configs:
|
||||||
|
- targets: ["localhost:9090"]
|
||||||
|
|
||||||
|
# Fetch from node_exporter on all of the EC2 hosts
|
||||||
|
- job_name: "node"
|
||||||
|
ec2_sd_configs:
|
||||||
|
- region: us-east-1
|
||||||
|
port: 9100
|
||||||
|
refresh_interval: 1m
|
||||||
|
relabel_configs:
|
||||||
|
- source_labels: ["__meta_ec2_tag_Name"]
|
||||||
|
target_label: "instance"
|
||||||
|
- source_labels: ["__meta_ec2_tag_role"]
|
||||||
|
target_label: "role"
|
||||||
9
puppet/zulip_ops/files/supervisor/conf.d/prometheus.conf
Normal file
9
puppet/zulip_ops/files/supervisor/conf.d/prometheus.conf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[program:prometheus]
|
||||||
|
command=/srv/prometheus/prometheus --storage.tsdb.path="/var/lib/prometheus" --config.file="/etc/prometheus/prometheus.yaml" --web.listen-address="127.0.0.1:9090"
|
||||||
|
directory=/srv/prometheus
|
||||||
|
priority=10
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
user=prometheus
|
||||||
|
redirect_stderr=true
|
||||||
|
stdout_logfile=/var/log/prometheus.log
|
||||||
62
puppet/zulip_ops/manifests/profile/prometheus_server.pp
Normal file
62
puppet/zulip_ops/manifests/profile/prometheus_server.pp
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# @summary Gathers Prometheus statistics from all nodes.
|
||||||
|
#
|
||||||
|
# Only one instance is necessary.
|
||||||
|
#
|
||||||
|
class zulip_ops::profile::prometheus_server {
|
||||||
|
include zulip_ops::profile::base
|
||||||
|
include zulip_ops::prometheus::base
|
||||||
|
|
||||||
|
$version = '2.27.1'
|
||||||
|
zulip::sha256_tarball_to { 'prometheus':
|
||||||
|
url => "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-${version}.linux-amd64.tar.gz",
|
||||||
|
sha256 => 'ce637d0167d5e6d2561f3bd37e1c58fe8601e13e4e1ea745653c068f6e1317ae',
|
||||||
|
install => {
|
||||||
|
"prometheus-${version}.linux-amd64/" => "/srv/prometheus-${version}/",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
file { '/srv/prometheus':
|
||||||
|
ensure => 'link',
|
||||||
|
target => "/srv/prometheus-${version}/",
|
||||||
|
require => Zulip::Sha256_tarball_to['prometheus'],
|
||||||
|
}
|
||||||
|
file { '/usr/local/bin/promtool':
|
||||||
|
ensure => 'link',
|
||||||
|
target => '/srv/prometheus/promtool',
|
||||||
|
require => File['/srv/prometheus'],
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/var/lib/prometheus':
|
||||||
|
ensure => directory,
|
||||||
|
owner => 'prometheus',
|
||||||
|
group => 'prometheus',
|
||||||
|
require => [ User[prometheus], Group[prometheus] ],
|
||||||
|
}
|
||||||
|
file { '/etc/supervisor/conf.d/prometheus.conf':
|
||||||
|
ensure => file,
|
||||||
|
require => [
|
||||||
|
Package[supervisor],
|
||||||
|
File['/srv/prometheus'],
|
||||||
|
File['/var/lib/prometheus'],
|
||||||
|
],
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0644',
|
||||||
|
source => 'puppet:///modules/zulip_ops/supervisor/conf.d/prometheus.conf',
|
||||||
|
notify => Service[supervisor],
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/etc/prometheus':
|
||||||
|
ensure => directory,
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0644',
|
||||||
|
}
|
||||||
|
file { '/etc/prometheus/prometheus.yaml':
|
||||||
|
ensure => file,
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0644',
|
||||||
|
source => 'puppet:///modules/zulip_ops/prometheus/prometheus.yaml',
|
||||||
|
notify => Service[supervisor],
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user