v_upd_sys_rrd_mem 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/bin/bash
  2. # info: updating memory rrd
  3. #----------------------------------------------------------#
  4. # Variable&Function #
  5. #----------------------------------------------------------#
  6. # Argument defenition
  7. rrd_start="${1--1d}"
  8. rrd_end="${2-now}"
  9. rrd_grid="${3-MINUTE:30:HOUR:1:HOUR:4:0:%H:%M}"
  10. # Importing variables
  11. source $VESTA/conf/vars.conf
  12. #----------------------------------------------------------#
  13. # Action #
  14. #----------------------------------------------------------#
  15. # Checking directory
  16. if [ ! -d "$V_RRD/mem" ]; then
  17. mkdir $V_RRD/mem
  18. fi
  19. # Checking database
  20. if [ ! -e "$V_RRD/mem/mem.rrd" ]; then
  21. # Adding database
  22. rrdtool create $V_RRD/mem/mem.rrd --step $V_RRD_STEP \
  23. DS:RAM:GAUGE:600:U:U \
  24. DS:SWAP:GAUGE:600:U:U \
  25. RRA:AVERAGE:0.5:1:600 \
  26. RRA:AVERAGE:0.5:6:700 \
  27. RRA:AVERAGE:0.5:24:775 \
  28. RRA:AVERAGE:0.5:288:797 \
  29. RRA:MAX:0.5:1:600 \
  30. RRA:MAX:0.5:6:700 \
  31. RRA:MAX:0.5:24:775 \
  32. RRA:MAX:0.5:288:797
  33. fi
  34. # Parsing data
  35. if [ -z "$1" ]; then
  36. mem=$(free -m)
  37. ram=$(echo "$mem" |awk '{print $3}'|head -n2 |tail -n1)
  38. swap=$(echo "$mem" |awk '{print $3}'|tail -n1)
  39. # Updating rrd
  40. rrdtool update $V_RRD/mem/mem.rrd N:$ram:$swap
  41. fi
  42. # Updating rrd graph
  43. rrdtool graph $V_RRD/mem/mem.png \
  44. --imgformat PNG \
  45. --height="120" \
  46. --width="440" \
  47. --start "$rrd_start" \
  48. --end "$rrd_end" \
  49. --title "Memory Usage" \
  50. --vertical-label "Mbytes" \
  51. --x-grid "$rrd_grid" \
  52. -c "BACK#484439" \
  53. -c "SHADEA#484439" \
  54. -c "SHADEB#484439" \
  55. -c "FONT#DDDDDD" \
  56. -c "CANVAS#202020" \
  57. -c "GRID#666666" \
  58. -c "MGRID#AAAAAA" \
  59. -c "FRAME#202020" \
  60. -c "ARROW#FFFFFF" \
  61. DEF:ram=$V_RRD/mem/mem.rrd:RAM:AVERAGE \
  62. DEF:swap=$V_RRD/mem/mem.rrd:SWAP:AVERAGE \
  63. COMMENT:'\r' \
  64. AREA:ram#867995:"RAM "\
  65. GPRINT:ram:'LAST: Current\:''%8.0lf' \
  66. GPRINT:ram:'MIN: Min\:''%8.0lf' \
  67. GPRINT:ram:'MAX: Max\:''%8.0lf\j' \
  68. LINE1:swap#f57900:"SWAP" \
  69. GPRINT:swap:'LAST:Current\:''%8.0lf' \
  70. GPRINT:swap:'MIN:Min\:''%8.0lf' \
  71. GPRINT:swap:'MAX:Max\:''%8.0lf\j' >/dev/null 2> /dev/null; result=$?
  72. #----------------------------------------------------------#
  73. # Vesta #
  74. #----------------------------------------------------------#
  75. if [ "$result" -ne 0 ]; then
  76. exit $E_RRD_FAILED
  77. fi
  78. exit $OK