MRTG 서버로 전송할 도메인별 트래픽 사용량 데이타 (5분단위)
이미지호스팅 서버에 설정하며 도메인별로 생성한다.
/etc/snmp/snmpd.conf
exec mrtg /usr/local/src/global.sh domain_mrtg ${DOMAIN_1}
exec mrtg /usr/local/src/global.sh domain_mrtg ${DOMAIN_2}
/usr/local/src/global.sh
year=`date +%Y`
month=`date +%m`
path="/usr/local/awstats/logs"
today=`date +%Y%m%d`
yesterday=`date -d "1 day ago" +%Y%m%d`
function domain_mrtg() {
sh /usr/local/src/awstats.sh > /dev/null
apache_logfile=${path}/awstats${month}${year}.$1.txt
squid_logfile=${path}/awstats${month}${year}.cache_$1.txt
apache_traffic=`cat ${apache_logfile} |grep -w ${today} | awk '{print $4}'`
squid_traffic=`cat ${squid_logfile} |grep -w ${today} | awk '{print $4}'`
# 로그 발생이 없을경우 0 값으로 대체
if [ "${apache_traffic}" = "" ]; then
apache_traffic=0
fi
if [ "${squid_traffic}" = "" ]; then
squid_traffic=0
fi
traffic=`expr ${apache_traffic} + ${squid_traffic}`
echo $traffic
}
case "$1" in
domain_mrtg)
domain_mrtg $2
;;
*)
esac
5. MRTG CFG 파일생성
MRTG 서버에 CFG 파일생성
테스트) 마지막 숫자 1이 snmpd.conf 파일에 넣어준 첫번째 라인
[root@image_m ]# snmpwalk -v2c -c managed_snmp 115.68.29.8 .1.3.6.1.4.1.2021.8.1.101.1
UCD-SNMP-MIB::extOutput.1 = STRING: 492505
→ SQUID +APACHE LOG 트래픽 합산량
MRTG.CFG
EnableIPv6: no
Workdir: /HOSTING/testmrtg/bps
language: korean
Options[_]: bits,growright
Target[${DOMAIN}]: .1.3.6.1.4.1.2021.8.1.101.1&.1.3.6.1.4.1.2021.8.1.101.1:managed_snmp@115.68.XX.XX:::::2
MaxBytes[${DOMAIN}]: 125000000
Title[${DOMAIN}]: ${DOMAIN}
PageTop[${DOMAIN]: ${DOMAIN}
<TABLE>
<TR><TD>IP:</TD> <TD>${DOMAIN}</TD></TR>
</TABLE>
※ 허접하게나마 MRTG는 도메인별로 잘 그려진다~~ ^^