Ad Widget

Collapse

Автообнаружение и sysName

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • fatherfbi
    Junior Member
    • Apr 2013
    • 16

    #1

    Автообнаружение и sysName

    Подскажите как сделать что бы при автообнаружении свичей, zabbix в имя устройства помещал его sysName а не IP адрес?
  • aib
    Senior Member
    • Jan 2014
    • 1615

    #2
    Кусочек документации:
    When adding hosts, a host name is the result of reverse lookup or IP address if reverse lookup fails. Lookup is performed from the Zabbix server or Zabbix proxy, depending on which is doing the discovery. If lookup fails on the proxy, it is not retried on the server. If the host with such a name already exists, the next host would get _2 appended to the name, then _3 and so on.
    Вольный перевод - "Используя DNS, вы сможете подсказать Zabbix, какие имена хостов задать вновь создаваемым хостам, найденным по IP"
    Sincerely yours,
    Aleksey

    Comment

    • fatherfbi
      Junior Member
      • Apr 2013
      • 16

      #3
      Originally posted by aib
      Кусочек документации:


      Вольный перевод - "Используя DNS, вы сможете подсказать Zabbix, какие имена хостов задать вновь создаваемым хостам, найденным по IP"
      Да ладно?? 1200 свичей прописать на DNS серере или на hosts на сервере забикса? Вы серъезно??

      Comment

      • aib
        Senior Member
        • Jan 2014
        • 1615

        #4
        Зачем мне шутить?
        Вы их как - по адресам запоминаете?
        Или все-же по именам площадок-филиалов-городов?

        Прописывание в dns - это просто другой способ организовать ваши данные, а никак не "наказание для временного студента"

        К тому-же, dns под unix - это достаточно простая текстовая база, которая может быть создана скриптами из (например) excel-овской таблички.

        PS небольшое уточнение - Zabbix Использует reverse DNS-lookup. Так что не забудьте, что надо прописывать оба направления - для прямого и обратного распознавания адреса и имени.
        Sincerely yours,
        Aleksey

        Comment

        • sersad
          Senior Member
          • May 2009
          • 518

          #5
          авто обнаружение - создание действия на обнаружение.
          Предварительно создать глобальный скрипт.

          Код скрипта
          Code:
          cat /home/zabbix/scripts-zabbix/rn 
          #!/bin/bash
          MYSQL="mysql --connect_timeout 10 zabbix2 -h 127.0.0.1 -u zabbix --password=Паролька --skip-column-names -B -e"
          $MYSQL "SELECT interface.ip FROM hosts,interface WHERE main = 1 AND hosts.hostid= interface.hostid AND hosts.host = '$1' AND interface.ip = hosts.name" | while read line
          do
          arr=($line)
          x=`snmpwalk -Ou -Oq -v2c -c com1 ${arr[0]} system.sysName.0 2> /dev/null | awk '{print$2}' | tr "[:upper:]" "[:lower:] " ` 
          [[ -n $x ]] && $MYSQL "UPDATE hosts SET name = '$x' WHERE host ='${arr[0]}'" && $MYSQL "UPDATE hosts SET host = '$x' WHERE host ='${arr[0]}'"
          echo "1  = $x" >> /tmp/rn.log
          x=`snmpwalk -Ou -Oq -v2c -c com2 ${arr[0]} system.sysName.0 2> /dev/null | awk '{print$2}' | tr "[:upper:]" "[:lower:] " ` 
          
          [[ -n $x ]] && $MYSQL "UPDATE hosts SET name = '$x' WHERE host ='${arr[0]}'" && $MYSQL "UPDATE hosts SET host = '$x' WHERE host ='${arr[0]}'"
          x=`snmpwalk -Ou -Oq -v2c -c com3 ${arr[0]} system.sysName.0 2> /dev/null | awk '{print$2}' | tr "[:upper:]" "[:lower:] " ` 
          
          [[ -n $x ]] && $MYSQL "UPDATE hosts SET name = '$x' WHERE host ='${arr[0]}'" && $MYSQL "UPDATE hosts SET host = '$x' WHERE host ='${arr[0]}'"
          
          done
          com1-com3 свои комунити
          Attached Files

          Comment

          • fatherfbi
            Junior Member
            • Apr 2013
            • 16

            #6
            Originally posted by sersad
            авто обнаружение - создание действия на обнаружение.
            Предварительно создать глобальный скрипт.

            Код скрипта
            Code:
            cat /home/zabbix/scripts-zabbix/rn 
            #!/bin/bash
            mysql="mysql --connect_timeout 10 zabbix2 -h 127.0.0.1 -u zabbix --password=Паролька --skip-column-names -b -e"
            $mysql "select interface.ip from hosts,interface where main = 1 and hosts.hostid= interface.hostid and hosts.host = '$1' and interface.ip = hosts.name" | while read line
            do
            arr=($line)
            x=`snmpwalk -ou -oq -v2c -c com1 ${arr[0]} system.sysname.0 2> /dev/null | awk '{print$2}' | tr "[:upper:]" "[:lower:] " ` 
            [[ -n $x ]] && $mysql "update hosts set name = '$x' where host ='${arr[0]}'" && $mysql "update hosts set host = '$x' where host ='${arr[0]}'"
            echo "1  = $x" >> /tmp/rn.log
            x=`snmpwalk -ou -oq -v2c -c com2 ${arr[0]} system.sysname.0 2> /dev/null | awk '{print$2}' | tr "[:upper:]" "[:lower:] " ` 
            
            [[ -n $x ]] && $mysql "update hosts set name = '$x' where host ='${arr[0]}'" && $mysql "update hosts set host = '$x' where host ='${arr[0]}'"
            x=`snmpwalk -ou -oq -v2c -c com3 ${arr[0]} system.sysname.0 2> /dev/null | awk '{print$2}' | tr "[:upper:]" "[:lower:] " ` 
            
            [[ -n $x ]] && $mysql "update hosts set name = '$x' where host ='${arr[0]}'" && $mysql "update hosts set host = '$x' where host ='${arr[0]}'"
            
            done
            com1-com3 свои комунити
            Спасибо, буду пробовать.

            Comment

            Working...