背景

最近接到一个需求要求每天巡检各台业务设备,并导出报表,但一想到设备有N台,一台台每天巡检这样的重复劳作实在是太伤神了,因此决定写一个脚本来搞定这件事。

首先,第一个要解决的问题是批量服务器执行命令的问题。

之前尝试用过pssh来进行批量服务器上执行脚本,限制较少,效果不错,各位有兴趣的可以试一下,本次为了跟上互联公司的脚步,打算用ansible对服务器进行批量操控。

至于ansible的手册介绍可以百度下,当然使用ansible的前提是你被控服务器的python 版本2.4以上,控制机的版本要在2.6以上。

ansible的安装

安装ez_setup 并执行 安装命令

wget -q http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
esay_install ansible

接下来需要配置下ansible的host文件作为测试。在/etc下创建一个ansible目录。

mkdir /etc/ansible
vi /etc/ansible/hosts# hosts
[local]
127.0.0.1

然后运行下命令看看是否成功执行。

ansible  all -a "who"

如果发现是密码验证方式错误则设置一下免密登陆。

ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub root@127.0.0.1

再测试一下该命令发现运行成功了。

至此,该问题解决。

然后,开始考虑各项服务器上的检测

   

需求一、检测服务器的瞬时CPU使用率

参考博文:http://blog.csdn.net/marising/article/details/5182771

http://blog.chinaunix.net/uid-14825809-id-2943235.html

linux基本的cpu的展示属性总共有7种

报告内容

说明

user

表示CPU在运行用户的进程

nice

表示CPU花费在被nice改变过优先级的process上的时间

system

表示CPU在执行kernel工作

iowait

表示CPU等待IO操作完成的时间

irq

表示CPU开销在响应硬中断上的时间

idle

表示CPU闲置并等待工作分配.
softirq 表示CPU开销在响应软中断上的时间

属性较多,都很有用(load average也十分有意义),但基于报表展示精简考虑,只摘取idle所占用的时间,然后1-idle%即可求出当前cpu属性。

通过vmstat命令则可以直接查看当前的cpu,内存以及io的属性信息。

然后可以通过vmstat 1 10 来显示10s内的cpu属性值。可以简单写出脚本,一条代码搞定。

vmstat 1 10 | awk 'BEGIN{i=0}NR>2{i+=$15}END{printf("%.1f%\t",100-i/10)}'

需求二、检测服务器的瞬时内存使用率

查看当前服务器内存使用率有许多方法可以看,比如top、cat /pro/meminfo、vmstat、free或者一些图形化的工具,在此选择最简单的free来操作。

由于linux为将buffers和cached充分利用,能缓存的内容都会尽量往磁盘上缓存,所以服务器的内存使用率=free+buffers+cached

最后“-/+ buffers/cache:”这一行的内容即为当前实际的内存使用率。

统计10s内的内存数值可得如下代码。

for i in `seq 1 10`dofree | fgrep "buffers/cache"sleep 1done | awk 'BEGIN{a=0;b=0}{a+=$3;b+=$3+$4}END{printf("%.1f%\t",a/b*100)}'

至此完成该需求。

需求三、监测服务器的瞬时硬盘使用率

习惯性地用df 来查看当前硬盘使用率,如图,直接查看df --total可以堪当当前硬盘的使用率

df --total | fgrep total|awk '{printf("%s\t",$5)}'

原文地址: https://www.cnblogs.com/linquan/p/5039883.html

