3.3 主采集服务器/root路径下面新建shancheng_cpu.sh
一、背景
在某个项目中,客户要求每周两次例行巡检,巡检内容为CPU利用率、内存利用率和磁盘空间的检查。实际工作中,每次都通过ssh工具每台服务器逐个连上去,太浪费时间,工作效率太低,考虑使用工具来减轻工作量。
二、思考过程
2.1 是否使用工具
运维工具也有免费的,比如zabix等,但是因为要装客户端,而且项目是离线环境,很多依赖包下载特别麻烦,最后决定自己编写shell脚本来实现。
2.2 不能使用免密登录
最初考虑ssh免密登录,并且执行相关脚本命令,但是后来跟客户沟通时,客户要求:不可以使用免密,风险过大。如果一台服务器被黑客攻破,其他的服务器也存在风险。
2.3 开发思路
原来计划直接ssh并且执行命令,后来发现,返回的值写入log日志后,一台服务器只返回一行,没有回车键。因此决定,在每天服务器上扔进去一个cpu.sh这样的脚本,并且赋权644(默认赋权)。客户如果对明文存储密码没有严格的要求,本文档的最后也提供了全自动的思路,可以自己研究。
三、步骤
3.1 单独执行命令
这几个命令单独执行可以分别得到想要的结果,这里单独拉出来给大家展示一遍。
#采集CPU数据
top
图中id为空闲CPU,则CPU占用率为100%-62.1%=37.9%
#采集内存数据 -m是按照MB来显示
free -m
#采集磁盘使用率数据
df -THP