#!/bin/bash OUTPUT="result.html" cd /scripts/rancid/dev_port_overview/ || exit echo "

Device and Port Report

Locations

" > $OUTPUT echo 'select count(distinct location) as "Locations" from devices_locations;' > select.sql OUT1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUT2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo "
via snmp
RZ $OUT1
" >> $OUTPUT echo "

Devices

" >> $OUTPUT echo 'select count(*) as "Network devices (SW/RTR/DWDM)" from devices where type="network";' > select.sql OUTa1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTa2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "Firewalls (inc Cluster)" from devices where type="firewall";' > select.sql OUTb1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTb2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(distinct hostname) as "Firewall Cluster" from devices t1 inner join status t2 on t1.device_id = t2.device_id where t1.type="firewall" and t2.status_descr like "Failover%";' > select.sql OUTc1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTc2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "Wireless devices" from devices where type="wireless";' > select.sql OUTd1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTd2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(distinct device_id) as "FC Devices" from ports where ifOperStatus="up" and ifType="fibreChannel";' > select.sql OUTe1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTe2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo "
SW/RTR/DWDM Firewalls (inc Cluster) Firewall Cluster Wireless FibreChannel
RZ $OUTa1 $OUTb1 $OUTc1 $OUTd1 $OUTe1
" >> $OUTPUT echo "

Ports

" >> $OUTPUT echo 'select count(*) as "All Ports" from ports where deleted="0";' > select.sql OUTa1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTa2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "active FC Ports" from ports where ifOperStatus="up" and ifType="fibreChannel" and port_label_base="fc" and deleted="0";' > select.sql OUTb1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTb2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "non-active FC Ports" from ports where ifOperStatus="down" and ifType="fibreChannel" and port_label_base="fc" and deleted="0";' > select.sql OUTc1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTc2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "active 4G FC Ports" from ports where ifOperStatus="up" and ifType="fibreChannel" and port_label_base="fc" and ifspeed="4000000000" and deleted="0";' > select.sql OUTd1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTd2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "non-active 4G FC Ports" from ports where ifOperStatus="down" and ifType="fibreChannel" and port_label_base="fc" and ifspeed="4000000000" and deleted="0";' > select.sql OUTe1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTe2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "active 8G FC Ports" from ports where ifOperStatus="up" and ifType="fibreChannel" and port_label_base="fc" and ifspeed="8000000000" and deleted="0";' > select.sql OUTf1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTf2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "non-active 8G FC Ports" from ports where ifOperStatus="down" and ifType="fibreChannel" and port_label_base="fc" and ifspeed="8000000000" and deleted="0";' > select.sql OUTg1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTg2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "active 16G FC Ports"from ports where ifOperStatus="up" and ifType="fibreChannel" and port_label_base="fc" and ifspeed="16000000000" and deleted="0";' > select.sql OUTh1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTh2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "non-active 16G FC Ports"from ports where ifOperStatus="down" and ifType="fibreChannel" and port_label_base="fc" and ifspeed="16000000000" and deleted="0";' > select.sql OUTi1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTi2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "active Ethernet Ports" from ports where ifOperStatus="up" and ifType="ethernetCsmacd" and deleted="0";' > select.sql OUTj1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTj2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "non-active Ethernet Ports" from ports where ifOperStatus="down" and ifType="ethernetCsmacd" and deleted="0";' > select.sql OUTk1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTk2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "active Gigabit Ethernet Ports" from ports where ifOperStatus="up" and ifType="ethernetCsmacd" and ifspeed="1000000000" and deleted="0";' > select.sql OUTl1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTl2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "non-active Gigabit Ethernet Ports" from ports where ifOperStatus="down" and ifType="ethernetCsmacd" and ifspeed="1000000000" and deleted="0";' > select.sql OUTm1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTm2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "active 10Gigabit Ethernet Ports" from ports where ifOperStatus="up" and ifType="ethernetCsmacd" and ifspeed="10000000000" and deleted="0";' > select.sql OUTn1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTn2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "non-active 10Gigabit Ethernet Ports" from ports where ifOperStatus="down" and ifType="ethernetCsmacd" and ifspeed="10000000000" and deleted="0";' > select.sql OUTo1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTo2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo "
All Ports FibreChannel Ethernet
active FC non-active FC active 4G FC non-active 4G active 8G FC non-active 8G active 16G FC non-active 16G active Ethernet non-active Ethernet active Gigabit non-active Gigabit active 10Gigabit non-active 10Gigabit
RZ $OUTa1 $OUTb1 $OUTc1 $OUTd1 $OUTe1 $OUTf1 $OUTg1 $OUTh1 $OUTi1 $OUTj1 $OUTk1 $OUTl1 $OUTm1 $OUTn1 $OUTo1
" >> $OUTPUT echo "

IPSec

" >> $OUTPUT echo 'select count(distinct local_addr) as "Devices (FW/RTR) with Tunnels" from ipsec_tunnels where tunnel_status="active" and tunnel_deleted="0";' > select.sql OUTa1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTa2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(distinct peer_addr) as "Remote Firewalls" from ipsec_tunnels where tunnel_status="active" and tunnel_deleted="0";' > select.sql OUTb1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTb2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo 'select count(*) as "active IPSec SAs" from ipsec_tunnels where tunnel_status="active" and tunnel_deleted="0";' > select.sql OUTc1=$(mysql -u observium -pobservium -D observium < select.sql | tail -n1) #OUTc2=$(mysql -h 10.140.8.100 -u observium -pobservium -D observium < select.sql | tail -n1) echo "
Devices (FW/RTR) with Tunnels Remote Firewalls active IPSec SAs
RZ $OUTa1 $OUTb1 $OUTc1
" >> $OUTPUT rm select.sql