linux--zabbix(API)

Zabbix API提供远程管理配置和检索数据的功能,适用于运维自动化和第三方软件集成。本文将详细介绍如何通过API获取身份令牌、检索主机、删除及创建监控主机。包括调用API的JSON-RPC工作流程,以及具体的操作示例。

Zabbix API的应用

zabbix中API的作用

  • zabbix拥有完善的API,基于JSON RPC提供资产,主机,主机组,监控项,告警等方面的接口。
    在做运维自动化时,需要用API功能对zabbix二次开发。 Zabbix API为批量操作,第三方软件集成以及其他作用提供可编程接口

Zabbix API提供两项主要功能:

  1. 远程管理Zabbix配置
  2. 远程检索配置和历史数据

API的工作流程

API采用JSON-RPC实现这意味着调用任何函数,都需要向POST请求,输入输出数据都是以JSON格式
转备JSON对象,它描述了你想要做什么,比如创建主机、获取JSON格式响应

查看zabbix系统监控的API接口以及API脚本方式获取身份令牌(查看监控主机)

curl -s -XPOST -H 'Content-Type:application/json-rpc' -d '  
#-s 静默模式,不输出任何东西  #curl默认的HTTP动词是GET,使用`-X`参数可以支持其他动词。  启用curl命令模拟json格式的post请求。
{
    "jsonrpc": "2.0",    #标准的JSON RPC参数以标示协议版本
    "method": "user.login",    #获取接口方法名
    "params": {
        "user": "Admin",
        "password": "zabbix"    #zabbix系统监控的用户名和密码
    },
    "id": 1,
    "auth": null    #用户的身份令牌,因为还没有获取所以为null。
}' http://172.25.2.1/zabbix/api_jsonrpc.php | python -m json.tool      #python..将其标准化输出  

在这里插入图片描述

检索主机

利用刚才获取的身份令牌,访问zabbix中的数据,下面实现host.get方法检索所有已配置主机的ID,主机名及其接口。

curl -s -XPOST -H 'Content-Type:application/json-rpc' -d '  
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
              "hostid",
              "host"
         ],
        "selectInterfaces": [
              "interfaceid",
              "ip"
         ]
    },
    "id": 1,
    "auth":  "71d1f10d28a47f8df6d6edb33e462755"
}' http://172.25.254.1/zabbix/api_jsonrpc.php | python -m json.tool

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除监控中的主机

删除正在服务的主机

curl -s -XPOST -H 'Content-Type:application/json-rpc' -d '
{
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
         "10306"
    ],
    "id": 1,
    "auth":  "71d1f10d28a47f8df6d6edb33e462755"
}' http://172.25.254.1/zabbix/api_jsonrpc.php | python -m json.tool

在这里插入图片描述
在web界面看到被删除
在这里插入图片描述

创建监控主机

模板号(templateid)和组号(groupid)
看web界面的链接

注意关闭 自动注册和自动发现

curl -s -XPOST -H 'Content-Type:application/json-rpc' -d '{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params" : {
        "host": "server2",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "172.25.254.2",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ]
    },
    "id": 1,
    "auth":"71d1f10d28a47f8df6d6edb33e462755"
}' http://172.25.254.1/zabbix/api_jsonrpc.php | python -m json.tool
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值