linux 服务器常规巡检并生成报表(一)相关推荐

  1. Linux服务器日常巡检脚本分享

    Linux 系统日常巡检脚本,巡检内容包含了,磁盘,内存cpu进程文件更改用户登录等一系列的操作 直接用就行了.报告以邮件发送到邮箱 在log下生成巡检报告. 欢迎关注微信公众号[厦门微思网络].ww ...

  2. mac字体或windows字体安装到linux,解决linux服务器word文档生成pdf文档出现乱码

    安装原因:在进行程序开发时,有时会遇到某些场景会需要此操作.比如服务器端生成word文档转pdf文档,因为linux没有某些字体导致生成端pdf出现乱码. 安装步骤 服务器目录 /usr/share/ ...

  3. 利用ZABBIX进行服务器自动巡检并导出报表

    微信公众号:运维开发故事,作者:wanger 实现思路 主要是利用zabbix的api来对数据进行获取处理,实现思路如下: zabbix提供了丰富的api,可以根据此api获取zabbix得主机信息, ...

  4. 市面上有哪些自动生成报表的工具?

    每到月末.季度.年底,就是企业里各营销.财务.运营.企管等各部门"摆数据.晒业绩"的时候,除了财务因为有规范的制度约束,在规则和工具上更有保障(最常见的就是在财务软件/ERP 里面 ...

  5. winscp用密钥连接linux服务器和java程序用密钥连接服务器

    一.winscp用密钥连接linux服务器 第一步,生成ssh公钥密钥对: 使用Tera Term登录进服务器(这时候先用用户名和密码登录), #ssh-keygen -t rsa cd进入进入/ro ...

  6. Linux服务器系统自动巡检脚本生成html报告

    一. 前言 1.在上一篇文章里给大家介绍oracle自动巡检脚本生成html报告,这篇文章介绍linux服务巡检脚本生成html报告. 2.脚本依然是简单脚本语句的堆积,方便大家二次编辑使用. 3.项 ...

  7. linux cpu负载巡检,linux服务器巡检报告.doc

    Linux服务器巡检 设备 Power Edge 硬件配置信息 机型号 Power Edge R710 CPU 4颗 Intel? Xeon? CPU E5520 @ 2.27GHz 内存 16G 硬 ...

  8. linux操作系统巡检报告,linux服务器巡检报告

    linux服务器巡检报告 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 完美WORD格式.整理 Linux服务器巡检 . 专业资料分享 ...

  9. SpringBoot+Vue+mybatis生成pdf文件(表头跟页码,适应上传linux服务器后的操作)

    SpringBoot+Vue+mybatis生成pdf文件(表头跟页码,适应上传linux服务器后的操作) 为什么使用后端去生成 说明 依赖 后端目录 控制器代码 模板代码 前端代碼 最終效果 为什么 ...

最新文章

  1. php数组重复值销毁,如何从PHP中删除数组中的重复值
  2. 《统计学习方法》-李航、《机器学习-西瓜书》-周志华总结+Python代码连载(一)--模型选择+误差评估
  3. JSON和JSONP有什么区别?
  4. DDoS高防(国际)子产品发布,替代原本在DDoS高防IP中的海外线路。
  5. 【Leetcode】79.单词搜索
  6. 清理linux内存cache
  7. 面板没了_LCD面板疯狂涨价 白菜价的55寸4K电视没了
  8. OPPO Find X继任者来了!Find Z曝光:搭载骁龙855
  9. java short s=s 1_Java 面试题 short s = 1; s = s + 1; 与 s += 1; 背后的秘密
  10. 群晖室开虚拟机安装于服务器,黑群晖虚拟机安装
  11. 双人版井字棋游戏c语言设计报告,井字棋游戏课程设计总结报告.doc
  12. 看我如何拿下BC站的服务器
  13. 机器学习、数据建模、数据挖掘分析 特征无量纲化的常见操作方法
  14. telegram协议构架能实现朋友圈或者新浪微博功能么?
  15. 去《挪威的森林》之后
  16. springBoot启动类报错
  17. 计算机显示usb无法识别,计算机不断弹出无法识别的USB设备的解决方案
  18. MapperReduce-----好友案列
  19. 2个步骤让你秒获KOL抖音运营数据分析报告
  20. 北风修仙笔记—2020年5月

热门文章

  1. 支付宝H5授权登录PHP版本
  2. Python多线程下载图片
  3. 爆肝!!!!JavaSE知识点1.3w字总结
  4. server精简版代理意外终止 sql_MSSQLSERVER 服务意外终止 ,新安装的操作系统和数据库,怎么解决?...
  5. 牛刀弑鸡,用SpringMVC的架构模式来描绘一下普通java程序之图书管理免费代码分享
  6. 邵阳计算机学校1999年第36班,第36个教师节,致敬教育战线的您 --邵阳市第三中学...
  7. SpringBoot + Vue 前后端分离(用户信息更新头像上传Markdown图片上传)
  8. 后端文章 - 收藏集 - 掘金
  9. SpringBoot通过JPA连接Mysql集群
  10. 【每日一道智力题】之聪明的犯人!