#!/bin/bash
OUTPUT="result.html"
cd /scripts/rancid/dev_port_overview/ || exit
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 "
Device and Port Report
Locations
RZ: $OUT1
FLW: $OUT2
" > $OUTPUT
echo 'select count(*) as "Network devices (SW/RTR/DWDM)" from devices where type="network";' > 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 "
Devices
Network devices (SW/RTR/DWDM)
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo 'select count(*) as "Firewalls (inc Cluster)" from devices where type="firewall";' > 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 " Firewalls (inclusive Cluster)
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " Firewall Cluster)
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo 'select count(*) as "Wireless devices" from devices where type="wireless";' > 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 " Wireless
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo 'select count(distinct device_id) as "FC Devices" from ports where ifOperStatus="up" and ifType="fibreChannel";' > 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 " Fibre Channel
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo 'select count(*) as "All Ports" from ports where deleted="0";' > 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 "
Ports
All
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " active FC Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " non-active FC Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " active 4G FC Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " non-active 4G FC Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " active 8G FC Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " non-active 8G FC Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " active 16G FC Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " non-active 16G FC Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo 'select count(*) as "active Ethernet Ports" from ports where ifOperStatus="up" and ifType="ethernetCsmacd" and deleted="0";' > 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 " active Ethernet Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo 'select count(*) as "non-active Ethernet Ports" from ports where ifOperStatus="down" and ifType="ethernetCsmacd" and deleted="0";' > 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 " non-active Ethernet Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo 'select count(*) as "active Gigabit Ethernet Ports" from ports where ifOperStatus="up" and ifType="ethernetCsmacd" and ifspeed="1000000000" and deleted="0";' > 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 " active Gigabit Ethernet Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " non-active Gigabit Ethernet Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo 'select count(*) as "active 10Gigabit Ethernet Ports" from ports where ifOperStatus="up" and ifType="ethernetCsmacd" and ifspeed="10000000000" and deleted="0";' > 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 " active 10Gigabit Ethernet Ports
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
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
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 " non-active 10Gigabit Ethernet Ports
RZ: $OUT1
FLW: $OUT2" >> $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
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 "
IPSec
Devices (FW/RTR) with Tunnels
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo 'select count(distinct peer_addr) as "Remote Firewalls" from ipsec_tunnels where tunnel_status="active" and tunnel_deleted="0";' > 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 " Remote Firewalls
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo 'select count(*) as "active IPSec SAs" from ipsec_tunnels where tunnel_status="active" and tunnel_deleted="0";' > 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 " active IPSec SAs
RZ: $OUT1
FLW: $OUT2" >> $OUTPUT
echo "
" >> $OUTPUT