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

相关推荐
wanhengidc12 分钟前
云手机运行流畅,秒开不卡顿
运维·网络·科技·游戏·智能手机
在未来等你29 分钟前
Kafka面试精讲 Day 8:日志清理与数据保留策略
大数据·分布式·面试·kafka·消息队列
笨小孩@GF 知行合一1 小时前
OSPF实验:外部路由引入
运维·网络·hcip·数通·ospf
asdfg12589631 小时前
为什么要在出口路由器router配置NAT与默认路由
运维·网络·计算机网络
echoyu.2 小时前
消息队列-初识kafka
java·分布式·后端·spring cloud·中间件·架构·kafka
bug攻城狮2 小时前
Skopeo 工具介绍与 CentOS 7 安装指南
linux·运维·centos
宇宙第一小趴菜2 小时前
08 修改自己的Centos的软件源
linux·运维·centos
bug攻城狮2 小时前
彻底禁用 CentOS 7.9 中 vi/vim 的滴滴声
linux·运维·服务器·centos·vim
苹果醋32 小时前
数据库索引设计:在 MongoDB 中创建高效索引的策略
java·运维·spring boot·mysql·nginx
XMYX-03 小时前
Linux 物理机如何区分 SSD 与 HDD ——以 DELL PERC H730 Mini 为例
linux·运维