shell+kafka实现服务器健康数据搜集

今天有一个徒弟问我,分发、代理服务器都装有kafka,如何快速收集服务器的健康数据,每10秒就收集一次?

我当时听完之后,楞了一下,然后说出了我的见解:认为最快速的方法无法就是建议shell脚本直接采集,然后发送给nginx,nginx传入到kafka中。

但是徒弟又说,shell脚本已经有8年没有大型使用过啦,不太会,两个小时之内要,我又懵啦。

无奈,还是我自己来写吧,代码如下:

复制代码
#!/bin/sh
while true
do
    cpuParam = `top -bn 1 | grep load | awk '{printf "\"cpuParam\":%.2f", $(NF-1)}'`
    memoryParam = `free -h | awk 'NR==2 {printf "\"memoryParam\":%.2f", $3/$2*100}'`
    diskParam = `df -h | grep -w '/' | awk '{printf $(NF-1)}' | awk -F'%' '{printf "\"diskParam\":%.2f",$1}'`
    curl -H "Content-Type: application/json" -X POST -d "{$cpuParam,$memoryParam,$diskParam}" "http://127.0.0.1:8080"
    sleep 10
done

这就是最简单的定时获取本服务器的内存参数、cpu参数及硬盘参数脚本

相关推荐
IT成长日记17 分钟前
【自动化运维神器Ansible】Ansible常用模块之user模块详解
运维·自动化·ansible·user·常用模块
卍郝凝卍1 小时前
云服务器数据库
运维·服务器·数据库
武子康1 小时前
大数据-58 Kafka 消息发送全流程详解:序列化、分区策略与自定义实现
大数据·后端·kafka
思辨共悟2 小时前
Kafka简述及学习课程
分布式·kafka
钢铁男儿2 小时前
使用 asyncio 与 aiohttp 编写异步 Unicode 字符查找服务器_2025-07-30
运维·服务器
子洋2 小时前
快速目录跳转工具 zoxide 使用指南
前端·后端·shell
所念皆为东辞2 小时前
gitlab+jenkins的ci/cd部署
运维·ci/cd·gitlab·jenkins
AIZHINAN2 小时前
性能测试篇 :Jmeter监控服务器性能
运维·服务器·jmeter
快快网络-三七2 小时前
第二篇:Linux 文件系统操作:从基础到进阶
linux·运维·服务器·centos·快快网络
Doris_LMS2 小时前
Linux的访问权限(保姆级别)
linux·运维·服务器·面试