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参数及硬盘参数脚本

相关推荐
HalvmånEver10 小时前
Linux:线程互斥
java·linux·运维
indexsunny10 小时前
互联网大厂Java面试实战:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·微服务·kafka·spring security·电商
TTBIGDATA10 小时前
【Atlas】Ambari 中 开启 Kerberos + Ranger 后 Atlas Hook 无权限访问 Kafka Topic:ATLAS_HOOK
大数据·kafka·ambari·linq·ranger·knox·bigtop
JY.yuyu11 小时前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器
lpruoyu11 小时前
【Docker进阶-06】docker-compose & docker swarm
运维·docker·容器
China_Yanhy12 小时前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
艾莉丝努力练剑12 小时前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
酉鬼女又兒12 小时前
每天一个Linux命令_printf
linux·运维·服务器
虾说羊12 小时前
docker容器化部署项目流程
运维·docker·容器
Trouvaille ~12 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip