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來接收值。

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM