Add zabbix example

Change-Id: I9e21724e4766ce4e21de7123e7a14d4f8ff2e07f
This commit is contained in:
Nikolay Mahotkin 2014-10-20 14:53:49 +04:00
parent 0a176f7c7b
commit 601bcd0e64
1 changed files with 100 additions and 0 deletions

View File

@ -0,0 +1,100 @@
---
version: "2.0"
name: zabbix
actions:
zabbix:
base: std.http
base-input:
url: "http://{$.host}/zabbix/api_jsonrpc.php"
method: POST
body:
jsonrpc: 2.0
method: $.method
params: $.params
auth: $.auth
id: 1
headers:
Content-Type: application/json
input:
- host
- method
- params
- auth
output:
result: $.content
zabbix_auth:
base: std.http
base-input:
url: "http://{$.host}/zabbix/api_jsonrpc.php"
method: POST
body:
jsonrpc: 2.0
method: user.authenticate
params:
user: $.username
password: $.password
id: 0
headers:
Content-Type: application/json
input:
- host
- username
- password
output:
auth: $.content.result
workflows:
register_on_zabbix:
type: direct
input:
- machine_ip
- zabbix_host
- zabbix_username
- zabbix_password
tasks:
get_zabbix_auth:
action: zabbix_auth host={$.zabbix_host} username={$.zabbix_username} password={$.zabbix_password}
publish:
zabbix_auth: $.auth
on-success:
- zabbix_host_group_create
zabbix_host_group_create:
action: zabbix method="hostgroup.create" auth={$.zabbix_auth} host={$.zabbix_host}
input:
params:
- name: Demo host group
publish:
hostgroup_id: $.result.result.groupids[0]
on-success:
- zabbix_host_create
zabbix_host_create:
action: zabbix method="host.create" auth={$.zabbix_auth} host={$.zabbix_host}
input:
params:
host: Demo host
ip: $.machine_ip
port: 10500
useip: 1
groups:
- groupid: $.hostgroup_id
publish:
host_id: $.result.result.hostids[0]
on-success:
- zabbix_item_create
zabbix_item_create:
action: zabbix method="item.create" auth={$.zabbix_auth} host={$.zabbix_host}
input:
params:
description: Simple check on host (ping)
key_: 'icmpping[<ip>,<count>,<interval>,<size>,<timeout>]'
hostid: $.host_id
publish:
item_id: $.result.result.itemids[0]