Ad Widget

Collapse

API МТС

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • platochek_krd
    Junior Member
    • Nov 2022
    • 5

    #1

    API МТС

    Добрый день.
    Прилетела задача - мониторить остаток пакетов трафика на номере МТС.
    Для работы со всеми методами МТС API необходимо передавать в запросе access_token.
    Токен живет 3600 секунд,
    в документации 2 запроса: на генерирование токена
    curl --location --request POST 'https://api.mts.ru/token' \ -u 'Consumer Key:Consumer Secret' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=client_credentials'
    и на получения информации об остатках пакетов минут, интернет, SMS.
    curl --location --request GET 'https://api.mts.ru/b2b/v1/Bills/ValidityInfo?fields=MOAF&customerAccount.accountNo =7ХХХХХХХХХХ&customerAccount.productRelationship.p roduct.productLine.name=Counters' \ --header 'Authorization: Bearer access_token'
    в среде Postman все проходит на ура, а вот реально ли это автоматизировать посредством Zabbix.
    Опыт с ним не большой, прошу отнестись с пониманием.





  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Да - это реально.
    для таких вещей есть элемент данных типа «скрипт»
    В нем на JS делаете свою логику работы.
    https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/script
    https://www.zabbix.com/documentation/current/en/manual/config/items/preprocessing/javascript/javascript_objects

    Comment

    • Alex_UUU
      Senior Member
      • Dec 2018
      • 541

      #3
      А если JS не знаком, то на любом другом языке, хоть на баше.

      Comment

      • Stuntrider
        Junior Member
        • May 2016
        • 8

        #4
        Меня тоже интересует реализация данного вопроса. в языках не силен. может есть готовое решение?

        Comment

        • IkarusKam
          Member
          • Dec 2023
          • 40

          #5
          У меня реализовано с помощью Grafana и Infity API запросами к МТС. Если интересна реализация с помощью Grafana, расскажу и объясню, как реализовано.
          Потом, можно увеличить жизнь токена с помощью запроса -
          Click image for larger version

Name:	image.png
Views:	204
Size:	28.9 KB
ID:	499619
          validity_period и указываем сколько должен жить ТОКЕН

          Comment


          • Stuntrider
            Stuntrider commented
            Editing a comment
            конечно интересно, возможно разберусь как на забикс натянуть это

          • Just-it
            Just-it commented
            Editing a comment
            добрый день, не могли бы поделиться как реализовано у вас, для реализации для себя. Спасибо.
        • Stuntrider
          Junior Member
          • May 2016
          • 8

          #6
          спустя несколько ночей проб и попыток сделать это на чистом zabbix так и не мог понять как передать значение одного item в другой и пошел по пути хардкода. решение рабочее но не гибкое если у вас много номеров для мониторинга.
          его можно доработать если передавать входные данные через переменные окружения. В архиве 2 файла (сам шаблон и скрипт для внешней проверки) Скрипт кладем в /usr/lib/zabbix/externalscripts/ и делаем его исполняемым от имени zabbix/ в самом скрипте нужно сделать 3 правки (логин пароль и номер телефона). по результату работы он возвращает json массив который силами шаблона заббикса разбирается и обрезается до 2х символов после запятой. триггеры можете придумать сами
          Attached Files

          Comment

          • Stuntrider
            Junior Member
            • May 2016
            • 8

            #7
            Переделал немного и шаблон стал динамическим. (можно мониторить несколько номеров: остаток средств и минут) триггеры делайте на свое усмотрение. Если что то не так прошу сильно не пинать.
            Attached Files

            Comment

            Working...