Oops. I didn't know this module existed. I am maintaining a set of scripts 
that was written before 2.0 and this module were released.

On Tuesday, November 21, 2017 at 1:45:25 AM UTC+11, Shanker Balan wrote:
>
> Hi Behrang, 
>
> Comments inline... 
>
> > On 20-Nov-2017, at 10:19 AM, Behrang Saeedzadeh <[email protected] 
> <javascript:>> wrote: 
> > 
> > Sensu is monitoring services like Nagios and the things it should 
> monitor can be configured with JSON check definition files. 
> > 
> > A JSON check definition file can have one or more check definitions. 
> Here is a simplified example: 
> > 
> > { 
> >   "checks": { 
> >     "cron": { 
> >       "command": "check-process.rb -p cron",       
> >       "interval": 60 
> >     } 
> >   } 
> > } 
> > 
> > Let's say I have defined the following template for generating check 
> files: 
> > 
> > { 
> >   "checks": { 
> >     {% for check_def in item.check_defs %} 
> >         "{{ check_def.name }}": { 
> >               "command": "{{ check_def.command }}", 
> >           "interval": {{ check_def.check_interval }} 
> >         }{{ ',' if not loop.last else '' }} 
> >     {% endfor %} 
> >   } 
> > } 
>
> <snipped a lot> 
>
> I am using Ansible to manage checks.json myself but am doing so with the 
> Sensu module from 
> http://docs.ansible.com/ansible/latest/sensu_check_module.html as below: 
>
>  name: Updating checks in - 
> /etc/sensu/conf.d/{{sensu_check_filename|default(check_filename)}} 
>   sensu_check: 
>     #path: "{{ sensu_check_filename|default(check_filename) }}" 
>     path: /etc/sensu/conf.d/checks.json 
>     name: "{{ item.name }}" 
>     command: "{{ item.command }}" 
>     interval: "{{ item.interval|default(check_interval) }}" 
>     metric: "{{ item.metric | default('no') }}" 
>     handle: "{{ item.handle | default('yes') }}" 
>     occurrences: "{{ item.occurrences | default(check_occurrences) }}" 
>     timeout: "{{ item.timeout | default(check_timeout) }}" 
>     dependencies: "{{ item.dependencies | default(omit) }}" 
>     subscribers: "{{ item.subscribers|default(default_subscribers) }}" 
>     handlers: "{{ item.handlers | default(omit) }}" 
>     refresh: "{{ item.refresh | default(check_refresh) }}" 
>     state: "{{ item.state | default('present') }}" 
>     standalone: "{{ item.standalone | default('no') }}" 
>     ttl: "{{ item.ttl | default(900) }}" 
>     aggregate: "{{ item.aggregate | default('no') }}" 
>     subdue_begin: "{{ item.subdue_begin | default(omit) }}" 
>     subdue_end: "{{ item.subdue_end | default(omit) }}" 
>     source: "{{ item.source | default(omit) }}" 
>     low_flap_threshold: "{{ item.low_flap_threshold | default(omit) }}" 
>     high_flap_threshold: "{{ item.high_flap_threshold | default(omit) }}" 
>   notify: 
>     - restart_sensu_server 
>     - restart_sensu_client 
>     - restart_sensu_api 
>   with_items: "{{ _sensu_check_list|sort }}" 
>
> Is there any particular reason why you chose to use a template? 
>
> Regards. 
> @shankerbalan 
>
>
>
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/7976fa9f-a9bd-4abf-bda8-55a233a785fa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to