]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/bash | |
2 | ||
3 | TEMPLATE='{ | |
4 | "cmd": "submitcheck", | |
5 | "token": $token, | |
6 | "checkresult": [{ | |
7 | "hostname": $hostname, | |
8 | "state": $state, | |
9 | "output": $output, | |
10 | "type": $type, | |
11 | "servicename": $servicename | |
12 | }] | |
13 | }' | |
14 | ||
15 | url="<%= @naemon_url %>" | |
16 | token="<%= @naemon_token %>" | |
17 | while getopts "u:t:H:s:S:o:" option | |
18 | do | |
19 | case $option in | |
20 | u) url=$OPTARG ;; | |
21 | t) token=$OPTARG ;; | |
22 | H) hostname=$OPTARG ;; | |
23 | s) servicename=$OPTARG ;; | |
24 | S) state=$OPTARG ;; | |
25 | o) output=$OPTARG ;; | |
26 | esac | |
27 | done | |
28 | ||
29 | if [ -n "$servicename" ]; then | |
30 | checktype="service" | |
31 | else | |
32 | checktype="host" | |
33 | fi | |
34 | ||
35 | payload=$(jq -n \ | |
36 | --arg type "$checktype" \ | |
37 | --arg hostname "$hostname" \ | |
38 | --arg servicename "$servicename" \ | |
39 | --arg output "$output" \ | |
40 | --arg token "$token" \ | |
41 | --arg state "$state" \ | |
42 | "$TEMPLATE") | |
43 | ||
44 | rslt=$(curl -f --silent --insecure -d "$payload" -H "Content-Type: application/json" "$url") | |
45 | ret=$? | |
46 | ||
47 | if [ $ret != 0 ];then | |
48 | echo "ERROR: could not connect to NRDP server at $url" | |
49 | exit 1 | |
50 | fi | |
51 | ||
52 | status=$(echo "$rslt" | jq -r .status) | |
53 | message=$(echo "$rslt" | jq -r .message) | |
54 | ||
55 | if [ "$status" != "ok" ];then | |
56 | echo "ERROR: The NRDP Server said $message" | |
57 | exit 2 | |
58 | fi | |
59 | echo "Sent 1 checks to $url" |