Поиск по этому блогу

среда, 13 октября 2010 г.

именуем хосты в zabbix

У нас в сети настроено автоматическое обнаружение хостов для zabbix, только вот проблема в том, что хосты иногда криво обзываются(связано с настроками DNS). Вот написал скорпт, может быть кому поможет, он берет sysname по snmp и обновляет забиси в БД. Скрипт этот запускается по крону раз в день. Все прекрасно работает.


#!/usr/local/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin

echo "update hosts set dns = host where ip <> host and dns like '%internal-rfc1918.example.com%';" | mysql -uzabbix -ppassword zabbix -hmdb.example.com
echo "update hosts set host=ip where host like '%internal-rfc1918.example.com%';" | mysql -uzabbix -ppassword zabbix -hmdb.example.com
echo "select ip from hosts where host=ip" | mysql -uzabbix -ppassword zabbix -hmdb.example.com > /tmp/withoutip

FILE=`cat /tmp/withoutip`

for I in $FILE

do

NAME=`snmpget -c community -v2c $I 1.3.6.1.2.1.1.5.0 | awk {'print $4,$5,$6,$7,$8'} | sed -e s/" "//g | sed -e s/[/_]//g 2> /dev/null`
snmpget -c community -v2c $I 1.3.6.1.2.1.1.5.0 2&> /dev/null
if [ $? -eq 0 ]
then
echo "update hosts set host = '$NAME.example.com' where ip='$I' and ip=host;" | /usr/local/bin/mysql -uzabbix -ppassword -hmdb.example.com zabbix
fi
done
rm /tmp/withoutip



echo "select ip from hosts where host=ip" | /usr/local/bin/mysql -uzabbix -ppassword zabbix -hmdb.example.com > /tmp/withoutip

FILE=`cat /tmp/withoutip`


for I in $FILE

do

NAME=`snmpget -c community -v2c $I 1.3.6.1.2.1.1.5.0 | awk {'print $4,$5,$6,$7,$8'} | sed -e s/" "//g | sed -e s/[/_]/-/g 2> /dev/null`
snmpget -c community -v2c $I 1.3.6.1.2.1.1.5.0 2&> /dev/null
if [ $? -eq 0 ]
then
echo "update hosts set host = '$NAME.example.com' where ip='$I' and ip=host;" | /usr/local/bin/mysql -uzabbix -ppassword -hmdb.example.com zabbix
fi
done
 

Комментариев нет:

Отправить комментарий