3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ZABBIX API でユーザを追加する。

Last updated at Posted at 2016-06-07

状況

監視用に色々なツールを使っている。
いちいちツール毎にユーザ作るのなんてやってられるか( ゚Д゚)ゴルァ!
って事なので、一個のスクリプトでいろんなツールのユーザ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']
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?