Ad Widget

Collapse

API it services Dependencies и Times

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mclure
    Junior Member
    • Aug 2012
    • 6

    #1

    API it services Dependencies и Times

    Доброго времени суток.
    Документация по Услугам ИТ совсем тухлая, а как подумаю, что сотню серверов, да 150 касс завести, так совсем грустно становится.
    Пробую создать тестовый сервис:
    Code:
    {
        "jsonrpc": "2.0",
        "method": "service.create",
        "params": [
            {
                "name": "test",
                "status": "0",
                "algorithm": "1",
                "triggerid": "0",
                "showsla": "1",
                "goodsla": "100",
                "sortorder": "0"
            }
        ],
        "auth": "бла",
        "id": 1
    }
    Создался...
    Теперь надо создать Dependencies и Times...
    Как?
    Попытка угадать params успехом не увенчалась.
    В инете инфы ноль...
    Кастурую разрабов.
    -----------
    Версия 2.0.2, Gentoo, Postgres
  • zalex_ua
    Senior Member
    Zabbix Certified Trainer
    Zabbix Certified SpecialistZabbix Certified Professional
    • Oct 2009
    • 1286

    #2
    Подождите немного и АПИ дока по ИТ сервисам появится, знаю что она уже готова но в состоянии черновика.
    Когда точно появится не известно

    Comment

    • mclure
      Junior Member
      • Aug 2012
      • 6

      #3
      Originally posted by zalex_ua
      Подождите немного и АПИ дока по ИТ сервисам появится, знаю что она уже готова но в состоянии черновика.
      Когда точно появится не известно
      Едрить мадрить... а черновичок раздобыть-то можно? Я бы уже там дальше сам как-нибудь... А то начальство прям щас требует.

      Comment

      • Jimson
        Senior Member
        • Jan 2008
        • 1327

        #4
        исходник документации лежит в frontends/php/api/classes/*php

        Code:
        /**
                 * Get services.
                 *
                 * Allowed options:
                 * - parentids                      - fetch the services that are hardlinked to the given parent services;
                 * - childids                       - fetch the services that are hardlinked to the given child services;
                 * - countOutput                    - return the number of the results as an integer;
                 * - selectParent                   - include the parent service in the result;
                 * - selectDependencies             - include service child dependencies in the result;
                 * - selectParentDependencies       - include service parent dependencies in the result;
                 * - selectTimes                    - include service times in the result;
                 * - selectAlarms                   - include alarms generated by the service;
                 * - selectTrigger                  - include the linked trigger;
                 * - sortfield                      - name of columns to sort by;
                 * - sortorder                      - sort order.
                 *
                 * @param array $options
                 *
                 * @return array
                 */

        Comment

        • mclure
          Junior Member
          • Aug 2012
          • 6

          #5
          Originally posted by Jimson
          исходник документации лежит в frontends/php/api/classes/*php
          Ещё бы понять что всё это означает, и как этим пользоваться. Мне бы примерчик json-файла.

          Comment

          • Jimson
            Senior Member
            • Jan 2008
            • 1327

            #6
            не пробовал еще api использовать, ты спросил где нарыть информацию по api не дожидаясь документации, я и подсказал тебе где, рой код

            в данном случае можно начать с метода create() класса CService (api/classes/CService.php)

            Comment

            • mclure
              Junior Member
              • Aug 2012
              • 6

              #7
              Originally posted by Jimson
              не пробовал еще api использовать, ты спросил где нарыть информацию по api не дожидаясь документации, я и подсказал тебе где, рой код

              в данном случае можно начать с метода create() класса CService (api/classes/CService.php)
              А ты моё первое сообщение читал?
              Там как-раз рабочий json с методом create.
              А вот дальше хз...

              Comment

              • Jimson
                Senior Member
                • Jan 2008
                • 1327

                #8
                да читал, тебе нужны какие то депенды и тайм, в коде что то такое есть, специально посмотрел, код не очевидный, так что помочь ничем не могу, щас этим заниматься времени нету

                Comment

                • sadistt
                  Junior Member
                  • Sep 2012
                  • 1

                  #9
                  Originally posted by mclure
                  Доброго времени суток.
                  Документация по Услугам ИТ совсем тухлая, а как подумаю, что сотню серверов, да 150 касс завести, так совсем грустно становится.
                  Методом научного тыка и поиском в исходниках было установлено, что зависимость создается так:

                  Code:
                  >>> zapi.service.addDependencies({"serviceid":10, "dependsOnServiceid":12, "soft":0})
                  Здесь я использовал библиотеку на Python и интерактивный режим работы интерпретатора, но значение параметров и метод такие.
                  Вот объект JSON (точнее, это словарь Python, который парсится в JSON файл):
                  Code:
                  {'params': {'serviceid': 10, 'soft': 0, 'dependsOnServiceid': 12}, 'jsonrpc': '2.0', 'method': 'service.addDependencies', 'auth': u'528a6c052f440719315656e423d90b45', 'id': 16}
                  'serviceid' - ИД родительского каталога
                  'dependsOnServiceid' - ИД дочернего каталога
                  Last edited by sadistt; 03-09-2012, 13:59.

                  Comment

                  • mclure
                    Junior Member
                    • Aug 2012
                    • 6

                    #10
                    Originally posted by sadistt
                    Методом научного тыка и поиском в исходниках было установлено, что зависимость создается так:

                    Code:
                    >>> zapi.service.adddependencies({"serviceid":10, "dependsonserviceid":12, "soft":0})
                    Здесь я использовал библиотеку на python и интерактивный режим работы интерпретатора, но значение параметров и метод такие.
                    Вот объект json (точнее, это словарь python, который парсится в json файл):
                    Code:
                    {'params': {'serviceid': 10, 'soft': 0, 'dependsonserviceid': 12}, 'jsonrpc': '2.0', 'method': 'service.adddependencies', 'auth': U'528a6c052f440719315656e423d90b45', 'id': 16}
                    'serviceid' - ИД родительского каталога
                    'dependsonserviceid' - ИД дочернего каталога
                    Буквально пару часов назад тем же научным методом, выяснил тоже самое. Спасибо.
                    Осталось с временем разобраться.

                    Comment

                    • mclure
                      Junior Member
                      • Aug 2012
                      • 6

                      #11
                      А вот так добавлять время
                      Code:
                      {
                          "jsonrpc": "2.0",
                          "method": "service.addTimes",
                          "params": [
                              {
                                  "serviceid": "12345",
                                  "type": "0",
                                  "ts_from": "28800",
                                  "ts_to": "597600",
                                  "note": "бла-бла"
                              }
                          ],
                          "auth": "бла",
                          "id": 1
                      }
                      Время высчитывается в секундах от начала недели, неделя у пендосов с воскресенья начитается.
                      По параметрам подробнее тут http://www.zabbix.com/documentation/...ce/definitions
                      в разделе Times

                      Comment

                      • str
                        Junior Member
                        • Nov 2012
                        • 3

                        #12
                        а как считать Times? подскажите пожалуйста

                        Comment

                        • Pavels
                          Member
                          • Oct 2011
                          • 83

                          #13
                          Недавно мы опубликовали новую документацию по IT сервисам, надеюсь, она поможет разобраться.

                          http://www.zabbix.com/documentation/...ix/api/service

                          Comment

                          Working...