Получаем инфу нагрузки по всем кластерам

 #!/bin/bash                                                                                                                                                                                                                           

                                                                                                                                                                                                                                      

HOME_DIR=$(cd $(dirname $0)&& pwd)                                                                                                                                                                                                    

                                                                                                                                                                                                                                      

LOG="log.txt"                                                                                                                                                                                                                         

echo >"$LOG"                                                                                                                                                                                                                          

                                                                                                                                                                                                                                      

#echo $HOME_DIR                                                                                                                                                                                                                       

                                                                                                                                                                                                                                      

get_lxc_info(){                                                                                                                                                                                                                       

  local dir="$1"                                                                                                                                                                                                                      

  local name="$2"                                                                                                                                                                                                                     

  local param="$3"                                                                                                                                                                                                                    

  local out                                                                                                                                                                                                                           

  out="$(lxc-info -n "$name" -P "$dir"|grep "$param")"                                                                                                                                                                                

  echo "$out"                                                                                                                                                                                                                         

}                                                                                                                                                                                                                                     

                                                                                                                                                                                                                                      

get_dirs(){                                                                                                                                                                                                                           

  local -r dir="$1"                                                                                                                                                                                                                   

  local names                                                                                                                                                                                                                         

  pushd "$dir" >/dev/null                                                                                                                                                                                                             

    names="$(ls -1 --hide=*.*)"                                                                                                                                                                                                       

  popd >/dev/null                                                                                                                                                                                                                     

  echo "$names"                                                                                                                                                                                                                       

}                                                                                                                                                                                                                                     

                                                                                                                                                                                                                                      

get_clusters_info(){                                                                                                                                                                                                                  

  local clusters                                                                                                                                                                                                                      

  local containers                                                                                                                                                                                                                    

  local out                                                                                                                                                                                                                           

  local dir                                                                                                                                                                                                                           

  clusters="$(get_dirs "$HOME_DIR")"                                                                                                                                                                                                  

#  echo "$clusters"                                                                                                                                                                                                                   

  for cluster in $clusters; do                                                                                                                                                                                                        

    echo "CLUSTER: $cluster" >>$LOG                                                                                                                                                                                                   

    containers="$(get_dirs "$cluster")"                                                                                                                                                                                               

      for container in $containers; do                                                                                                                                                                                                

        out="$container"                                                                                                                                                                                                              

        dir="$HOME_DIR/$cluster"                                                                                                                                                                                                      

        out+="| $(get_lxc_info "$dir" "$container" "CPU")"                                                                                                                                                                            

        out+="| $(get_lxc_info "$dir" "$container" "Memory")"                                                                                                                                                                         

        echo "$out" >>$LOG                                                                                                                                                                                                            

      done                                                                                                                                                                                                                            

#    echo "$containers"                                                                                                                                                                                                               

  done                                                                                                                                                                                                                                

}                                                                                                                                                                                                                                     

                                                                                                                                                                                                                                      

get_clusters_info

Комментарии

Популярные сообщения из этого блога

Accel-ppp команды

mikbill расшифровка завершений сессий

Zabbix agent установка и настройка