Ad Widget

Collapse

вопрос по api

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • galserg
    Junior Member
    • Feb 2016
    • 4

    #1

    вопрос по api

    использую АПИ для получения показателей загруженности некоторых серверов

    с помощью метода item.get легко могу получить все интересующие меня items (последние значения)

    но есть такой метод history.get, который, судя по мануалу, должен отдавать значения элементов данных за определенный период времени.
    но тут меня настигло разочарование - большую часть item-сов этот метод не отдает!

    тоесть item.get(itemids=12345) отдает json с данными, а history.get(itemids=12345) - возврашает пустоту.
    в то же время для itemids=23456 оба метада работают штатно.

    ну для примера - нормально работает с историей элемент данных net.if.in[eth0], а элемент system.cpu.load[percpu,avg1] - нет

    может ктото сталкивался с подобной ситуацией? версия заббикса 2.4
  • galserg
    Junior Member
    • Feb 2016
    • 4

    #2
    Code:
    from zabbix.api import ZabbixAPI
    
    # Create ZabbixAPI class instance
    zapi = ZabbixAPI(url='http://192.168.0.10/zabbix/', user='Admin', password='zabbix')
    
    # Get all items for host
    for z in zapi.item.get(hostids=10105):
        print z['itemid'], z['hostid'], z['key_'], z['name']
    
    # Get history for item net.if.in[eth0]
    print zapi.history.get(itemids=23704, limit=3)
    
    # Get history for item system.cpu.load[percpu,avg5]
    print zapi.history.get(itemids=23697, limit=3)

    Comment

    • galserg
      Junior Member
      • Feb 2016
      • 4

      #3
      результат работы скрипта

      Code:
      .....
      23697 10105 system.cpu.load[percpu,avg5] Processor load (5 min average per core)
      .....
      23704 10105 net.if.in[eth0] Incoming network traffic on $1
      .....
      [{u'itemid': u'23704', u'ns': u'197736168', u'value': u'33128', u'clock': u'1456083364'}, {u'itemid': u'23704', u'ns': u'215122264', u'value': u'35344', u'clock': u'1456083424'}, {u'itemid': u'23704', u'ns': u'229069914', u'value': u'28088', u'clock': u'1456083484'}]
      []

      Comment

      • galserg
        Junior Member
        • Feb 2016
        • 4

        #4
        пока ждал ответа - разобрался сам
        история переметров разных типов (float, str, log, int, text) хранится в разных таблицах
        и запрашивая историю нужно правильно задавать параметр history
        по дефолту он интежер
        а загрузка процессора - флоат....

        Comment

        Working...