From bba3f0ebe1cedd0bc61f3e3f0580d9842e1e31c0 Mon Sep 17 00:00:00 2001 From: Christian Boltz Date: Dec 04 2017 19:03:21 +0000 Subject: add profile.monitoring to salt the monitoring This will salt /etc/nrpe.d/* and check_zypper-ignores.txt via the (to-be-added) 'monitoring:' pillar, see pillar.example for details. --- diff --git a/salt/profile/monitoring/files/check_zypper-ignores.txt b/salt/profile/monitoring/files/check_zypper-ignores.txt new file mode 100644 index 0000000..e28116b --- /dev/null +++ b/salt/profile/monitoring/files/check_zypper-ignores.txt @@ -0,0 +1,10 @@ +# managed by salt - do not edit! +{%- for package in salt['pillar.get']('monitoring:check_zypper:local_package', {}) %} +local_package:{{ package }} +{%- endfor %} +{%- for package in salt['pillar.get']('monitoring:check_zypper:patch', {}) %} +patch:{{ package }} +{%- endfor %} +{%- for package in salt['pillar.get']('monitoring:check_zypper:whitelist', {}) %} +whitelist:{{ package }} +{%- endfor %} diff --git a/salt/profile/monitoring/init.sls b/salt/profile/monitoring/init.sls new file mode 100644 index 0000000..0323bca --- /dev/null +++ b/salt/profile/monitoring/init.sls @@ -0,0 +1,26 @@ +{% for dir in ['/etc/nrpe.d', '/etc/nagios'] %} +{{ dir }}: + file.directory: + - user: root + - group: root + - mode: 755 +{% endfor %} + +{% set checks = salt['pillar.get']('monitoring:checks', {}) %} +{% for check, cmd in checks.items() %} +/etc/nrpe.d/{{ check }}.cfg: + file.managed: + - contents: + - "command[{{ check }}]={{ cmd }}" + - user: root + - group: root + - mode: 444 +{% endfor %} + +/etc/nagios/check_zypper-ignores.txt: + file.managed: + - source: salt://profile/monitoring/files/check_zypper-ignores.txt + - template: jinja + - user: root + - group: root + - mode: 444 diff --git a/salt/profile/monitoring/pillar.example b/salt/profile/monitoring/pillar.example new file mode 100644 index 0000000..bd8becb --- /dev/null +++ b/salt/profile/monitoring/pillar.example @@ -0,0 +1,13 @@ +monitoring: + checks: + check_memcached_bytes: '/usr/lib/nagios/plugins/check_memcached.pl -H 127.0.0.1 -p 11211 -a -f --bytes=100000000,200000000' + check_memcached_total_items: '/usr/lib/nagios/plugins/check_memcached.pl -H 127.0.0.1 -p 11211 -a -f --total_items=ZERO:OK' + check_zypper: '/usr/lib/nagios/plugins/check_zypper -vrst 120 -ui /etc/nagios/check_zypper-ignores.txt' + check_zypper: + whitelist: + - nothing + - really_nothing + patch: + - no_patch + local_package: + - remote_package diff --git a/salt/role/base.sls b/salt/role/base.sls index 84138f7..a7665fc 100644 --- a/salt/role/base.sls +++ b/salt/role/base.sls @@ -3,6 +3,7 @@ include: - profile.apparmor - profile.ldap.client - profile.log + - profile.monitoring - profile.regional - profile.salt.minion - profile.zypper