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
相关推荐
LaoWaiHang1 分钟前
Linux基础知识05:mkdir命令
linux
雨疏风骤12404 分钟前
ROM与RAM,储存地址、链接地址以及运行地址
linux·stm32·嵌入式·linux嵌入式
文言一心15 分钟前
基于 Docker + Docker Compose 实现一键部署(单节点部署场景下轻量、易维护、可一键启停)
运维·docker·容器
fy zs16 分钟前
网络基础概念
linux·网络·c++
学习3人组22 分钟前
CentOS 系统下 ModelScope 模型下载的默认目录
linux·python·centos
守护砂之国泰裤辣26 分钟前
Windows+docker下简单kafka测试联调
java·运维·spring boot·docker·容器
ZeroNews内网穿透37 分钟前
本地部署 Payara Server 公网访问
运维·服务器·网络协议·安全
Java陈序员1 小时前
运维必备!一款全平台可用的服务器管理利器!
linux·react.js·docker
oMcLin1 小时前
如何在Oracle Linux 8.5上配置并优化Oracle RAC集群,确保企业级数据库的高可用性与负载均衡?
linux·数据库·oracle
威桑1 小时前
交叉编译过程中的踩坑与收获
linux·c++·arm·交叉编译