From 035b498f37cdb5947d3d7c9254c23a20ca77eddd Mon Sep 17 00:00:00 2001 From: Kenny Woodson Date: Wed, 1 Apr 2015 12:42:03 -0400 Subject: Adding the zabbix module along with a generic playbook to fetch current problem triggers. Also added oo_flatten to filters for arrays of arrays. --- playbooks/adhoc/noc/filter_plugins | 1 + playbooks/adhoc/noc/get_zabbix_problems.yml | 39 +++++++++++++++++++++++++++++ playbooks/adhoc/noc/library | 1 + 3 files changed, 41 insertions(+) create mode 120000 playbooks/adhoc/noc/filter_plugins create mode 100644 playbooks/adhoc/noc/get_zabbix_problems.yml create mode 120000 playbooks/adhoc/noc/library (limited to 'playbooks/adhoc') diff --git a/playbooks/adhoc/noc/filter_plugins b/playbooks/adhoc/noc/filter_plugins new file mode 120000 index 000000000..99a95e4ca --- /dev/null +++ b/playbooks/adhoc/noc/filter_plugins @@ -0,0 +1 @@ +../../../filter_plugins \ No newline at end of file diff --git a/playbooks/adhoc/noc/get_zabbix_problems.yml b/playbooks/adhoc/noc/get_zabbix_problems.yml new file mode 100644 index 000000000..6ac5cdcf7 --- /dev/null +++ b/playbooks/adhoc/noc/get_zabbix_problems.yml @@ -0,0 +1,39 @@ +--- +- name: 'Get current hosts who have triggers that are alerting by trigger description' + hosts: localhost + gather_facts: no + tasks: + - assert: + that: oo_desc is defined + + - zbxapi: + server: https://noc2.ops.rhcloud.com/zabbix/api_jsonrpc.php + zbx_class: Trigger + action: get + params: + only_true: true + output: extend + selectHosts: extend + searchWildCardsEnabled: 1 + search: + description: "{{ oo_desc }}" + register: problems + + - debug: var=problems + + - set_fact: + problem_hosts: "{{ problems.results | oo_collect(attribute='hosts') | oo_flatten | oo_collect(attribute='host') | difference(['aggregates']) }}" + + - debug: var=problem_hosts + + - add_host: + name: "{{ item }}" + groups: problem_hosts_group + with_items: problem_hosts + +- name: "Run on problem hosts" + hosts: problem_hosts_group + gather_facts: no + tasks: + - command: "{{ oo_cmd }}" + when: oo_cmd is defined diff --git a/playbooks/adhoc/noc/library b/playbooks/adhoc/noc/library new file mode 120000 index 000000000..ba40d2f56 --- /dev/null +++ b/playbooks/adhoc/noc/library @@ -0,0 +1 @@ +../../../library \ No newline at end of file -- cgit v1.2.3