#!/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 " " >> $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