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}}"

执行结果:

[[email protected] 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来接收值。

时间: 2024-12-20 13:29:27

ansible用playbook实现定期监控各机器磁盘空间任务的相关文章

nagios监控多个磁盘空间

ngios默认监控第一个磁盘分区,需要在service中定义多个监控项,如: define service {                 service_description                   check_disk3                 max_check_attempts                    3                 check_interval                        1                 

通过SSIS监控远程服务器磁盘空间并发送邮件报警

本文直接参考了博客园软件人生的文章操作的,写在这里只为做个记录. 到公司这边先把两个报表服务器接收了. 为防止宕机,部署个磁盘警告的SSIS包. Step 1 建立两个变量来接收和写入磁盘容量 Step 2 创建 WMI和SMTP 连接管理器 Step 3 拖个WMI Data Reader Task,并进行配置 注意,几乎每个选项都要改 SELECT FreeSpace FROM Win32_LogicalDisk where DriveType= 3 and DeviceID='C:' St

【Ansible之playbook剧本】 񪃬

目录 基本用法 传参使用 条件判断 when 标签 tags 模板 template 循环 with_item handlers 原文: http://blog.gqylpy.com/gqy/374 @(Ansible之playbook剧本) ymal: 列表:- 字典:key-value 文件后缀名:yml ansible-playbook 命令格式: -C:--check 干跑,不会执行 -f:FORKS 并发执行 --syntax-check:语法检查 --list-hosts:列出主机列

Ansible之playbook的使用总结

之前详细介绍了Ansible的安装, 配置, 以及Ansible常用模块的使用. 下面对Ansible的playbook用法做一小结. 为什么引入playbook?一般运维人员完成一个任务, 比如安装部署一个httpd服务会需要多个模块(一个模块也可以称之为task)提供功能来完成.而playbook就是组织多个task的容器,它的实质就是一个文件,有着特定的组织格式,它采用的语法格式是YAML(Yet Another Markup Language).YAML语法能够简单的表示散列表,字典等数

ansible的playbook配置及template模板的使用

前言: 学习下ansible的playbooks的状态配置管理,说来puppet saltstack都有类似的叫法,只是ansible的叫法更犀利,我当时一看playbook还以为是花花公子的playboy.要使用ansible就要深入学习playbook配置及模板. 注:到底是playbook还是playbooks.... 先把官网的简单几个语法给说明下. #这个是你选择的主机 - hosts: webservers #这个是变量   vars:     http_port: 80     m

ansible的playbook介绍和实战

1.playbook 介绍: 简单的说就是定义一个配置文件,文件中写入你需要安装的服务,配置文件,变量等信息,使他们可以按照事先定义好的机制完成一个任务. Playbook使用YAML语法结构,所以配置阅读起来都比较简单. 2.playbook 的组成结构: target section 定义将要执行playbook的远程主机组 variable section 定义playbook运行时需要使用的变量 task section 定义将要在远程主机上执行的任务列表 handler section

Zabbix如何监控Windows机器

最近一直在研究Zabbix监控Windows机器,涉及到如何快速安装agent,如何修改和完善windows监控模板等等.想把自己的经验给大家分享一下,希望对大家有所帮助.1)安装agent客户端    首先分享一下我写的自动化安装Windows机器的agentd安装脚本zabbix_agentd_install_windows.bat. @echo off color fd cd #IP from Zabbix Server or proxy where data should be send

转:visualvm监控远程机器上的Java程序

转自:http://hanwangkun.iteye.com/blog/1195526 JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程.类加载情况.JVM GC情况进行监控,是一个很好的免费的监控工具. 监控范围:JDK1.4及以上版本的程序都能够监控. 它在JDK里面叫做: jvisualvm,当然我们可以到它的官方网站上去下载它的最新版本,当

visualvm 监控 远程 机器上的 Java 程序

JDK里面本身就带了很多的监控工具,如JConsole等. 我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程.类加载情况.JVM GC情况进行监控,是一个很好的免费的监控工具. 监控范围:JDK1.4及以上版本的程序都能够监控. 它在JDK里面叫做: jvisualvm,当然我们可以到它的官方网站上去下载它的最新版本,当前最新版本是: 1.3.2,如下所示: 在图中已经列出了它的官方网站地址: http: