v_list_sys_rrd 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #!/bin/bash
  2. # info: listing available system rrd charts
  3. #----------------------------------------------------------#
  4. # Variable&Function #
  5. #----------------------------------------------------------#
  6. format=${1-shell}
  7. # Importing variables
  8. source $VESTA/conf/vars.conf
  9. source $V_CONF/vesta.conf
  10. # Define json function
  11. json_list_rrd() {
  12. i=1
  13. echo "{"
  14. for type in $rrd_types; do
  15. for rrd in $(ls $V_RRD/$type |grep rrd$ |sed "s/\.rrd$//g"); do
  16. if [ "$i" -ne 1 ]; then
  17. echo -e "\t},"
  18. fi
  19. # Define title
  20. if [ "$type" = 'la' ]; then
  21. title="Load Average"
  22. fi
  23. if [ "$type" = 'mem' ]; then
  24. title="Memory Usage"
  25. fi
  26. if [ "$type" = 'net' ]; then
  27. title="Bandwidth Usage $rrd"
  28. fi
  29. if [ "$type" = 'web' ] || [ "$type" = 'ftp' ] ||\
  30. [ "$type" = 'ssh' ]; then
  31. title="$(echo $rrd| tr '[:lower:]' '[:upper:]') Usage"
  32. fi
  33. if [ "$type" = 'db' ]; then
  34. db_type=$(echo $rrd|cut -f 1 -d _ |sed -e 's/mysql/MySQL/g' \
  35. -e 's/pgsql/PostgreSQL/g' )
  36. db_host=$(echo $rrd|cut -f 2 -d _ )
  37. title="$db_type Usage on $db_host"
  38. fi
  39. echo -e "\t\"$i\": {"
  40. echo -e "\t\t\"TYPE\": \"$type\"",
  41. echo -e "\t\t\"RRD\": \"$rrd\"",
  42. echo -e "\t\t\"TITLE\": \"$title\""
  43. (( ++i))
  44. done
  45. done
  46. if [ "$i" -gt 1 ]; then
  47. echo -e "\t}"
  48. fi
  49. echo "}"
  50. }
  51. # Define jshell function
  52. shell_list_rrd() {
  53. if [ -z "$nohead" ]; then
  54. # Print brief info
  55. echo "PATH"
  56. echo "---------"
  57. fi
  58. for type in $rrd_types; do
  59. for rrd in $(ls $V_RRD/$type |grep rrd$ |sed "s/\.rrd$//g"); do
  60. echo "$V_RRD/$type/$rrd.rrd"
  61. done
  62. done
  63. }
  64. #----------------------------------------------------------#
  65. # Action #
  66. #----------------------------------------------------------#
  67. # Checking enabled systems
  68. rrd_types="la mem net"
  69. if [ -n "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
  70. rrd_types="$rrd_types web"
  71. fi
  72. if [ -n "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then
  73. rrd_types="$rrd_types db"
  74. fi
  75. if [ -n "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
  76. rrd_types="$rrd_types mail"
  77. fi
  78. if [ -n "$FTP_SYSTEM" ] && [ "$FTP_SYSTEM" != 'no' ]; then
  79. rrd_types="$rrd_types ftp"
  80. fi
  81. rrd_types="$rrd_types ssh"
  82. # Listing domains
  83. case $format in
  84. json) json_list_rrd ;;
  85. plain) nohead=1; shell_list_rrd ;;
  86. shell) shell_list_rrd | column -t ;;
  87. esac
  88. #----------------------------------------------------------#
  89. # Vesta #
  90. #----------------------------------------------------------#
  91. exit