OP#189 add the services
This commit is contained in:
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -6,6 +6,7 @@
|
||||
"GOMAXPROCS",
|
||||
"Iseconds",
|
||||
"nullglob",
|
||||
"oneshot",
|
||||
"PGDATABASE",
|
||||
"PGHOST",
|
||||
"PGPASSWORD",
|
||||
@@ -13,7 +14,9 @@
|
||||
"PGUSER",
|
||||
"pipefail",
|
||||
"procs",
|
||||
"prun",
|
||||
"readaccess",
|
||||
"refreshonly",
|
||||
"reqpackage",
|
||||
"rpms",
|
||||
"shopt",
|
||||
|
||||
@@ -6,4 +6,10 @@
|
||||
class prometheus_cd::main::config (
|
||||
) inherits prometheus_cd::params {
|
||||
include prometheus_cd::main::service
|
||||
|
||||
exec { 'systemd-daemon-reload':
|
||||
command => '/bin/systemctl daemon-reload',
|
||||
path => ['/bin', '/usr/bin'],
|
||||
refreshonly => true,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,18 +66,44 @@ class prometheus_cd::main::files (
|
||||
seltype => usr_,
|
||||
seluser => unconfined_u,
|
||||
content => template('prometheus_cd/prune.env.erb'),
|
||||
# notify Service ToDo,
|
||||
}
|
||||
file { $ps_pruning_svc_file:
|
||||
ensure => file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => systemd_unit_file_t,
|
||||
seluser => unconfined_u,
|
||||
content => template('prometheus_cd/prometheus-prune-service.erb'),
|
||||
notify => Exec['systemd-daemon-reload'],
|
||||
}
|
||||
file { $ps_pruning_timer_file:
|
||||
ensure => file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => systemd_unit_file_t,
|
||||
seluser => unconfined_u,
|
||||
content => template('prometheus_cd/prometheus-prune-timer.erb'),
|
||||
notify => Exec['systemd-daemon-reload'],
|
||||
}
|
||||
}
|
||||
|
||||
if $ps_enable_pruning == false {
|
||||
file { $ps_pruning_file:
|
||||
ensure => absent,
|
||||
# notify Service ToDo,
|
||||
notify => Exec['systemd-daemon-reload'],
|
||||
}
|
||||
file { $ps_env_file:
|
||||
ensure => absent,
|
||||
# notify Service ToDo,
|
||||
}
|
||||
file { $ps_pruning_svc_file:
|
||||
ensure => absent,
|
||||
notify => Exec['systemd-daemon-reload'],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,4 +23,28 @@ class prometheus_cd::main::service (
|
||||
enable => true,
|
||||
}
|
||||
}
|
||||
if $ps_enable_pruning == true {
|
||||
service { $ps_prune_service:
|
||||
ensure => running,
|
||||
hasstatus => true,
|
||||
hasrestart => true,
|
||||
enable => true,
|
||||
}
|
||||
service { $ps_prune_timer:
|
||||
ensure => running,
|
||||
hasstatus => true,
|
||||
hasrestart => true,
|
||||
enable => true,
|
||||
}
|
||||
}
|
||||
if $ps_enable_pruning == false {
|
||||
service { $ps_prune_service:
|
||||
ensure => stopped,
|
||||
enable => true,
|
||||
}
|
||||
service { $ps_prune_timer:
|
||||
ensure => stopped,
|
||||
enable => true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,15 +109,20 @@ class prometheus_cd::params (
|
||||
# dirs
|
||||
$ps_main_dir = '/etc/prometheus'
|
||||
$ps_system_file_dir = '/etc/systemd/system/prometheus.service.d'
|
||||
$ps_system_dir = '/etc/systemd/system/'
|
||||
|
||||
# files
|
||||
$ps_main_file = "${ps_main_dir}/prometheus.yml"
|
||||
$ps_web_config_file = "${ps_main_dir}/web.yml"
|
||||
$ps_system_service_file = "${ps_system_file_dir}/override.conf"
|
||||
$ps_pruning_svc_file = "${ps_system_dir}/prometheus-prune.service"
|
||||
$ps_pruning_timer_file = "${ps_system_dir}/prometheus-prune.timer"
|
||||
|
||||
# services
|
||||
$ps_prom_service = 'prometheus'
|
||||
$ps_ne_service = 'node_exporter'
|
||||
$ps_prune_service = 'prometheus-prune.service'
|
||||
$ps_prune_timer = 'prometheus-prune.timer'
|
||||
|
||||
# includes must be last
|
||||
include prometheus_cd::main::config
|
||||
|
||||
10
templates/prometheus-orune-timer.erb
Normal file
10
templates/prometheus-orune-timer.erb
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Run Prometheus TSDB prune script every 6 hours
|
||||
|
||||
[Timer]
|
||||
OnBootSec=10min
|
||||
OnUnitActiveSec=6h
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
13
templates/prometheus-prune-service.erb
Normal file
13
templates/prometheus-prune-service.erb
Normal file
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Prometheus TSDB prune service
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
User=prometheus
|
||||
Group=prometheus
|
||||
EnvironmentFile=<%= @ps_env_file %>
|
||||
ExecStart=<%= @ps_pruning_file %>
|
||||
Nice=10
|
||||
IOWeight=80
|
||||
Reference in New Issue
Block a user