美文网首页
zabbix api | 登录

zabbix api | 登录

作者: _简_述_ | 来源:发表于2017-04-04 15:19 被阅读0次

    Zabbix API开始扮演着越来越重要的角色,尤其是在集成第三方软件和自动化日常任务时。很难想象管理数千台服务器而没有自动化是多么的困难。Zabbix API为批量操作、第三方软件集成以及其他作用提供可编程接口。

    Zabbix API提供两项主要功能:

    • 远程管理Zabbix配置
    • 远程检索配置和历史数据

    使用JSON API 采用JSON-RPC实现。这意味着调用任何函数,都需要发送POST请求,输入输出数据都是以JSON格式。大致工作流如下:

    • 1.在官网查询JSON操作对象
    • 2.登录获取Token
    • 3.创建主机,获取图像,更新监控项等

    可以采用脚本或者任何"手动"支持JSON RPC的工具来使用API。而首先需要了解的就是如何验证和如何使用验证ID来获取想要的信息。后面的演示会以Python脚本呈现API的基本使用。

    login.py

    #!/usr/bin/env python
    import urllib2
    import json
    
    #定义URL账户密码
    url = 'http://ZabbixIP/zabbix/api_jsonrpc.php'
    username = '*****'
    password = '*****'
    
    #定义通过HTTP方式访问API地址的函数,后面每次请求API的各个方法都会调用这个函数
    def requestJson(url,values):        
        data = json.dumps(values)
        req = urllib2.Request(url, data, {'Content-Type': 'application/json-rpc'})
        response = urllib2.urlopen(req, data)
        output = json.loads(response.read())
        try:
            message = output['result']
        except:
            message = output['error']['data']
            print message
            quit()
        return output['result']
    
    #API接口认证的函数,登录成功会返回一个Token
    def authenticate(url, username, password):
        values = {'jsonrpc': '2.0',
                  'method': 'user.login',
                  'params': {
                      'user': username,
                      'password': password
                  },
                  'id': '0'
                  }
        idvalue = requestJson(url,values)
        return idvalue
    
    #调用函数
    if __name__ == '__main__':
    auth = authenticate(url, username, password)
    print auth
    
    • 执行python脚本
    #如果成功输出一个Token
    612508116ead2176a9932c4b2818c186
    
    #如果失败提示账号或密码不正确
    Login name or password is incorrect.
    

    相关文章

      网友评论

          本文标题:zabbix api | 登录

          本文链接:https://www.haomeiwen.com/subject/iawaottx.html