Ridiculous, but collectd exec plugins cannot accept arguments.

So we have to template our script and "hardcode" the process we want to
monitor there.
This commit is contained in:
Ralph Bean 2014-04-30 19:25:20 +00:00
parent b5f6044085
commit 21f6600811
4 changed files with 7 additions and 5 deletions

View file

@ -63,6 +63,8 @@
roles: roles:
- fedmsg/hub - fedmsg/hub
- notifs/backend - notifs/backend
- role: collectd/fedmsg-service
process: fedmsg-hub
vars_files: vars_files:
- /srv/web/infra/ansible/vars/global.yml - /srv/web/infra/ansible/vars/global.yml

View file

@ -2,13 +2,13 @@
- name: Copy in /usr/local/bin/fedmsg-service-collectd - name: Copy in /usr/local/bin/fedmsg-service-collectd
copy: > copy: >
src=fedmsg-service-collectd.py template=fedmsg-service-collectd.py
dest=/usr/local/bin/fedmsg-service-collectd dest="/usr/local/bin/fedmsg-service-collectd-{{ process }}"
mode=0755 mode=0755
notify: restart collectd notify: restart collectd
- name: Copy in /etc/collectd.d/fedmsg-service.conf - name: Copy in /etc/collectd.d/fedmsg-service.conf
template: > template: >
src=fedmsg-service.conf src=fedmsg-service.conf
dest=/etc/collectd.d/{{ process }}-conf dest=/etc/collectd.d/{{ process }}.conf
notify: restart collectd notify: restart collectd

View file

@ -43,7 +43,7 @@ def print_producer(service, producer):
if __name__ == '__main__': if __name__ == '__main__':
service, = sys.argv[-1:] service = "{{ process }}"
fname = '/var/run/fedmsg/monitoring-%s.socket' % service fname = '/var/run/fedmsg/monitoring-%s.socket' % service
if not os.path.exists(fname): if not os.path.exists(fname):

View file

@ -1,4 +1,4 @@
LoadPlugin exec LoadPlugin exec
<Plugin exec> <Plugin exec>
Exec "{{ process }}" "/usr/local/bin/fedmsg-service-collectd {{ process }}" Exec "fedmsg" "/usr/local/bin/fedmsg-service-collectd-{{ process }}"
</Plugin> </Plugin>