City vs Data Center Temperature !
Following is a temperature graph to compare difference between City temperature vs Data Center temperature. I made it for some local presentation purposes. Since I had no external sensor available for outside temperature monitoring, therefore I used external bash script to gather data from the internet using ‘Pakistan Meteorological Department PMD‘ website and then after filtering , output only required data. For NOC I used internal UPS sensor snmp query.
#cat /temp/weather.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | #!/bin/sh #set -x # Script to download KARACHI city temperature from Pakistan MET Dept web site and output only temperature related information # It will also query the NCO room temperature using UPS sensor via snmp query # I made this script to create City temperature vs NOC temperature comparison MRTG graph # Created : 9th-DEC-2016 # Syed Jahanzaib # aacable[at]hotmail[dot]com ####### Various Variables ######### # City temperature temporary holders in /tmp folder CITY_TEMPR_HOLDER="/tmp/khiweather.txt" CITY_TEMPR_4_OFFLINE="/tmp/khiweather_offline.txt" # Variables for UPS IP and SNMP community string. It ilwl be used to acquire data center temperature using UPS sensor UPS_IP="10.0.0.10" UPS_SNMP_STR="public" # OID for temperature sensor using USP SNMP card/sendor UPS_OID="1.3.6.1.4.1.13400.2.62.2.1.2.0" ############################################################################ ####### PART - 1 , DATA CENTER Temperature query via UPS SNMP enabled sensor ############################################################################ # Store DATA Center temperature queries result in buffer NOC_TEMPR=`snmpwalk -v1 -c $UPS_SNMP_STR $UPS_IP -Onqv $UPS_OID` # Divide stored buffer by 100 to get human readable format in Celsius NOC_TEMPR_FINAL=`echo $(($NOC_TEMPR/100))` # Validate if temperature is not valid, liek url not accessible, or other errors # If error found, then PRINT ZERO 0 VALUE , else print the acquired result NOC_TEMPR_FINAL_VALID=`echo ${#NOC_TEMPR_FINAL}` if [ $NOC_TEMPR_FINAL_VALID -eq 2 ]; then echo "$NOC_TEMPR_FINAL" else echo "0" fi ########################################################################### ####### PART - 2 , QUERY KARACHI CITY TEMPERATURE FORM THE INTERNET # USING PAKISTAN MET DEPt for KARACHI website, than TRIM THE RESULT ####### ########################################################################### CITY_TEMPR=`lynx -cache=1 -dump $URL > $CITY_TEMPR_HOLDER` CITY_TEMPR_VALUE=`grep -A 1 "Karachi" $CITY_TEMPR_HOLDER |sed '2q;d' | awk '{print $1}'` CITY_TEMPR_VALID=`echo ${#CITY_TEMPR_VALUE}` # Validate if temperature is not valid, like URL not accessible, OR other errors # If error found, then PRINT last valid VALUE if [ $CITY_TEMPR_VALID -eq 2 ]; then #CITY_TEMPR_VALUE_FINAL=`echo $(($CITY_TEMPR_VALUE - 1))` echo "$CITY_TEMPR_VALUE" echo "$CITY_TEMPR_VALUE" > $CITY_TEMPR_4_OFFLINE else cat $CITY_TEMPR_4_OFFLINE fi ################### ####### END ####### ################### |
MRTG CFG file for weather
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | WorkDir:/var/www/mrtg ### MONITORING KARACHI Temprature vs our DATA Center ### Target[KARACHI_CITY_vs_NOC_tempr]: `/temp/weather.sh` Title[KARACHI_CITY_vs_NOC_tempr]: Temprature Monitoring / Data Center vs Karachi City using PAK MET Site by zaib PageTop[KARACHI_CITY_vs_NOC_tempr]: <h1>Temprature Monitoring / Data Center vs Karachi City using PAK MET Site by zaib</h1> Options[KARACHI_CITY_vs_NOC_tempr]: gauge, growright, nopercent MaxBytes[KARACHI_CITY_vs_NOC_tempr]: 60 Colours[KARACHI_CITY_vs_NOC_tempr]: B#467EEE,R#FF0000,BLUE#2184FF,RED#ff4f27 YLegend[KARACHI_CITY_vs_NOC_tempr]: Temprature ShortLegend[KARACHI_CITY_vs_NOC_tempr]: c LegendI[KARACHI_CITY_vs_NOC_tempr]: NOC Temprature LegendO[KARACHI_CITY_vs_NOC_tempr]: City Temprature Legend1[KARACHI_CITY_vs_NOC_tempr]: NOC Temprature Legend2[KARACHI_CITY_vs_NOC_tempr]: City Temprature #Unscaled[KARACHI_CITY_vs_NOC_tempr]: dwmy |
Data Center Room Temperature & Humidity !
Above graph was made using Emerson Liebert UPS sensor using following OID’s and MRTG CFG
Temperature: 1.3.6.1.4.1.13400.2.62.2.1.2.0
Humidity: 1.3.6.1.4.1.13400.2.62.2.1.3.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | WorkDir:/var/www/mrtg ### MONITORING NOC ROOM TEMP ### Target[noc_room_temp]: 1.3.6.1.4.1.13400.2.62.2.1.2.0&1.3.6.1.4.1.13400.2.62.2.1.3.0:public@10.0.0.1 / 100 Options[noc_room_temp]: gauge, growright, nopercent MaxBytes[noc_room_temp]: 100 Colours[noc_room_temp]: B#467EEE,R#FF0000,RED#ff4f27,DIRTY YELLOW#E6B420 #Unscaled[noc_room_temp]: dwmy YLegend[noc_room_temp]: NOC Room Temprature/Humidity Title[noc_room_temp]: NOC Room Tempr/Humidity PageTop[noc_room_temp]: <h1>NOC Room Tempr/Humidity</h1> ShortLegend[noc_room_temp]: c/% LegendI[noc_room_temp]: Temprature LegendO[noc_room_temp]: Humidity Legend1[noc_room_temp]: C NOC_Room Temp Legend2[noc_room_temp]: Humidity |