Ad Widget

Collapse

Помогите пожалуйста разобраться с базой

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dotneft
    Senior Member
    • Nov 2008
    • 699

    #16
    Немного некорректный запрос, еще нужно указать, что тип элемента карты является хостом. В противном случае можете получить что-то совпадающее с id хоста.

    Comment

    • Horror777
      Member
      • Jun 2009
      • 36

      #17
      Спасибо, учту.

      Comment

      • vanishox
        Member
        • Mar 2011
        • 47

        #18
        Мужики, нужна еще помощь:

        Задача - нужно в таблицу acknowledges вставлять данные.

        Я так понимаю что эта таблица через eventid связана как-то с триггером и хостом.

        Вопрос - как?

        Comment

        • dotneft
          Senior Member
          • Nov 2008
          • 699

          #19
          Используйте API: http://www.zabbix.com/documentation/...nt/acknowledge

          Comment

          • vanishox
            Member
            • Mar 2011
            • 47

            #20
            Про zabbix API почитал, вроде все понятно.
            В примере jsonrpc имеет вид:

            HTML Code:
            {
               "jsonrpc":"2.0",
               "method":"event.acknowledge",
               "params":{
                  "eventids": ["100100000010092", "100100000010094"],
                  "message": "Problem resolved"
               },
               "auth":"700ca65537074ec963db7efabda78259",
               "id":2
              }
            Где eventids указывают на событие.
            А как связать нужное событие с нужным триггером?

            Допустим у нас есть запись:

            Узел сети-----Проблема-----Посл. изменение---Возраст--Подтверждено---Действия
            172.28.49.194 Exhaused mode 04 Апр 2012 20:52:27 ... 5м 51с Нет -

            Как вытащить нужной eventid для подтверждения этой проблемы?

            Comment

            • dotneft
              Senior Member
              • Nov 2008
              • 699

              #21
              Лучше расскажите какая именно задача перед вами стоит... по порядку, так скажем по полочкам.

              Comment

              • vanishox
                Member
                • Mar 2011
                • 47

                #22
                Итак.
                1. Есть 2 системы - мониторинг(zabbix) и система для создания трабл тикетов - ТТ (самописная).
                2. Из zabbix настроен импорт в систему ТТ всех интерфейсов, на которых сработал триггер (то есть аварийных). Это как раз тот запрос, который я искал ранее, он дергается из базы по крону раз в 5 минут.
                3. Пользователь системы ТТ, увидев список проблемных интерфейсов (в системе ТТ), заводит тикет по каждому, либо по группе интерфейсов.
                4. При заведении тикета необходимо, чтобы из системы ТТ в zabbix, в поле "Подтверждено" (таблицу acknowledges) для того интерфейса или группы интерфейсов, которые были выбраны пользователем, вставлялся URL, который будет ссылаться на данный трабл тикет, чтобы остальные пользователи системы могли посмотреть - что проблемой занимаются + какие по данной проблеме были приняты действия (это они уже будут смотреть в системе ТТ перейдя по ссылке). Также получаем историю всех тикетов для данного интерфейса(ов).

                Comment

                • dotneft
                  Senior Member
                  • Nov 2008
                  • 699

                  #23
                  Ясно.

                  А почему напрямую из Zabbix не выполняете скрипт, который и подтверждал бы и создавал ТТ?

                  Comment

                  • vanishox
                    Member
                    • Mar 2011
                    • 47

                    #24
                    А это уже следующий этап.
                    Я поэтапно иду. Нужно какое-то время, чтобы люди привыкли к новой системе, да и отладить ее нужно. А как все будет готово, то сделаем "робота", который будет этим заниматься.

                    А по поводу того, как состыковать проблемные интерфейс(ы) с eventid есть какие-нибудь решения?

                    Comment

                    • vanishox
                      Member
                      • Mar 2011
                      • 47

                      #25
                      Парни, никаких идей нет? Они же должны быть как-то связаны......

                      Comment

                      • dotneft
                        Senior Member
                        • Nov 2008
                        • 699

                        #26
                        http://www.zabbix.com/documentation/1.8/api/event/get

                        objectid это и есть triggerid при source и object = 0 (могу тут ошибаться со значениями, можно их глянуть в исходниках).

                        Comment

                        • vanishox
                          Member
                          • Mar 2011
                          • 47

                          #27
                          Спасибо за ссылки. Прочитал, более менее разобрался.
                          Сейчас пытаюсь через zabbix API сделать подтверждение аварий.
                          Для этого делаю следующее:

                          1. Есть "eventid" соответствующий проблеме - 6317386.
                          2. Пытаюсь отправить объекты такого типа (как в http://www.zabbix.com/documentation/.../acknowledge):
                          HTML Code:
                           - {
                               "jsonrpc":"2.0",
                               "method":"user.login",
                               "params":{
                                                 "user":"test",
                                                 "password":"test"
                                               },
                                "id":"1"
                              }
                          3. Получаю ответ:

                          HTML Code:
                           {"jsonrpc":"2.0","result":"ce22c38cab2d8a59c515e5bf72072219","id":"1"}
                          4. При попытке отправить :

                          HTML Code:
                          {
                              "jsonrpc":"2.0",
                              "method":"event.acknowledge",
                              "params":{
                                              "eventids":["6317386"],
                                              "message":"Incident сreated"
                                              },
                              "auth":"ce22c38cab2d8a59c515e5bf72072219",
                              "id":"2"
                          }
                          5. Получаю:
                          HTML Code:
                          {"jsonrpc":"2.0","error":{"code":-32602,"message":"Invalid params.","data":"No API access"},"id":"2"}
                          3 раза перепроверил группу API access - пользователь в нее добавлен.
                          Статус пользователя поставил СУпер Администратор и добавил его в группы:
                          HTML Code:
                                  API access
                          	Database administrators
                          	Head of IT department
                          	Network administrators
                          	Security specialists
                          	UNIX administrators
                          	WEB administrators
                          	Zabbix administrators
                          Результата нет. Подскажите плиз, в чем я ошибся?

                          Comment

                          • oscar
                            Senior Member
                            • Dec 2010
                            • 141

                            #28
                            Originally posted by Horror777
                            Code:
                            SELECT sysmapid FROM sysmaps_elements WHERE  elementid = '$hostid' limit 1
                            
                            <meta http-equiv='refresh'; content='0; url=http://localhost/zabbix/maps.php?sysmapid=$sysmapid >
                            Вот только как эту красоту к контекстному меню в дашборде прикрутить?
                            Расковырял файлик /zabbix/js/init.js
                            добавил строчку
                            menu.push(createMenuItem(t('Карте'), 'maps.php?sysmapid=' + menuData.xxxxxxx));
                            Пунк меню появляется.
                            А как вместо xxxxxx mapid прикрутить? Ведь нельзя же просто SQL запрс воткнуть.
                            Чесно говоря странно почему этого до сих пор разработчики не сделали.

                            Comment

                            • dotneft
                              Senior Member
                              • Nov 2008
                              • 699

                              #29
                              Не сделали значит нужды не было
                              + а если хост принадлежит нескольким картам?

                              Comment

                              • oscar
                                Senior Member
                                • Dec 2010
                                • 141

                                #30
                                Originally posted by dotneft
                                Не сделали значит нужды не было
                                Возможно, но только 99 из 100 пользователей первым же вопросом спрашивают как быстро найти на карте нужный узел (карт ОЧЕНЬ много), желательно прям из дашборда.
                                Originally posted by dotneft
                                + а если хост принадлежит нескольким картам?
                                ну дык можно списком где он есть...
                                на худой конец хотя бы первую где он попадается (limit 1)...
                                По крайней мере у нас мало узлов которые есть на нескольких картах...

                                Comment

                                Working...