Ad Widget

Collapse

Поверка dns (net.tcp.dns)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • hubbly-bubbly
    Junior Member
    • Nov 2009
    • 25

    #1

    Поверка dns (net.tcp.dns)

    Есть необходимость мониторить работоспособность нескольких dns серверов, в которых имеется информация о какой то определенной зоне, например blablabla.ru.


    Судя по описанию элемента данных это можно сделать при помощи
    net.tcp.dns[ip_NS,blablabla.ru]
    что я считал по принципу схожим с выполнением команды
    dig blablabla.ru @ip_NS

    Но, как оказалось, при неработоспособности dns сервера с адресом ip_NS значение элемента данных net.tcp.dns[ip_NS,blablabla.ru] все равно остается равным 1.
    Каким образом тогда проверять работоспособность этого dns сервера?
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    В документации написано
    ip - IP адрес DNS сервера (игнорируется)
    http://www.zabbix.com/documentation/...l/config/items

    Comment

    • hubbly-bubbly
      Junior Member
      • Nov 2009
      • 25

      #3
      Я вижу, что там так написано. Тогда какой смысл вообще его вставлять в элемент данных?
      То есть работоспособность конкретного dns сервера средствами zabbix никак не проверить?

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Originally posted by hubbly-bubbly
        Я вижу, что там так написано. Тогда какой смысл вообще его вставлять в элемент данных?
        То есть работоспособность конкретного dns сервера средствами zabbix никак не проверить?
        Можно через внешний скрипт и UserParameter
        Code:
        #!/usr/bin/perl
        use Net::DNS;
        my $debug=0; #debug 0 - OFF; 1 - ON
        my $res = Net::DNS::Resolver->new(
                       recurse     => 1,
                       debug       => $debug,
                 );
        $res->nameservers("$DNS_Server");
        my @zone = $res->axfr($dns_zone);
        if (defined($zone[0]))
         {
         print "$0 zone transfer ",$zone[0]->name," from $DNS_Server OK\n";
         }else
           {
            print "$0 zone transfer from $DNS_Server Failed\n";
           }
        Last edited by dima_dm; 26-10-2010, 14:41.

        Comment

        • hubbly-bubbly
          Junior Member
          • Nov 2009
          • 25

          #5
          Спасибо.
          А есть принципиальная разница при запуске внешних скриптов через UserParameter и при помощи system.run ?

          Comment

          • dima_dm
            Senior Member
            • Dec 2009
            • 2697

            #6
            Originally posted by hubbly-bubbly
            Спасибо.
            А есть принципиальная разница при запуске внешних скриптов через UserParameter и при помощи system.run ?
            Мне кажется, что использование UserParameter более безопасно, т.к. через UserParameter можно сделать только то, на что рассчитан данный скрипт, а для использования system.run нужно включить в zabbix_agentd.conf
            EnableRemoteCommands=1
            И можно выполнить произвольную команду.

            Comment

            • zalex_ua
              Senior Member
              Zabbix Certified Trainer
              Zabbix Certified SpecialistZabbix Certified Professional
              • Oct 2009
              • 1286

              #7
              Originally posted by dima_dm
              а для использования system.run нужно включить в zabbix_agentd.conf
              EnableRemoteCommands=1
              И можно выполнить произвольную команду.
              Ой спасибо, теперь буду знать, а то мне это обстоятельство давно покоя не давало. Только досадно что это нигде не указано в документации (именно для этого ключа system.run).

              Comment

              • dima_dm
                Senior Member
                • Dec 2009
                • 2697

                #8
                Originally posted by zalex_ua
                Ой спасибо, теперь буду знать, а то мне это обстоятельство давно покоя не давало. Только досадно что это нигде не указано в документации (именно для этого ключа system.run).
                Указано
                http://www.zabbix.com/documentation/...l/config/items
                Code:
                system.run[ls -l /] - подробный список файлов в корневой папке.
                Примечание:
                Для включения этой функциональности, в настройках агента должна быть опция EnableRemoteCommands=1.

                Comment

                • zalex_ua
                  Senior Member
                  Zabbix Certified Trainer
                  Zabbix Certified SpecialistZabbix Certified Professional
                  • Oct 2009
                  • 1286

                  #9
                  Originally posted by zalex_ua
                  Только досадно что это нигде не указано в документации (именно для этого ключа system.run).
                  Originally posted by dima_dm
                  ..мда
                  Досадно осознавать что я и слепой и памяти у меня нету
                  Спасибо.
                  Last edited by zalex_ua; 27-10-2010, 15:35.

                  Comment

                  • Mox
                    Member
                    • Sep 2009
                    • 90

                    #10
                    Ваааапще, что-то меня zabbix все больше и больше расстраивает =(((.

                    Comment

                    • hubbly-bubbly
                      Junior Member
                      • Nov 2009
                      • 25

                      #11
                      практические все проблемы с dns у нас оталвливаются такой командой:

                      dig soa $domen @$dns_ip | grep -c '$domen.*SOA.*$dns_host.'

                      Comment

                      • Mox
                        Member
                        • Sep 2009
                        • 90

                        #12
                        Originally posted by hubbly-bubbly
                        практические все проблемы с dns у нас оталвливаются такой командой:

                        dig soa $domen @$dns_ip | grep -c '$domen.*SOA.*$dns_host.'
                        спасибо! но я уже взял скрипт отсюда
                        http://www.zabbix.com/wiki/howto/mon...n_your_network
                        конечно, написать самому все это не проблема. Но вот только Заббикс весь из себя такой "изкоробочный", а оказывается, что елементарные вещи работают неправильно или не работают вообще

                        Comment

                        Working...