Netdisco
Netdisco hämtar MAC-tabeller, ARP-tabeller, VLAN-databaser, LLDP/CDP-grannskap, firmwareversioner, m.m från routrar och switchar med hjälp av SNMP. Man schemalägger när data ska samlas in.
Contents
Installation Ubuntu 14.04.1 LTS Server x64
Denna guide är minimalistiskt utformad, för kommandoförklaringar se referensguide alternativt google.
Förberedelser
Denna guide är till stor del hämtad från: http://blog.asiantuntijakaveri.fi/2014/08/netdisco2-on-ubuntu-1404.html
sudo su - apt-get update && apt-get -y dist-upgrade && apt-get -y install open-vm-tools build-essential wget lftp mtr-tiny zip ntp echo "net.ipv6.conf.all.disable_ipv6=1" >>/etc/sysctl.conf
Databas
apt-get -y install libdbd-pg-perl libsnmp-perl postgresql pgtune mv /etc/postgresql/9.3/main/postgresql.conf /etc/postgresql/9.3/main/postgresql.conf.old pgtune -i /etc/postgresql/9.3/main/postgresql.conf.old -o /etc/postgresql/9.3/main/postgresql.conf
Switch to postgres user and create new SQL user
su - postgres createuser -DRSP netdiscoUSER <- webgui user (Enter some password here) <- webgui pw createdb --owner netdiscoUSER netdiscoDB
Switch back to root
exit
Netdisco
adduser netdisco --shell /bin/bash --disabled-password --gecos netdisco && su - netdisco curl -L http://cpanmin.us/ | perl - --notest --local-lib ~/perl5 App::Netdisco
mkdir ~/bin && mkdir ~/environments && ln -s ~/perl5/bin/{localenv,netdisco-*} ~/bin/ ~/bin/netdisco-daemon status
Här är grunden för deploymenten, lägg till de SNMP-communitys som ska användas. Schemaläggningen är i cron-format. T.ex. discoverall görs 10 över varje timme.
OBS Om detta görs i en virtuell maskin tas förslagsvis en snapshot här.
cat <<'__EOF__'>~/environments/deployment.yml database: name: 'netdiscoDB' user: 'netdiscoUSER' pass: '(PW som sattes tidigare)' safe_password_store: true snmp_auth: - tag: 'default_1' community: 'puplic' read: true write: false - tag: 'default_2' community: 'public' read: true write: false schedule: discoverall: when: '10 * * * *' macwalk: when: '35 * * * *' arpwalk: when: '45 * * * *' nbtwalk: when: '55 * * * *' expire: when: '15 23 * * *' dns: max_outstanding: 50 workers: tasks: 'AUTO * 5' __EOF__
~/bin/netdisco-deploy
Create script to start Netdisco
cat <<'__EOF__' >~/run-netdisco.sh #!/bin/bash ~/bin/netdisco-web start sleep 5 ~/bin/netdisco-daemon start __EOF__ chmod a+x ~/run-netdisco.sh
~/run-netdisco.sh
Switch back to root
exit echo "( sudo su - netdisco -c '/home/netdisco/run-netdisco.sh' ) &" >/etc/rc.local reboot
Enheter som ska övervakas
Logga in på diverse enhet som ska övervakas och lägg till community samt IP för Netdiscomaskinen.
WEBGUI
Logga in på http://[IP]:5000
Mata in IP-adresser på de switchar och routrar som ska övervakas på förstasidan.
Underhåll
upgrade Netdisco
~/bin/localenv cpanm --notest App::Netdisco
apply database schema updates
~/bin/netdisco-deploy
restart web service
~/bin/netdisco-web restart
restart job daemon
~/bin/netdisco-daemon restart