Bootstrap

又一个ansible例子

这个例子有点复杂,他在被控端上采集CPU 内存和磁盘利用率,并且以模板的形式保存在被控端,最后再把这个结果文件从被控端取回来。综合用到了shell、register、template和fetch4个模块

---
- name: get cpu mem and disk
  hosts: all
  tasks:
    - name: get cpu
      shell:
        cmd: top -bn 1 | grep Cpu | awk '{print $2+$3}'
      register: mycpu
    - name: get mem
      shell:
        cmd: free | grep Mem | awk '{print $3/$2}'
      register: mymem
    - name: get disk
      shell:
        cmd: df / | grep / | awk '{print $5}'
      register: mydisk
    - name: output template
      template:
        src: /root/result.j2
        dest: /root/result.txt
    - name: fetch result
      fetch:
        src: /root/result.txt
        dest: /root/
        flat: yes

模板文件如下:

more result.j2
cpu useage: {{mycpu.stdout}}
mem useage: {{mymem.stdout}}
disk useage: {{mydisk.stdout}}

;