ansible的硬件巡检脚本

使用场景: 公司内部服务器用的是云厂商的, 一般在交付使用前会给一个配置清单 但是真正的配置还需要运维部门的人员去检查一下 每批交付使用的主机少则十几台 多则几十台 将配置的结果做成表格导进execl
我相信没有人会一台一台统计 ansible在这个时候就派上了用场

优点是像自助餐一样 需要获取什么值 直接用shell模块就好了 有时候并不需要去写很多playbook

前提 :

服务器上已经安装ansible 并且主机之间已经取得互信

互信脚本

本质是将自己本机的公钥使用非交互模式推送到远端主机

在这里对 ssh-copy-id这个命令做个解释
ssh-copy-id [ -i 选项是指定本地公钥的文件位置 -o StrictHostKeyChecking=no 是不进行公钥确认]
在ssh_config文件中 公钥确认这一步是默认开启的 使用-o选项相当于把配置文件中的优先级临时提高了

for i in {1..100}
do
sshpass -p ' 123456'   ssh-copy-id  -o StrictHostKeyChecking=no root@172.16.255.$i
done
或者
 sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub -o StrictHostKeyChecking=no 172.16.1.$i  &>/dev/null

执行完毕之后自己登陆验证一下
在自己登陆的机器上使用ansible

all 选项: 指定所有主机 也可以使用-i 选项指定主机组
-m 选项 : module模块的意思 在ansible中诸多模块可以使用 在这我们使用shell模块 ad-hoc的模式 短小精悍
-a 指定动作

ansible  all -m shell -a "disk=$(expr `df |awk '{print $2}'|sort -nr|head -1` / 1048576) && cpu=$(cat /proc/cpuinfo| grep 'cpu cores'| wc -l),&& men=$(free -h|grep 'Mem'|awk '{print $2}') && echo -e '$disk \t , $cpu \t , $men'" > test.csv

在这个脚本里查看了磁盘容量 按G显示 查看了cpu的逻辑核心数 内存的总量 当有其他需求可以加在命令中以xxx=$()的形式 最后根据顺序echo出来这些变量的名字
可以将这些巡检的结追加到文本文档里 每个结果中间加上 , 符号 生成csv文件 拖到本地直接使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值