您的位置:首页 > 其它

使用 Ansible 统计服务器资源利用率

2019-01-10 23:22 330 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qianghaohao/article/details/86263133

使用 Ansible 统计服务器资源利用率

分享一个 ansible playbook,统计服务器 CPU、内存、磁盘利用率,3 条 shell 脚本实现统计:

CPU 利用率统计:

top -bn1 | grep load | awk '{printf "CPU Load: %.2f\n", $(NF-2)}'

内存利用率统计:

free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'

磁盘利用率统计(列出每块磁盘利用率):

df -h -t ext2 -t ext4 | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print "Disk Usage:"" " $1 " " $3"/"$2" ""("$5")"}'

Ansible playbook:

server-cpu-mem-disk-usage.yml

---
- name: Statistics CPU Memory Disk Utilization
hosts: "{{ hosts }}"
become: no
remote_user: "{{ user }}"
gather_facts: no
tasks:
- name: "Statistics CPU Memory Disk Utilization..."
shell: |
free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'df -h -t ext2 -t ext4 | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print "Disk Usage:"" " $1 " " $3"/"$2" ""("$5")"}'top -bn1 | grep load | awk '{printf "CPU Load: %.2f\n", $(NF-2)}'register: out
- debug: var=out.stdout_lines

输出结果样例:

ok: [gke-test-standard-pool] => {
"out.stdout_lines": [
"Memory Usage: 8766/16052MB (54.61%)",
"Disk Usage: /dev/root 449M/1.2G (37%)",
"Disk Usage: /dev/sda8 28K/12M (1%)",
"Disk Usage: /dev/sda1 61G/95G (64%)",
"CPU Load: 0.92"
]
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