ansible使用command模块,查看各个节点的磁盘状态,内存状态命令例子
时间: 2024-09-13 17:10:05 浏览: 84
ansible-lvm:使用 playbook 运行基本 lvm 命令的 ansible 模块
Ansible 使用 `command` 模块可以远程执行系统命令来获取各个节点的磁盘状态和内存状态。以下是一个基本的例子:
```yaml
---
- name: Check disk and memory status
hosts: all_nodes # 替换为你需要检查的所有主机名
gather_facts: no # 禁止 Ansible 自动收集主机信息,防止影响命令结果
tasks:
- name: Execute command to check disk usage
command: df -h / # 这将显示每个节点的根目录磁盘使用情况
register: disk_info
- name: Execute command to check memory usage
command: free -m # 显示内存状态,单位为MB
register: memory_info
- debug:
var: disk_info.stdout_lines # 输出磁盘信息到日志
var: memory_info.stdout_lines # 同样输出内存信息
# 如果你想要将结果整理成更易读的数据结构,可以添加转换步骤:
- set_fact:
node_disk_usage: "{{ disk_info.stdout_lines | json_query('[?path == "/"][].used.percent') }}"
node_memory_usage: "{{ memory_info.stdout_lines | select('regex_search', 'Mem:') | map('regex_replace', 'Mem:\\s+([0-9]+)\\s+kB', '\\1') | list }}"
```
这里假设你的节点允许远程访问,并且上述命令能在它们上运行。记得替换`all_nodes`为实际的主机列表。执行这个 playbook 后,你可以通过`node_disk_usage`和`node_memory_usage`变量来查看收集到的信息。
阅读全文