标签: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