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
相关推荐
黄毛火烧雪下1 天前
【Ruby 】脚本和自动化语言 常用的内容
运维·自动化·ruby
Madison-No71 天前
【Linux】gcc/g++编辑器 && 初识动静态库 && 程序翻译过程
linux·服务器
小白不想白a1 天前
【shell】每日shell练习:安全日志入侵检测/系统配置文件合规检查
运维·服务器
字节逆旅1 天前
一个从从容容,一个连滚带爬:scp 与 rsync 的不同人生
linux
洛克大航海1 天前
Linux 中新建用户
linux·运维·服务器
位步1 天前
在linux系统中使用通用包安装 Mysql
android·linux·mysql
dehuisun1 天前
jenkins流水线部署springboot项目
运维·jenkins
蜜蜜不吃糖1 天前
解决Vcenter告警datastore存储容量不足问题
linux·运维·服务器
zzz.101 天前
top命令的详解
linux·服务器·网络
东城绝神1 天前
《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署redis 7.4.5容器版分片集群》
linux·运维·redis·架构·分片集群