Ad Widget

Collapse

Внешние проверки при апдэйте с 1.8 на 2.2

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • vanishox
    Member
    • Mar 2011
    • 47

    #1

    Внешние проверки при апдэйте с 1.8 на 2.2

    Парни подскажите, или скиньте ссылочку плиз:

    1. Наконец-то обновился с Zabbix 1.8.11 до 2.2.2.
    2. Все бы хорошо, но у меня есть около 300 внешних проверок.
    3. В 1.8 версии в качестве разделителя использовались пробелы, в новой у меня работает только с разделителем ",".
    4. Вопрос - как обновить 300 item -ов автоматически, не переписывая вручную?
  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #2
    update items set key_= REPLACE(key_, " ", ",") where type = 10

    На твой страх и риск, можно натыкать запятых куда не надо, например, в параметры заключенные в кавычки. Есть ключей не много, то лучше просто присвоить новые значения или реплейсить все значение ключа.

    Comment

    • vanishox
      Member
      • Mar 2011
      • 47

      #3
      Да, спасибо за ответ. Так и сделал.

      Comment

      • vanishox
        Member
        • Mar 2011
        • 47

        #4
        День добрый, возникла еще одна проблема:

        1. У меня есть группа 20 узлов.

        2. В 1.8 версии я делал выборку узлов из этой группы через API (язык python) так:
        HTML Code:
        aggregations2 =  zbx.hostgroup.get
        (
                 {
                         "output": "extend", 
                         "select_hosts": "extend", 
                         "filter":{
                                      "groupid":"31"
                                   }
                  }
        )
        Делал так, потому что через стандартный метод host.get() с указанием в качестве фильтра нужного мне groupid не получалось - возвращало все узлы, которые заведены в zabbix.

        3. После обновления до 2.2.0 , скрипт в методе zbx.hostgroup.get(....) - см. выше, начал выдавать:
        {u'flags': u'0',
        u'groupid': u'31',
        u'internal': u'0',
        u'name': u'Cisco-3750'}

        что в принципе логично - я ведь делаю выборку hostgroup все таки.

        4. Но при попытке выдернуть хосты в группе через метод host.get(...) с фильтром:
        HTML Code:
        aggregations2 =  zbx.host.get
        (
                {
                    "output": "extend", 
                    "filter":{
                                  "groupid":"31"
                              }
                }
        )
        я получаю все те же 4000 узлов, которые заведены в заббиксе и раскиданы в20 группах.

        Подскажите пожалуйста - что я делаю не так, и как сформировать запрос на выборку хостов только в нужной мне группе?

        Comment

        • Jimson
          Senior Member
          • Jan 2008
          • 1327

          #5
          возможно ожидается не значение "31", а список ["31"]
          а вообще правильно вначале запросить группы по имени
          method => 'hostgroup.get', params => { filter => { name => ['MY GROUP'] } }
          и затем использовать то что вернули, и да, вернут нам естественно список
          Last edited by Jimson; 19-06-2014, 14:21.

          Comment

          • vanishox
            Member
            • Mar 2011
            • 47

            #6
            Originally posted by Jimson
            возможно ожидается не значение "31", а список ["31"]
            а вообще правильно вначале запросить группы по имени
            method => 'hostgroup.get', params => { filter => { name => ['MY GROUP'] } }
            и затем использовать то что вернули, и да, вернут нам естественно список
            1. method => 'hostgroup.get', params => { filter => { name => ['MY GROUP'] } } возвращает:

            [{u'flags': u'0',
            u'groupid': u'31',
            u'internal': u'0',
            u'name': u'Cisco-3750'}]

            2. При запросе groupid в виде списка:

            HTML Code:
            аggregations1 =  zbx.host.get(
                {
                       "output": "extend", 
                       "filter":{
                                   "groupid":["31"]
                                 }
                 }
            )
            Возвращает также все 4000 хостов.

            Comment

            • Jimson
              Senior Member
              • Jan 2008
              • 1327

              #7
              Code:
              {
                  "jsonrpc": "2.0",
                  "method": "host.get",
                  "params": {
                      "output": ["extend"],
                      "groupids": "31"
                  },
                  "id": xxx,
                  "auth": "xxx"
              }
              нет возможности проверить, и даже исходников нет под рукой, но выборку такую точно можно сделать, надо просто внимательнее прочесть доку или посмотреть реализацию класса в php

              Comment

              • vanishox
                Member
                • Mar 2011
                • 47

                #8
                Да, вы правы. Убрал фильтр, сделал запрос:

                aggregations1 = zbx.host.get(
                {
                "output": "extend",
                "groupids":["31"]
                }
                )

                Выдал хосты актуальные для данной группы. Спасибо.

                Comment

                • vanishox
                  Member
                  • Mar 2011
                  • 47

                  #9
                  Ребят, подскажите плиз последнюю (надеюсь) штуку.
                  Надо из базы дергать инфу следующего рода:

                  1 запрос:

                  Для всех 4000 УЗЛОВ:

                  - ip адрес узла,
                  - hostid,
                  - имя триггера,
                  - время последнего изменения триггера, в котором присутствует в description слово "%DOWN%" и приоритет его = 5
                  - mapID - ссылка на карту заббикса, где отрисовывается данный хост.

                  2 запрос:

                  Для всех УПАВШИХ ИНТЕРФЕЙСОВ в zabbix:

                  - hostid,
                  - item description,
                  - имя триггера,
                  - описание триггера,
                  - время срабатывания триггера,
                  - triggerID

                  Comment

                  • vanishox
                    Member
                    • Mar 2011
                    • 47

                    #10
                    Как связаны между собой таблицы items и triggers?

                    Comment

                    • vanishox
                      Member
                      • Mar 2011
                      • 47

                      #11
                      Все, разобрался. Спасибо огромное Jimson за помощь!!!

                      Comment

                      Working...