状況
監視用に色々なツールを使っている。
いちいちツール毎にユーザ作るのなんてやってられるか( ゚Д゚)ゴルァ!
って事なので、一個のスクリプトでいろんなツールのユーザIDを作ってしまうという至極初歩的な自動化作業。その中のZABBIXパート。
参考にしたのは Zabbix Documentation 3.0 user.create のページ。
ZABBIX APIの利用には pyzabbix を使います。
環境
- Ubuntu 14.04 LTS
- ZABBIX 3.0.3
- python3.4
- pyzabbix
コンポーネントのインストール
sudo pip3 install pyzabbix
ZABBIX ユーザを作成する
from pyzabbix import ZabbixAPI
ZBX_SVR_URL='http://192.168.0.1/zabbix/'
ZBX_USER='API_USER'
ZBX_PASS='API_PASS'
zapi = ZabbixAPI(ZBX_SVR_URL)
zapi.login(ZBX_USER, ZBX_PASS)
rst = zapi.user.create(
alias = 'Login ID',
name = '名前',
surname = '苗字',
passwd = 'パスワード',
usrgrps = {
'usrgrpid': '所属させたいグループのID'
}
)
ユーザグループIDの取得
ユーザグループ名からgroupIDを探す時のコード。画面からユーザグループIDは取れるけど面倒臭いよね。なので上のユーザ作成をする前に、このコードがあれば所属させたいユーザグループIDを所得する事が出来る。
from pyzabbix import ZabbixAPI
ZBX_SVR_URL='http://192.168.0.1/zabbix/'
ZBX_USER='API_USER'
ZBX_PASS='API_PASS'
zapi = ZabbixAPI(ZBX_SVR_URL)
zapi.login(ZBX_USER, ZBX_PASS)
for group in zapi.usergroup.get( filter={'name':'探したいユーザグループ名'} ):
if '探したいユーザグループ名' == group['name']:
return group['usrgrpid']