- OS: Oracle Enterprise Linux 7.2 (CentOS 7.2)
- วิธีติดตั้ง MRTG สามารถติดตั้งได้โดยสามารถดูคู่มือที่ ติดตั้ง mrtg บน ubuntu อาจไม่เหมือนกันแต่สามารถทำได้ทำนองเดียวกัน
- กราฟสำหรับ Idle CPU and Load average, CPU Time spent waiting for IO, Traffic Analysis for eth0, TCP Current Establish สามารถใช้ script เดียวกับลิงค์ในข้อ ๒ ได้เลย
- สร้างแฟ้ม /etc/mrtg/get-memory.sh มีข้อความว่า
#!/bin/bash
FREE=$(free |grep "Mem:"|awk '{print $7}')
SWAP=$(free |grep "Swap:"|awk '{print $3}')
TIME=$(uptime)
echo "${FREE}"
echo "${SWAP}"
echo "$TIME"
hostname
สร้างแฟ้ม /etc/mrtg/myhost-memory.cfg มีข้อความว่า
WorkDir: /var/www/mrtg/myhost
Target[myhost-mem]:`/etc/mrtg/get-memory.sh`
MaxBytes[myhost-mem]: 20000000000
Title[myhost-mem]: Free Memory and Swap Used
PageTop[myhost-mem]: <H1>Free Memory and Swap Used</H1>
ShortLegend[myhost-mem]: bytes
YLegend[myhost-mem]: bytes
LegendI[myhost-mem]: Free Memory:
LegendO[myhost-mem]: Swap Used:
Legend1[myhost-mem]: Free memory, in bytes
Legend2[myhost-mem]: Swap Used, in bytes
ทดสอบสร้างภาพต้นแบบด้วยคำสั่งOptions[myhost-mem]: gauge, nopercent, growright
env LANG=C /usr/bin/mrtg/myhost-memory.cfgปรับปรุงแฟ้ม index.html ด้วยคำสั่ง
indexmaker --column=2 --output=/var/www/mrtg/myhost/index.html /etc/mrtg/myhost-cpu.cfg /etc/mrtg/myhost-cpu-io.cfg /etc/mrtg/myhost-speed-eth0.cfg /etc/mrtg/myhost-tcpestab.cfg /etc/mrtg/myhost-memory.cfg
- โฟลเดอร์ที่ต้องเฝ้าระวังได้แก่ /u02/app/oracle/adump, /u02/app/oracle/diag/rdbms/regist/regist/alert, /u02/app/oracle/rdbms_trace ซึ่งเป็นโฟลเดอร์สำหรับเก็บ Log ไฟล์ต่างๆ ซึ่งอาจมีขนาดเพิ่มขึ้นจนระบบไม่สามารถให้บริการได้ และโฟลเดอร์ /u03 เป็นโฟลเดอร์ที่ใช้เก็บ archive log (ในกรณีที่ฐานข้อมูลเปิด archive log mode)
- สร้างแฟ้ม /etc/mrtg/get-diskfree-misc1.sh มีข้อความว่า
#!/bin/bash
adump=$(du -sm /u02/app/oracle/adump|awk '{ print $1 }')
free=$(df -m /u02|grep u02|awk '{ print $4 }')
TEMP=$(uptime|grep -o "load average.*"|awk '{print $3}'|cut -d',' -f 1)
LOAD=$(echo "${TEMP:-0} * 100"|bc|cut -d'.' -f 1)
TIME=$(uptime)
echo "${adump}"
echo "${free}"
echo "$TIME"
hostname - สร้างแฟ้ม /etc/mrtg/myhost-diskfree-misc1.cfg มีข้อความว่า
WorkDir: /var/www/mrtg/myhost
Target[myhost-misc1]:`/etc/mrtg/get-diskfree-misc1.sh`
MaxBytes[myhost-misc1]: 20000000000
Title[myhost-misc1]: Free disk space and disk Used of /u02/app/oracle/adump
PageTop[myhost-misc1]: Free disk space and disk Used of /u02/app/oracle/adump
ShortLegend[myhost-misc1]: bytes
kMG[myhost-misc1]: M,G,T
kilo[myhost-misc1]: 1024
YLegend[myhost-misc1]: bytes
LegendI[myhost-misc1]: Disk Used:
LegendO[myhost-misc1]: Free Disk:
Legend1[myhost-misc1]: Disk usage, in Bytes
Legend2[myhost-misc1]: Free Disk Space, in Bytes
Options[myhost-misc1]: gauge, nopercent, growright
Timezone[myhost-misc1]: Bangkok
ทดสอบสร้างภาพต้นแบบด้วยคำสั่ง
ปรับปรุงแฟ้ม index.html ด้วยคำสั่งenv LANG=C /usr/bin/mrtg /etc/mrtg/myhost-diskfree-misc1.cfg
indexmaker --column=2 --output=/var/www/mrtg/myhost/index.html /etc/mrtg/myhost-cpu.cfg /etc/mrtg/myhost-cpu-io.cfg /etc/mrtg/myhost-speed-eth0.cfg /etc/mrtg/myhost-tcpestab.cfg /etc/mrtg/myhost-memory.cfg /etc/mrtg/myhost-diskfree-misc1.cfg
- สร้างแฟ้มเลียนแบบข้อ 1 และ 2 สำหรับโฟลเดอร์ที่เหลือ
- แก้ไขแฟ้ม /etc/mrtg/mymrtg.sh เพิ่มข้อความ
env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-diskfree-misc1.cfg
ต่อท้ายไฟล์และเพิ่มทุกไฟล์ของทุกโฟลเดอร์ - สำหรับโฟลเดอร์ /u03 ให้สร้างแฟ้ม /etc/mrtg/get-diskfree-u03.sh มีข้อความว่า
#!/bin/bash
used=$(df -m /u03|grep u03|awk '{ print $3 }')
free=$(df -m /u03|grep u03|awk '{ print $4 }')
TEMP=$(uptime|grep -o "load average.*"|awk '{print $3}'|cut -d',' -f 1)
LOAD=$(echo "${TEMP:-0} * 100"|bc|cut -d'.' -f 1)
TIME=$(uptime)
echo "${used}"
echo "${free}"
echo "$TIME"
hostname
nof=$(ls -d1 /u03/app/oracle/fast_recovery_area/REGIST/archivelog/* |wc -l)
max=3
if [ "${nof}" == "${max}" ]
then
nod=$(expr ${max} - 1)
f2d=$(ls -d1 /u03/app/oracle/fast_recovery_area/REGIST/archivelog/*|head -${nod})
rm -rf ${f2d}
su - oracle -c "/bin/sh /home/oracle/reclaim.sh"
สร้างแฟ้ม /home/oracle/reclaim.sh มีข้อความว่าfi
rman target / <<EOF
crosscheck archivelog all;
delete noprompt expired archivelog all;
quit
EOF
สร้างแฟ้ม /etc/mrtg/myhost-diskfree-u03.cfg มีข้อความว่า
WorkDir: /var/www/mrtg/myhost
Target[myhost-u03]:`/etc/mrtg/get-diskfree-u03.sh`
MaxBytes[myhost-u03]: 20000000000
Title[myhost-u03]: Free disk space and disk Used of /u03
PageTop[myhost-u03]: Free disk space and disk Used of /u03
ShortLegend[myhost-u03]: bytes
kMG[myhost-u03]: M,G
kilo[myhost-u03]: 1024
YLegend[myhost-u03]: bytes
LegendI[myhost-u03]: Disk Used:
LegendO[myhost-u03]: Free Disk:
Legend1[myhost-u03]: Disk usage, in Bytes
Legend2[myhost-u03]: Free Disk Space, in Bytes
Options[myhost-u03]: gauge, nopercent, growright
ทดสอบสร้างภาพต้นแบบด้วยคำสั่ง
env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-diskfree-u03.cfg
อย่าลืมปรับปรุงแฟ้ม index.html ด้วย
- สร้างแฟ้ม /etc/mrtg/get-diskfree-misc1.sh มีข้อความว่า
- เฝ้าระวังขนาดของ Tablespace SYSTEM และ USERS
- สร้างแฟ้ม /etc/mrtg/get-tablespace-system.sh มีข้อความว่า
#!/bin/bash
used=$(su - oracle -c "sh /home/oracle/monitor/tablespacesize.sh"|grep SYSTEM|awk '{ print $2 }'|sed -e 's/,//g')
used=$(expr ${used} \* 1024)
free=$(su - oracle -c "sh /home/oracle/monitor/tablespacesize.sh"|grep SYSTEM|awk '{ print $3 }'|sed -e 's/,//g')
free=$(expr ${free} \* 1024)
TIME=$(uptime)
echo "${used}"
echo "${free}"
echo "$TIME"
hostname
สร้างแฟ้ม /home/oracle/monitor/tablespacesize.sh มีข้อความว่า
#!/bin/bash
sqlplus / as sysdba << EOF
col "Tablespace" for a22
col "Used MB" for 99,999,999
col "Free MB" for 99,999,999
col "Total MB" for 99,999,999
select df.tablespace_name "Tablespace",
totalusedspace "Used MB",
(df.totalspace - tu.totalusedspace) "Free MB",
df.totalspace "Total MB",
round(100 * ( (df.totalspace - tu.totalusedspace)/ df.totalspace))
"Pct. Free"
from
(select tablespace_name,
round(sum(bytes) / 1048576) TotalSpace
from dba_data_files
group by tablespace_name) df,
(select round(sum(bytes)/(1024*1024)) totalusedspace, tablespace_name
from dba_segments
group by tablespace_name) tu
where df.tablespace_name = tu.tablespace_name ;
quit
EOF
สร้างแฟ้ม /etc/mrtg/myhost-tablespace-system.cfg
WorkDir: /var/www/mrtg/myhost
Target[myhost-system]:`/etc/mrtg/get-tablespace-system.sh`
MaxBytes[myhost-system]: 20000000000
Title[myhost-system]: Tablespace SYSTEM disk usage
PageTop[myhost-system]: Tablespace SYSTEM Disk Usage
ShortLegend[myhost-system]: bytes
kMG[myhost-system]: k,M,G
kilo[myhost-system]: 1024
YLegend[myhost-system]: bytes
LegendI[myhost-system]: Disk Used:
LegendO[myhost-system]: Free Disk:
Legend1[myhost-system]: Disk usage, in Bytes
Legend2[myhost-system]: Free Disk Space, in Bytes
ทดสอบสร้างภาพต้นแบบด้วยคำสั่งOptions[myhost-system]: gauge, nopercent, growright
env LANG=C /usr/bin/mrtg /etc/mrtg/myhost-tablespace-system.cfgอย่าลืมปรับปรุง index.html ด้วย - ทำแบบเดียวกันกับ tablespace users
- สร้างแฟ้ม /etc/mrtg/get-tablespace-system.sh มีข้อความว่า
- จบขอให้สนุก