Ad Widget

Collapse

Создание элемента данных SNMP через Zabbix 6.0 API

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • spodumen
    Junior Member
    • Aug 2018
    • 26

    #1

    Создание элемента данных SNMP через Zabbix 6.0 API

    Не могу добавить элемент данных SNMP через Zabbix 6.0.6 API. Любой, даже с данными из примера в документации https://www.zabbix.com/documentation...-preprocessing
    Делаю так

    curl -s -i -X POST -H 'Content-Type: application/json-rpc' -d "{"jsonrpc": "2.0","method": "item.create","params": {"name": "Device uptime","key_": "sysUpTime","hostid": "10537","type": "20","value_type": 1,"snmp_oid": "SNMPv2-MIB::sysUpTime.0","interfaceid": "14"},"auth": "922014eab81d6a71fc7ce1e6ac811794","id": 0}" http://localhost/api_jsonrpc.php

    В ответ получаю
    {"jsonrpc":"2.0","error":{"code":-32602,"message":"Invalid params.","data":"Incorrect arguments passed to function."},"id":0}

    Тот же запрос в виде json

    Code:
    {
      "jsonrpc": "2.0",
      "method": "item.create",
      "params": {
        "name": "Device uptime",
        "key_": "sysUpTime",
        "hostid": "10537",
        "type": "20",
        "value_type": 1,
        "snmp_oid": "SNMPv2-MIB::sysUpTime.0",
        "interfaceid": "14"
      },
      "auth": "922014eab81d6a71fc7ce1e6ac811794",
      "id": 0
    }
    В чем ошибка ? Понятно что серверу чем то не нравятся параметры, но не могу понять чем именно. Все ID в моем случае валидные, иначе бы сервер об этом сообщил. Get-запросы к API выполняются.

    Через веб-интерфейс добавление элементов данных SNMP работает.
    Last edited by spodumen; 22-07-2022, 12:41.
  • spodumen
    Junior Member
    • Aug 2018
    • 26

    #2
    Сформулирую вопрос подробнее.

    Имеется хост в Zabbix 6.0.6

    {
    "jsonrpc": "2.0",
    "result": [
    {
    "interfaceid": "13",
    "hostid": "10537",
    "main": "1",
    "type": "1",
    "useip": "1",
    "ip": "192.168.1.2",
    "dns": "",
    "port": "10050",
    "available": "1",
    "error": "",
    "errors_from": "0",
    "disable_until": "0",
    "details": []
    },
    {
    "interfaceid": "14",
    "hostid": "10537",
    "main": "1",
    "type": "2",
    "useip": "1",
    "ip": "192.168.1.2",
    "dns": "",
    "port": "161",
    "available": "1",
    "error": "",
    "errors_from": "0",
    "disable_until": "0",
    "details": {
    "version": "2",
    "bulk": "1",
    "community": "{$SNMP_COMMUNITY}"
    }
    }
    ],
    "id": 0
    }

    Пытаюсь создать для него элемент данных SNMP через API, с данными из примера в документации https://www.zabbix.com/documentation...-preprocessing

    curl -s -i -X POST -H 'Content-Type: application/json-rpc' -d "{"jsonrpc": "2.0","method": "item.create","params": {"name": "Device uptime","key_": "sysUpTime","hostid": "10537","type": "20","value_type": 1,"snmp_oid": "SNMPv2-MIB::sysUpTime.0","interfaceid": "14"},"auth": "922014eab81d6a71fc7ce1e6ac811794","id": 0}" http://localhost/api_jsonrpc.php

    Получаю ответ сервера {"jsonrpc":"2.0","error":{"code":-32602,"message":"Invalid params.","data":"Incorrect arguments passed to function."},"id":0}

    В чем ошибка ?

    Тот же запрос в виде JSON

    Code:
    {
      "jsonrpc": "2.0",
      "method": "item.create",
      "params": {
        "name": "Device uptime",
        "key_": "sysUpTime",
        "hostid": "10537",
        "type": "20",
        "value_type": 1,
        "snmp_oid": "SNMPv2-MIB::sysUpTime.0",
        "interfaceid": "14"
      },
      "auth": "922014eab81d6a71fc7ce1e6ac811794",
      "id": 0
    }
    Через веб-интерфейс добавление элементов данных SNMP работает. Элементы данных другого типа (например, 0) через API создаются без проблем.
    Last edited by spodumen; 25-07-2022, 10:14.

    Comment

    • vladimir_lv
      Senior Member
      • May 2022
      • 240

      #3
      "auth": "922014eab81d6a71fc7ce1e6ac811794","id": 0}"
      А почему id равняется 0? Если это Admin, то у него id=1.

      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #4
        Originally posted by vladimir_lv
        А почему id равняется 0? Если это Admin, то у него id=1.
        Это id запроса, а не пользователя.


        А где параметр delay, который (если верить документации) required?

        Comment

        • spodumen
          Junior Member
          • Aug 2018
          • 26

          #5
          Originally posted by Kos
          Это id запроса, а не пользователя.


          А где параметр delay, который (если верить документации) required?
          Да, спасибо, я уже разобрался, но забыл отписать. Действительно, забыл указать delay.
          Что касается required параметров то не все их них реально проверяются при добавлении.
          И плохо что API не всегда выводит описание ошибки развернуто, приходится выяснять причину методом тыка.

          Comment

          Working...