В данной статье опишу то, как импортировать хосты из zabbix в NOC-project.
Зачем это делать? Да за тем, что в zabbix настроено discovery, и когда а в NOC-project такого функционала нет(На момент написания статьи естественно), и хосты туда нужно добавлять руками. Конечно, этот вариант полностью подходит мне, но не факт, что он подойдет и вам. ))
Суть в том, что скрипт берет хосты из БД zabbix и импортирует из в NOC c заведомо опеределенными параметрами в скрипте.
Вот сам скрипт:
[noc@nocp ~/zabbixTOnoc]$ cat ./script.sh
#!/usr/local/bin/bash
rm *.toNOC
echo "select ip from hosts where status = 0" \
| mysql -u zabbix -ppasswordtozabbixDB -hmdb zabbix \
| sort -u | grep -v 127.0.0.1 \
| grep -v 255.255 \
| grep -v ip > zabbix.hosts
echo "select ip from hosts where status = 0" \
| mysql -u zabbix -ppasswordtozabbixDB -hmdb zabbix \
| sort -u | grep -v 127.0.0.1 \
| grep -v ip | grep -v '172.22.2.' | grep -v "19[435]." | grep -v "10.0.[01]." \
| grep -v "172.22.136." \
> zabbix.hosts
echo " select address from sa_managedobject" | psql noc \
|grep -v [a-zA-Z] | grep -v '-' | sort -u | awk {'print $1'} > noc.hosts
diff ./zabbix.hosts ./noc.hosts | grep '<' | awk {'print $2'} > zabbixtonoc.diff
FILE=`cat ./zabbixtonoc.diff`;
for I in $FILE
do
MOD=`(sleep 1; echo "loginonsw"; echo "passwordonsw"; echo "logout";) | telnet $I | grep [dD][eE] | awk {'print $2'}`
if ! [ -z $MOD ]
then
echo $I >> ./$MOD.toNOC
else
#2108
echo $I >> /dev/null
fi
done
#Delete Cisco.
rm ./Kerberos:.toNOC
FILE=`cat ./*.toNOC`
echo 'name,profile_name,description,scheme,address,port,user,password,super_password,remote_path,trap_source_ip,trap_community,snmp_ro,snmp_rw,repo_path,administrative_domain,activator' > ./importtmp.csv
for I in $FILE
do
echo "$I,DLink.DES3xxx,,telnet,$I,,login_on_SW,Password_on_sw,,,,,,,dlink/$I.conf,default,default" >> importtmp.csv
done
#Unix to win EOL
awk 'sub("$", "\r")' importtmp.csv > import.csv
#Delete tmp files
rm -f ./importtmp.csv
rm -f ./*.hosts
rm -f ./*.diff
cd /opt/noc && python manage.py import-objects ~noc/zabbixTOnoc/import.csv
Конечно еслы вы будете использовать данную схему то нужно править этот скрипт.
Спасибо за внимание!!!
Комментариев нет:
Отправить комментарий