码迷,mamicode.com
首页 > 其他好文 > 详细

ansible用playbook实现定期监控各机器磁盘空间任务

时间:2016-11-25 17:27:23      阅读:349      评论:0      收藏:0      [点我收藏+]

标签:roo   实现   register   nbsp   devops   --   ops   状态   boot   

目标:用ansible定期监控各机器的磁盘空间状况 和进程运行状况

   1)配置playbook脚本,实现对磁盘空间 和 特定进程运行状态的每日检查;

   2)通过邮件插件,把检测结果发到ops邮箱;

一、playbook的配置实现

monitor_ansible.yaml

  1 ---
  2 - name: diskspace_mornitor
  3   hosts: local
  4   user: root
  5   gather_facts: no
  6   vars:
  7    path: /home/devops
  8 
  9   tasks:
 10   - name: check diskspace
 11     shell: "df -hP|awk ‘NR>1 && int($5) > 30‘"
 12     register: check_out
 13   - debug: msg="disk space {{check_out.stdout}}"

执行结果:

[root@localhost ansible_playbook]# ansible-playbook monitor_ansible.yaml 

PLAY [diskspace_mornitor] ******************************************************

TASK [check diskspace] *********************************************************
changed: [192.168.52.101]
changed: [192.168.52.102]

TASK [debug] *******************************************************************
ok: [192.168.52.102] => {
    "msg": "disk space /dev/sda1                497M  167M  330M  34% /boot"
}
ok: [192.168.52.101] => {
    "msg": "disk space /dev/sda1                497M  167M  330M  34% /boot"
}

PLAY RECAP *********************************************************************
192.168.52.101             : ok=2    changed=1    unreachable=0    failed=0   
192.168.52.102             : ok=2    changed=1    unreachable=0    failed=0   

 

 

-------------------------------------------------

附: 遇到的问题

1、用playbook配置tasks执行命令的返回值接收问题

    单独执行 ansible命令,结果直接输出到终端;但在playbook,默认结果只输出执行的最终成败 ok 或failed,要拿到详细的命令返回值需单独定义debug或handler来接收值。

    

 

ansible用playbook实现定期监控各机器磁盘空间任务

标签:roo   实现   register   nbsp   devops   --   ops   状态   boot   

原文地址:http://www.cnblogs.com/mousean/p/6102105.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!