implemented job metrics
This commit is contained in:
parent
503e9b69a1
commit
1c11148374
5 changed files with 115 additions and 25 deletions
|
|
@ -2,31 +2,38 @@
|
|||
job: '{{ {}|combine(cron.defaults, item.value, {"name": item.key}, recursive=True) }}'
|
||||
randomseed: "{{ inventory_hostname + item.key }}"
|
||||
|
||||
- name: add cron jobs (random_daily)
|
||||
when: job.special_time == "random_daily"
|
||||
cron:
|
||||
name: "{{ job.name }}"
|
||||
job: "{{ job.job }}"
|
||||
user: "{{ job.user }}"
|
||||
hour: "{{ job.random_options.hour | random(seed=(randomseed + 'hour')) }}"
|
||||
minute: "{{ job.random_options.minute | random(seed=(randomseed + 'minute')) }}"
|
||||
- when: job.special_time == "random_daily"
|
||||
set_fact:
|
||||
job: '{{ job|combine({"weekday": "*"}) }}'
|
||||
|
||||
- name: add cron jobs (random_weekly)
|
||||
when: job.special_time == "random_weekly"
|
||||
cron:
|
||||
name: "{{ job.name }}"
|
||||
job: "{{ job.job }}"
|
||||
user: "{{ job.user }}"
|
||||
weekday: "{{ job.random_options.weekday | random(seed=(randomseed + 'weekday')) }}"
|
||||
hour: "{{ job.random_options.hour | random(seed=(randomseed + 'hour')) }}"
|
||||
minute: "{{ job.random_options.minute | random(seed=(randomseed + 'minute')) }}"
|
||||
- when: job.special_time == "random_weekly"
|
||||
set_fact:
|
||||
job: '{{ job|combine({"weekday": job.random_options.weekday | random(seed=(randomseed + "weekday"))}) }}'
|
||||
|
||||
- name: add cron jobs (not special)
|
||||
when: not job.special_time
|
||||
- when: job.special_time == "random_daily" or job.special_time == "random_weekly"
|
||||
set_fact:
|
||||
job: '{{ job|combine({"hour": job.random_options.hour | random(seed=(randomseed + "hour"))}) }}'
|
||||
|
||||
- when: job.special_time == "random_daily" or job.special_time == "random_weekly"
|
||||
set_fact:
|
||||
job: '{{ job|combine({"minute": job.random_options.minute | random(seed=(randomseed + "minute"))}) }}'
|
||||
|
||||
- name: add cron job users to node-exporter-textfile group
|
||||
when: cron.enable_monitoring
|
||||
ansible.builtin.user:
|
||||
name: '{{ job.user }}'
|
||||
groups: node-exporter-textfile
|
||||
append: yes
|
||||
|
||||
- when: cron.enable_monitoring
|
||||
set_fact:
|
||||
job: '{{ job|combine({"job": "/usr/local/bin/monitor-cronjob.py %s %s %s"%(job.name|quote, ("%s %s * * %s"%(job.minute, job.hour, job.weekday))|quote, job.job|quote)}) }}'
|
||||
|
||||
- name: add cron jobs
|
||||
cron:
|
||||
name: "{{ job.name }}"
|
||||
job: "{{ job.job }}"
|
||||
user: "{{ job.user }}"
|
||||
weekday: "{{ job.weekday }}"
|
||||
hour: "{{ job.hour }}"
|
||||
minute: "{{ job.minute }}"
|
||||
name: '{{ job.name }}'
|
||||
job: '{{ job.job }}'
|
||||
user: '{{ job.user }}'
|
||||
weekday: '{{ job.weekday }}'
|
||||
hour: '{{ job.hour }}'
|
||||
minute: '{{ job.minute }}'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue