Merge pull request #54 from lagooj/feat/manage_env_vars_systemd
Manage env vars
This commit is contained in:
commit
f51bee4da0
@ -197,6 +197,10 @@ prometheus:
|
|||||||
source: https://github.com/wrouesnel/postgres_exporter/releases/download/v0.8.0/postgres_exporter_v0.8.0_linux-amd64.tar.gz
|
source: https://github.com/wrouesnel/postgres_exporter/releases/download/v0.8.0/postgres_exporter_v0.8.0_linux-amd64.tar.gz
|
||||||
skip_verify: true
|
skip_verify: true
|
||||||
|
|
||||||
|
mysqld_exporter:
|
||||||
|
service:
|
||||||
|
env:
|
||||||
|
- 'DATA_SOURCE_NAME=foo:bar@/'
|
||||||
linux:
|
linux:
|
||||||
# 'Alternatives system' priority: zero disables (default)
|
# 'Alternatives system' priority: zero disables (default)
|
||||||
# yamllint disable-line rule:braces
|
# yamllint disable-line rule:braces
|
||||||
|
@ -126,6 +126,7 @@ prometheus-archive-install-{{ name }}-managed-service:
|
|||||||
name: {{ name }}
|
name: {{ name }}
|
||||||
user: {{ name }}
|
user: {{ name }}
|
||||||
group: {{ name }}
|
group: {{ name }}
|
||||||
|
env: {{ p.pkg.component[name]['service'].get('env', [])|tojson }}
|
||||||
workdir: {{ p.dir.var }}/{{ name }}
|
workdir: {{ p.dir.var }}/{{ name }}
|
||||||
stop: ''
|
stop: ''
|
||||||
{%- if name in ('node_exporter', 'consul_exporter') or 'config_file' not in p.pkg.component[name] %}
|
{%- if name in ('node_exporter', 'consul_exporter') or 'config_file' not in p.pkg.component[name] %}
|
||||||
|
@ -8,6 +8,9 @@ After=
|
|||||||
Documentation=https://github.com/saltstack-formulas/prometheus-formula
|
Documentation=https://github.com/saltstack-formulas/prometheus-formula
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
{% for var in env %}
|
||||||
|
Environment={{ var }}
|
||||||
|
{% endfor %}
|
||||||
User={{ user }}
|
User={{ user }}
|
||||||
Group={{ group }}
|
Group={{ group }}
|
||||||
WorkingDirectory={{ workdir }}
|
WorkingDirectory={{ workdir }}
|
||||||
|
@ -10,12 +10,14 @@ control 'prometheus components' do
|
|||||||
node_exporter_service = 'prometheus-node-exporter'
|
node_exporter_service = 'prometheus-node-exporter'
|
||||||
php_fpm_exporter_service = 'php-fpm_exporter'
|
php_fpm_exporter_service = 'php-fpm_exporter'
|
||||||
postgres_exporter_service = 'prometheus-postgres-exporter'
|
postgres_exporter_service = 'prometheus-postgres-exporter'
|
||||||
|
mysqld_exporter_service = 'prometheus-mysqld-exporter'
|
||||||
else
|
else
|
||||||
service_dir = '/usr/lib/systemd/system'
|
service_dir = '/usr/lib/systemd/system'
|
||||||
alert_manager_service = 'alertmanager'
|
alert_manager_service = 'alertmanager'
|
||||||
node_exporter_service = 'node_exporter'
|
node_exporter_service = 'node_exporter'
|
||||||
php_fpm_exporter_service = 'php-fpm_exporter'
|
php_fpm_exporter_service = 'php-fpm_exporter'
|
||||||
postgres_exporter_service = 'postgres_exporter'
|
postgres_exporter_service = 'postgres_exporter'
|
||||||
|
mysqld_exporter_service = 'mysqld_exporter'
|
||||||
end
|
end
|
||||||
|
|
||||||
# describe package('cron') do
|
# describe package('cron') do
|
||||||
@ -45,6 +47,12 @@ control 'prometheus components' do
|
|||||||
describe user('postgres_exporter') do
|
describe user('postgres_exporter') do
|
||||||
it { should exist }
|
it { should exist }
|
||||||
end
|
end
|
||||||
|
describe group('mysqld_exporter') do
|
||||||
|
it { should exist }
|
||||||
|
end
|
||||||
|
describe user('mysqld_exporter') do
|
||||||
|
it { should exist }
|
||||||
|
end
|
||||||
describe directory('/var/lib/prometheus') do
|
describe directory('/var/lib/prometheus') do
|
||||||
it { should exist }
|
it { should exist }
|
||||||
end
|
end
|
||||||
@ -131,6 +139,25 @@ control 'prometheus components' do
|
|||||||
its('group') { should eq 'root' }
|
its('group') { should eq 'root' }
|
||||||
its('mode') { should cmp '0644' }
|
its('mode') { should cmp '0644' }
|
||||||
end
|
end
|
||||||
|
describe directory('/opt/prometheus/mysqld_exporter-v0.12.1') do
|
||||||
|
it { should exist }
|
||||||
|
its('group') { should eq 'root' }
|
||||||
|
end
|
||||||
|
describe file('/opt/prometheus/mysqld_exporter-v0.12.1/mysqld_exporter') do
|
||||||
|
it { should exist }
|
||||||
|
its('group') { should eq 'root' }
|
||||||
|
end
|
||||||
|
describe directory('/var/lib/prometheus/mysqld_exporter') do
|
||||||
|
it { should exist }
|
||||||
|
its('group') { should eq 'mysqld_exporter' }
|
||||||
|
end
|
||||||
|
describe file("#{service_dir}/#{mysqld_exporter_service}.service") do
|
||||||
|
it { should exist }
|
||||||
|
its('content') { should match 'Environment=DATA_SOURCE_NAME=foo:bar@/' }
|
||||||
|
its('group') { should eq 'root' }
|
||||||
|
its('mode') { should cmp '0644' }
|
||||||
|
end
|
||||||
|
|
||||||
describe file('/usr/local/sbin/alertmanager') do
|
describe file('/usr/local/sbin/alertmanager') do
|
||||||
it { should exist }
|
it { should exist }
|
||||||
its('group') { should eq 'root' }
|
its('group') { should eq 'root' }
|
||||||
|
@ -17,6 +17,7 @@ prometheus:
|
|||||||
- consul_exporter
|
- consul_exporter
|
||||||
- php-fpm_exporter
|
- php-fpm_exporter
|
||||||
- postgres_exporter
|
- postgres_exporter
|
||||||
|
- mysqld_exporter
|
||||||
# - memcached_exporter # not in upstream repo, only archive
|
# - memcached_exporter # not in upstream repo, only archive
|
||||||
|
|
||||||
exporters:
|
exporters:
|
||||||
@ -100,6 +101,13 @@ prometheus:
|
|||||||
# This is to test that any fancy name we use, will work in archive mode
|
# This is to test that any fancy name we use, will work in archive mode
|
||||||
name: my-fancy-consul-exporter-service
|
name: my-fancy-consul-exporter-service
|
||||||
|
|
||||||
|
mysqld_exporter:
|
||||||
|
service:
|
||||||
|
args:
|
||||||
|
web.listen-address: 0.0.0.0:9192
|
||||||
|
env:
|
||||||
|
- 'DATA_SOURCE_NAME=foo:bar@/'
|
||||||
|
|
||||||
prometheus:
|
prometheus:
|
||||||
service:
|
service:
|
||||||
args:
|
args:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user