zabbix-api系列6 监控项

1.创建监控项

def create_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.create",
        "params": {
            "name": "监控本机80端口", #监控项名称
            "key_": "net.tcp.listen[80]", #键值
            "hostid": "232", #主机id
            "interfaceid": "72", #主机interfaceid
            "applications": ["23"], #应用集id(可选)
            "type": 0,
            "value_type": 3,
            "delay": "60s" #采集频率
        },
        "auth": auth,
        "id": 1
    }

2.根据主机和键值key匹配监控项id

def get_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "hostids": "23", #主机id
            "search": {
                "key": "net.tcp.listen[80]"     #键值必须和agent的key值相同
            },
            "sortfield": "name"
        },
        "auth": auth,
        "id": 1
    }

3.删除监控项:更具监控项id

def del_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.delete",
        "params": ["232"], #监控项id
        "auth": auth,
        "id": 1
    }

4.禁用/启用指定监控项

def update_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.update",
        "params": {
            "itemid": "43", # 监控项id
            "status": 0 #0禁用,1启用
        },
        "auth": auth,
        "id": 1
    }

5.只返回具有给定ID的监控项

def get_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "itemids": ['28284'], # 监控项id
        },
        "auth": auth,
        "id": 1
    }

6.只返回属于给定组的监控项

def get_group_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "groupids": ['19'], #主机组id
        },
        "auth": auth,
        "id": 1
    }

7.仅返回属于给定模板的监控项

def get_temp_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "templateids": ['10266'], #模板id
        },
        "auth": auth,
        "id": 1
    }

8.仅返回属于给定主机的监控项

def get_host_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "hostids": ['10264'], #主机id
        },
        "auth": auth,
        "id": 1
    }

9.仅返回属于给定应用程序的监控项

def get_app_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "applicationids": ['1118'], #应用集id
        },
        "auth": auth,
        "id": 1
    }

10.仅返回在给定触发器中使用的监控项

def get_trigger_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "triggerids": ['15601'], #触发器id
        },
        "auth": auth,
        "id": 1
    }

11.仅返回属于具有主机组名称的监控项

def get_groupname_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "group": 'New Create Group', #主机组名称
        },
        "auth": auth,
        "id": 1
    }

12.仅返回属于具有主机名称的监控项

def get_hostname_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "host": 'zabbixagent_1.1.1.3', #主机名
        },
        "auth": auth,
        "id": 1
    }

13.仅返回属于具有应用集名称的监控项

def get_appname_item():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "application": 'app02', #应用集名称
        },
        "auth": auth,
        "id": 1
    }

14.查询"监控项"时返回更多关联信息:主机、应用程序、触发器

def get_iteminfo():
    values = {
        "jsonrpc": "2.0",
        "method": "item.get",
        "params": {
            "output": ['key','itemid'],
            "itemids": ['28284'],
            "selectHosts": [  # 1.返回应用这个监控项的所有主机
                "host",
                "hostid",
            ],
            "selectApplications": [  # 2.返回该项所属的应用程序
                "name",
                "applicationid",
            ],
            "selectTriggers": [  # 3.返回这个监控项包含的触发器
                "description",
                "triggerid",
            ],
        },
        "auth": auth,
        "id": 1
    }
上一篇:ftp多文件压缩下载


下一篇:retrofit对协程支持的源码分析