ansible巡检脚本

1.编写ansibleyaml

bash 复制代码
- name: xunjian
  hosts: ddd
  tasks:
    - name: 运行脚本取资源使用率值并追加结果,可以自定义
      shell: |
        CPU=$(top -bn1 | sed -n '3p' | awk '{print $2+$4}' | awk '{printf("%s%%\n",$1)}')
        MEM=$(free -m | awk 'NR==2{printf" %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }')
        DISK=$(df -hT | grep -w "/" | awk '{print $6}')
        IP=$(ifconfig |grep 192.168|awk '{print $2}')        
        echo "$IP $HOSTNAME $CPU $MEM $DISK" > /tmp/cpumemdisk-$(hostname).txt 
      args:
        executable: /bin/bash
    - name: 获取主机名
      shell: hostname
      register: hostname_result
      changed_when: false

    - name: 收集监控文件
      fetch:
        src: "/tmp/cpumemdisk-{{ hostname_result.stdout }}.txt"
        dest: "/tmp/collected/"
        flat: yes

- name: 本地合并文件
  hosts: localhost
  tasks:
    - name: 创建合并目录
      file:
        path: "/tmp/merged_monitor"
        state: directory

    - name: 执行合并
      shell: |
        find /tmp/collected -name '*.txt' -exec cat {} \; > /tmp/merged_monitor/$(date '+%Y-%m-%d-%H')-combined.txt

2、再创建几个文件,然后运行脚本,注意修改主机组

bash 复制代码
mkdir /tmp/merged_monitor -p 
mkdir /tmp/collected_monitor -p
mkdir /tmp/ merged_monitor -p

ansible-playbook 1.yaml 

cat /tmp/merged_monitor/$(date '+%Y-%m-%d-%H')-combined.txt
相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes