Linux采集服务器内存磁盘及JVM程序信息脚本
Posted HiveDark
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux采集服务器内存磁盘及JVM程序信息脚本相关的知识,希望对你有一定的参考价值。
#!/bin/bash
# desc: 用于采集服务器的基本信息并调用相关接口传递数据
# 定义请求URL参数,如果有这个url则发起post请求把服务器的信息传递出去
requrl=
if [ $1 ];then
requrl=$1
echo "设置请求url:$requrl"
fi
curtime=`date +"%Y-%m-%d %H:%M:%S"`
# 获取服务器的名称、CPU
server=`uname -a | awk -F' ' 'print $1"-"$2"-"$3'`
# 获取服务器的IP地址
serverinfo=`/usr/sbin/ifconfig | grep inet | awk -F' ' 'BEGINstr=""if($2 != "::1" && $2 != "127.0.0.1")if("" == str)str=$2elsestr=str","$2 ENDprint str'`
# 获取内存使用情况
meminfo=`free -mh | grep Mem | awk -F' ' 'print "total:"$2",used:"$3",free:"$4'`
# 获取磁盘使用情况
diskinfo=`df -mh | awk -F' ' 'BEGINi=0;ret=""if(i > 0)ret=ret"路径:"$6",可用空间:"$4",已使用:"$5";"i=i+1;ENDprint ret'`
# 获取JVM进程情况
jvminfo=`/usr/local/java/jdk/bin/jps -l | awk -F' ' 'BEGINret=""ret=ret"pid="$1",main="$2";"ENDprint ret'`
# 输出相关日志
echo curtime: $curtime
echo server: $server
echo serverinfo: $serverinfo
echo meminfo: $meminfo
echo diskinfo: $diskinfo
echo jvminfo: $jvminfo
# 发起请求数据
if [ $requrl ];then
curl -H "Content-Type: application/json" -X POST -d "\\"curtime\\":$curtime,\\"server\\":$server,\\"serverinfo\\":$serverinfo,\\"meminfo\\":$meminfo,\\"diskinfo\\":$diskinfo,\\"jvminfo\\":$jvminfo" $requrl
echo "请求成功,$requrl"
fi
以上是关于Linux采集服务器内存磁盘及JVM程序信息脚本的主要内容,如果未能解决你的问题,请参考以下文章