Ad Widget

Collapse

Настройка Zabbix для мониторинга SIP транков в Ас

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • babahvl
    Junior Member
    • Mar 2017
    • 12

    #1

    Настройка Zabbix для мониторинга SIP транков в Ас

    Делюсь статьей по настройке мониторинга SIP транков в Астериск.

    Жду конструктивную критику, пожелания, предложения.

    Статья находится на моем сайте.

    Last edited by babahvl; 14-03-2017, 00:09.
  • Alexander1310
    Member
    • Aug 2016
    • 35

    #2
    1) Not Found. The requested URL /articles/asterisktrunkdiscovery/index.html was not found on this server.
    2) У меня мониторинг транков в 1 строчке на баше, неужели это можно растянуть на статью?

    Comment

    • SolarW
      Member
      • Feb 2011
      • 41

      #3
      Originally posted by Alexander1310
      1) Not Found. The requested URL /articles/asterisktrunkdiscovery/index.html was not found on this server.
      http://sp-it.ru/articles/asterisk_tr...ery/index.html - а так?

      Comment

      • babahvl
        Junior Member
        • Mar 2017
        • 12

        #4
        Originally posted by alexander1310
        1) not found. The requested url /articles/asterisktrunkdiscovery/index.html was not found on this server.
        2) У меня мониторинг транков в 1 строчке на баше, неужели это можно растянуть на статью?
        Ну так....
        Код в студию, пожалуйста!
        Посмотрим, оценим. :-) Может что-то для себя полезное почерпнем

        Comment

        • yukra
          Senior Member
          • Apr 2013
          • 1359

          #5
          Originally posted by SolarW
          Так открывается.
          Я в астериске в частности и телефонии в общем случае ничего не понимаю, но могу совершенно точно сказать, что если вас друг за другой в пайпе в любой последовательно встречаются grep, sed, awk, то скорее всего нужно прочитать документацию или по sed, или по awk и заменить это на один вызов (а я вообще кусок на перле предпочитаю в таких моментах использовать).

          Зы мне кажется не самым оптимальным образом у вас сделано то, что правила обнаружения 2.

          Более логичным сделать одно правило, которое будет возвращать примерно такой json:
          Code:
          {
             "data" : [
                {
                   "{#TRUNKIP}" : "192.168.1.10",
                   "{#TRUNKNUMBER}" : "792612345678",
                   "{#TRUNKNAME}" : "ololo-telecom"
                },
                {
                   "{#TRUNKNUMBER}" : "791687654321",
                   "{#TRUNKNAME}" : "god-telecom",
                   "{#TRUNKIP}" : "10.0.0.0"
                }
             ]
          }
          И соответственно вы когда заводите триггер на например например на пинг, то делаете так:
          Имя: Пинг транка {#TRUNKNAME} - {#TRUNKNUMBER} ({#TRUNKIP})
          Ключ: icmpping[{#TRUNKIP}]

          В итоге по имени триггера (одному сообщению в почту\жаббер\телеграм) не только вам, но и почти любому сотруднику понятно какой именно номер отвалился.

          Ну и 2 параметра кмк это лишнее, одно параметра вполне хватит: если $1 - discovery, то выдаем json, иначе считаем что это "TRUNKNUMBER" и возвращаем его статус или "Trunkname not found" в случае если у нас такого нет.
          + статус (register) я бы отдавал числом (условно говоря register - 1, UNREACHABLE - 2 и тп, сколько нужно) С числами легче работать в триггерах (намного проще сделать триггет на "в течении недели транк работает меньше 80% всего времени), а переводить обратно (для человекопонимания) можно через маппинг.

          Comment

          • Alexander1310
            Member
            • Aug 2016
            • 35

            #6
            Да открывается, почитал, приношу свои извинения за "неужели это можно растянуть на статью" просто думал очередной однострочник размазанный на +100500 страниц

            Comment

            • SolarW
              Member
              • Feb 2011
              • 41

              #7
              Originally posted by alexander1310
              Да открывается, почитал, приношу свои извинения за "неужели это можно растянуть на статью" просто думал очередной однострочник размазанный на +100500 страниц
              Ну с этим то понятно :-)
              А вот это
              Originally posted by alexander1310
              2) У меня мониторинг транков в 1 строчке на баше
              мы увидим или как?

              Comment

              • Alexander1310
                Member
                • Aug 2016
                • 35

                #8
                Смотрим state транка, если получаем не 'Registered' то 0 и отрабатывает триггер + reload.

                Comment

                • babahvl
                  Junior Member
                  • Mar 2017
                  • 12

                  #9
                  Originally posted by yukra

                  Более логичным сделать одно правило, которое будет возвращать примерно такой json:
                  Code:
                  {
                     "data" : [
                        {
                           "{#trunkip}" : "192.168.1.10",
                           "{#trunknumber}" : "792612345678",
                           "{#trunkname}" : "ololo-telecom"
                        },
                        {
                           "{#trunknumber}" : "791687654321",
                           "{#trunkname}" : "god-telecom",
                           "{#trunkip}" : "10.0.0.0"
                        }
                     ]
                  }
                  А ну, отлично. Согласен, так лучше.

                  Comment

                  • Kos
                    Senior Member
                    Zabbix Certified SpecialistZabbix Certified Professional
                    • Aug 2015
                    • 3404

                    #10
                    Категорически присоединяюсь к замечаниям yukra, особенно по поводу конвейеров из sed, grep и awk.

                    Ещё замечание:
                    Для этого добавляем в файл /etc/sudoers в самый конец следующую строку:
                    Вот не надо добавлять в файл следующую строку. Поскольку в этой следующей строке приведена команда, добавляющая в файл то, что нужно :-)

                    Comment

                    • babahvl
                      Junior Member
                      • Mar 2017
                      • 12

                      #11
                      Originally posted by kos
                      Вот не надо добавлять в файл следующую строку. Поскольку в этой следующей строке приведена команда, добавляющая в файл то, что нужно :-)
                      Согласен. Учел, текст статьи подправил.
                      Спасибо!

                      Comment

                      • SolarW
                        Member
                        • Feb 2011
                        • 41

                        #12
                        Originally posted by Kos
                        Категорически присоединяюсь к замечаниям yukra, особенно по поводу конвейеров из sed, grep и awk.
                        (вздыхая) это ж sed/awk уметь надо...
                        А так (по своему опыту) надергал из инета кусков, убедился что умеют то, что надо ну и налепил длинных конвейеров...

                        Comment

                        • babahvl
                          Junior Member
                          • Mar 2017
                          • 12

                          #13
                          Originally posted by solarw
                          (вздыхая) это ж sed/awk уметь надо...
                          А так (по своему опыту) надергал из инета кусков, убедился что умеют то, что надо ну и налепил длинных конвейеров...
                          коллеги, подскажите, как бы сделали вы?

                          Comment

                          • SolarW
                            Member
                            • Feb 2011
                            • 41

                            #14
                            Originally posted by babahvl
                            коллеги, подскажите, как бы сделали вы?
                            О, да, присоединяюсь к просьбе - очень интересно поучится у специалистов умеющих без конвейеров одной командой sed/awk нужный результат получить.
                            Kos, yukra - просим :-)
                            Исходный материал:
                            Code:
                            [root@pbx ~]# asterisk -rx "sip show registry"
                            Host                                    dnsmgr Username       Refresh State                Reg.Time
                            xx.xx.xx.214:5060                        N      0xxnnnnn02         585 Registered           Tue, 21 Mar 2017 13:16:48
                            xx.xx.xx.214:5060                        N      0xxnnnnn60         585 Registered           Tue, 21 Mar 2017 13:16:49
                            xx.xx.xx.214:5060                        N      0xxnnnnn10         585 Registered           Tue, 21 Mar 2017 13:16:49
                            xx.xx.xx.214:5060                        N      0xxnnnnn72         585 Registered           Tue, 21 Mar 2017 13:16:49
                            pbx05.xxxx.com:5060                      Y      user03             585 Registered           Tue, 21 Mar 2017 13:16:49
                            5 SIP registrations.

                            Comment

                            • SolarW
                              Member
                              • Feb 2011
                              • 41

                              #15
                              Originally posted by babahvl
                              Делюсь статьей по настройке мониторинга SIP транков в Астериск.

                              Жду конструктивную критику, пожелания, предложения.
                              По поводу пожеланий.
                              С теми транками где астериск регистрируется у оператора все понятно и красиво получается.
                              Но получается что в этом случае мониторинг регистрации.
                              А что делать с транками БЕЗ регистрации?
                              Например GSM-шлюз (или PRI-gate) зарегистрировался на астериске и состояние этого пира было бы неплохо отслеживать.
                              Или еще какой-нибудь похожий вариант когда транк виден по sip show peers и с включенным qualify=yes можно видеть доступен ли он.

                              Comment

                              Working...