Jump to content

No environment is required to obtain server disk, memory, load, and other related usage conditions.

How to use

vim bbskali.sh #Create sh file and copy the following code into it.

chmod+x bbskali.sh #Add run permissions

bash bbskali.sh will generate bbskali.html file in the root directory! Just open the browser!

Effect

Code

#!/bin/bash

ip=`ifconfig |grep -w inet |grep inet |grep -v 127 |awk '{print $2}'`

a=`df -hT|grep -w '/'|awk '{print $1}'`

b=`df -hT|grep -w '/'|awk '{print $2}'`

c=`df -hT|grep -w '/'|awk '{print $3}'`

d=`df -hT|grep -w '/'|awk '{print $4}'`

e=`df -hT|grep -w '/'|awk '{print $5}'`

f=`df -hT|grep -w '/'|awk '{print $6}'`

g=`df -hT|grep -w '/'|awk '{print $7}'`

#free-h

neic=`free -h|grep -w 'Mem'|awk '{print $1}'`

total=`free -h|grep -w 'Mem'|awk '{print $2}'`

used=`free -h|grep -w 'Mem'|awk '{print $3}'`

free=`free -h|grep -w 'Mem'|awk '{print $4}'`

shared=`free -h|grep -w 'Mem'|awk '{print $5}'`

cache=`free -h|grep -w 'Mem'|awk '{print $6}'`

available=`free -h|grep -w 'Mem'|awk '{print $7}'`

#fuzai

fuzai=`uptime |awk 'sub(/,/,'',$11)'|awk '{print $11}'`

cp=`df -hT|grep -w '/'| awk 'sub(/%/,'',$6)'|awk '{print $6}'`

nc1=`free |grep -w 'Mem'|awk '{print $2}'`

nc2=`free |grep -w 'Mem'|awk '{print $3}'`

html='html

meta http-equiv=\'content-type\' content=\'text/html;charset=utf-8\'

meta name=\'viewport\' content=\'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\'

link rel=\'stylesheet\' href=\'https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css\' integrity=\'sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu\' crossorigin=\'anonymous\'

script type=\'text/javascript\' src=\'https://cdn.jsdelivr.net/npm/echarts@5.2.2/dist/echarts.min.js\'/script

head

style type=\'text/css\'

.bian{

display: grid;

margin: 0 auto;

box-shadow: 0px 0px 20px -5px rgb(158 158 158/22%);

border-radius: 8px;

text-align: center;

background: #fff;

}

/style

/head

Body

div class=\'bian\'

div class=\'panel panel-default\'

div class=\'panel-body table-responsive \'

div class=\'panel-heading\'i class=\'glyphicon glyphicon-search\'/i Alarm host :$ip/div

div style=\'width: 350px;height: 350px; \'

div id=\'container\' style=\'height: 90%;text-align: center;font-size: 8px;\'/div

/div

table class=\'table table-bordered table-hover table-condensed\' align=center

tr class=\'active\'

td file system/tdtd type/tdtd total/tdtd used/tdtd available/tdtd usage/tdtd mount point/tdd

/tr

tr class=\'warning\'

td$a/tdtd$b/tdtd$c/tdtd$d/tdtd$e/tdtd style=\'color:red;font-weight:bold\'$f/tdtd$g/td

/tr

tr class=\'active\'

tdMem information/tdtd total amount/tdtd used/tdtd remaining/tdtd exchange/tdtd buffer/tdtd available/tdd

/tr

tr class=\'danger\'

td$neic/tdtd$total/tdtd$used/tdtd$free/tdtd$shared/tdtd style=\'color:red;font-weight:bold\'$cache/tdtd$available/td

/tr

/table

/div

/div

/div

script type=\'text/javascript\'

var dom=document.getElementById(\'container\');

var myChart=echarts.init(dom);

var app={};

var num=$nc2/$nc1;

num=num.toFixed(3)*100;

console.log(num);

var option;

const gaugeData=[

{

value: $fuzai*100,

name: 'load',

title: {

offsetCenter: ['0%', '-30%']

},

detail: {

valueAnimation: true,

offsetCenter: ['0%', '-20%']

}

},

{

value: num,

name: 'Mem usage',

title: {

offsetCenter: ['0%', '0%']

},

detail: {

valueAnimation: true,

offsetCenter: ['0%', '10%']

}

},

{

value: $cp,

name: 'Disk Usage',

title: {

offsetCenter: ['0%', '30%']

},

detail: {

valueAnimation: true,

offsetCenter: ['0%', '40%']

}

}

];

option={

series: [

{

type: 'gauge',

startAngle: 90,

endAngle: -270,

pointer: {

show: false

},

progress: {

show: true,

overlap: false,

roundCap: true,

clip: false,

itemStyle: {

borderWidth: 1,

borderColor: '#464646'

}

},

axisLine: {

lineStyle: {

width: 40

}

},

splitLine: {

show: false,

distance: 0,

length: 50

},

axisTick: {

show: false

},

axisLabel: {

show: false,

distance: 50

},

data: gaugeData,

title: {

fontSize: 12

},

detail: {

width: 50,

height: 12,

fontSize: 12,

color: 'auto',

borderColor: 'auto',

borderRadius: 20,

borderWidth: 1,

formatter: '{value}%'

}

}

]

};

if (option typeof option==='object') {

myChart.setOption(option);

}

/script

/body

/html'

echo -e '$html' /root/bbskali.html

``

### Postscript

I have limited level, I don’t know where to go, please give me advice!

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...