zabbix
OTRS

Zabbix→OTRS連携

■はじめに

Zabbixにて異常検知したらOTRSに起票するスクリプトを作成しました・・・・
エラー判定してないけど実装は有料だな
定数のところは適時変更してください。

■環境

・OTRS-6.0.6
・Zabbix3.5

■スクリプト配置

/usr/lib/zabbix/alertscripts/otrs.sh

#!/bin/sh

ticket_title=${1:-'タイトル'}
ticket_body=${2:-'本文'}


OTRS_IP="192.168.11.66"
OTRS_USER="<OTRSのユーザ>"
OTRS_PASS="<OTRSのパスワード>"

TICKET_TYPE="Unclassified"
TICKET_QUEUE="Raw"
TICKET_STATE="new"
TICKET_PRIORITY="5"
TICKET_CUSTOMER="test@gmail.com"

session=`/usr/bin/curl -s -X POST "http://${OTRS_IP}/otrs/nph-genericinterface.pl/Webservice/Ticket/login" \
              -d "{ \"UserLogin\": \"${OTRS_USER}\", \"Password\": \"${OTRS_PASS}\"}" | /usr/bin/jq -r '.SessionID'`



ret=`/usr/bin/curl -s -X POST -H "Content-Type:application/json" \
     -d "{ \"SessionID\":\"${session}\", \
     \"Ticket\": \
          {\"Title\":\"${ticket_title}\", \
           \"Type\": \"${TICKET_TYPE}\", \
           \"Queue\":\"${TICKET_QUEUE}\", \
           \"State\":\"${TICKET_STATE}\", \
           \"PriorityID\":\"${TICKET_PRIORITY}\", \
           \"CustomerUser\":\"${TICKET_CUSTOMER}\"}, \
     \"Article\":{ \
           \"Subject\":\"${ticket_title}\", \
           \"Body\":\"${ticket_body}\", \
           \"ContentType\":\"text/plain; charset=utf8\"} \
}" "http://${OTRS_IP}/otrs/nph-genericinterface.pl/Webservice/Ticket/TicketCreate" `

■Zabbix登録

「管理」「メディアタイプ」から「メディアタイプの作成」を開く
image.png

下記情報を入力して追加
image.png

「管理」「ユーザ」からAdminの「メディア」を開く
image.png

「追加」からスクリプトを登録する
image.png

「設定」「アクション」から「アクションの作成」を開く
image.png

下記情報を入力して追加
image.png
※デフォルトメッセージに改行があるとエラーになるので改行を消すこと
image.png

OTRS確認

image.png

起票されましたねー
以上です。