Ad Widget

Collapse

Не работает host.create через api после перехода на 5.0

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Masken
    Junior Member
    • Jul 2020
    • 4

    #1

    Не работает host.create через api после перехода на 5.0

    Доброго времени суток.
    После перехода на 5.0 перестал работать метод host.create. Используется python и библиотека pyzabbix.
    На 4.4 все ок, на 5.0 - вылетает исключение, даже на чистой инсталляции.
    Пример того, что пытаюсь сделать:

    zabbix.host.create({
    "name": host_name,
    "host": host_name,
    "interfaces": [{
    "type": 2,
    "main": 1,
    "useip": 1,
    "ip": hostip,
    "dns": "",
    "port": "161" }],
    "groups": [{
    "groupid": "15" }],
    "templates": [{
    "templateid": "10186" }]
    })

    Получаю следующее:

    pyzabbix.ZabbixAPIException: ('Error -32602: Invalid params., Incorrect arguments passed to function.', -32602)

    Может какой-то аргумент стал обязательным? В документации изменений не увидел.
  • Masken
    Junior Member
    • Jul 2020
    • 4

    #2
    Поэксперементировал с типом интерфейса, по итогу:
    1 - агент
    3 - ipmi
    4 - jmx
    Как и описано здесь: https://www.zabbix.com/documentation...B5%D1%82%D0%B8

    Но стоит поставить "type": 2, что должно соответствовать SNMP - вылетает исключение. Что-то сломали в API?...

    Comment

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

      #3
      Originally posted by Masken
      Но стоит поставить "type": 2, что должно соответствовать SNMP - вылетает исключение. Что-то сломали в API?...
      Наверное, можно это сказать и так.
      В пятой версии настройки параметров SNMP (версия, community, параметры аутентификации/шифрования для v3) перенесли из настроек элементов данных (Items) в настройки интерфейса на уровне хоста.
      По всей видимости, при использовании API для типа интерфейса "SNMP" они теперь являются обязательными.

      Comment

      • Masken
        Junior Member
        • Jul 2020
        • 4

        #4
        Получил ответ в саппорте, в дебрях документации это все-таки есть... https://www.zabbix.com/documentation...terface/object
        Видимо не успели еще добавить эту инфу в статью по API.

        Вот так работает:

        zabbix.host.create({
        "name": host_name,
        "host": host_name,
        "interfaces": [{
        "type": 2,
        "main": 1,
        "useip": 1,
        "ip": hostip,
        "dns": "",
        "port": "161",
        "details": {"version": 2,"community": "your_community"}}],
        "groups": [{
        "groupid": "15" }],
        "templates": [{
        "templateid": "10186" }]
        })

        Comment

        Working...