首页 > 代码库 > ansible用playbook实现定期监控各机器磁盘空间任务
ansible用playbook实现定期监控各机器磁盘空间任务
目标:用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实现定期监控各机器磁盘空间任务
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。