Shell - 集群监控脚本合集
node_heart_check.sh
#!/bin/bash
scriptPath=$(dirname "$0")
for ip in `cat /etc/hosts | grep 主机名关键字 | awk '{print $2}'`;do
# ping命令返回3次,自行中断
ping -c 3 ${ip}
if [ $? -ne 0 ];then
echo ${ip}"通信异常" >>${scriptPath}/log_nodeHeart_warn.log
fi
done
脚本作用:监控集群节点网络通信情况,如果发现ping 3次失败,则为通信异常,可根据短信接口向运维人员发送短信,及时进行处理。
pod_status_check.sh
#!/bin/bash
scriptPath=$(dirname "$0")
IFS=$'\n'
kubectl get pod --all-namespace -owide | grep 0/
if [ $? -ne 0 ];then
echo "$(date +'%Y-%m-%d %H:%M:%S') [INFO] 集群Pod正常">>${scriptPath}/log_podStatus_check.log
else
podList=`kubectl get pod --all-namespaces -owide | grep 0/`
for pod in `echo ${podList}`
do
# 获取租户名称
nsName=`echo ${pod} | awk '{print $1}'`
# 获取pod名称
podName=`echo ${pod} | awk '{print $2}'`
# 获取容器就绪情况
readyNum=`echo ${pod} | awk '{print $3}'`
# 获取pod状态
podStatus=`echo ${pod} | awk '{print $4}'`
# 获取重启次数
restartCount=`echo ${pod} | awk '{print $5}'`
# 获取对应节点
podNode=`echo ${pod} | awk '{print $8}'`
# 记录
echo "$(date +'%Y-%m-%d %H:%M:%S') [INFO] 集群Pod异常 ${nsName} ${podName} ${readyNum} ${podStatus} ${restartCount} ${podNode}" >>${scriptPath}/log_podStatus_warn.log
done
fi
IFS=${IFS_old}
脚本作用:监控所有Pod状态,出现Pod状态异常则触发短信告警(脚本中已省略)
mysql_heart_check.sh
#!/bin/bash
scriptPath=$(dirname "$0")
mysql -h主机名 -u用户名 -p密码 -P端口号 -e "select now();"
result=$?
if [ 0 != ${result} ];then
echo "$(date +'%Y-%m-%d %H:%M:%S') [warn] mysql心跳异常">>${scriptPath}/log_mysqlHeart_warn.log
fi
脚本作用:监控mysql心跳是否正常,如果异常,则触发短信告警(脚本中已省略)
Shell - 集群监控脚本合集的更多相关文章
- Redis cluster 集群报错合集
目录 一.连接集群操作报错(error)MOVED 二.集群关闭后重启报错 三.Redis (error) NOAUTH Authentication required 四.Redis集群使用中突然挂 ...
- Shell 脚本合集
0. 说明 Shell 脚本合集 1. xcall.sh xcall.sh 编写为了为了同时对多台服务器进行操作,编写完成之后,将其发送到 /usr/local/bin 下 #!/bin/bash ...
- 一文读懂clickhouse集群监控
更多精彩内容,请关注微信公众号:后端技术小屋 一文读懂clickhouse集群监控 常言道,兵马未至,粮草先行,在clickhouse上生产环境之前,我们就得制定好相关的监控方案,包括metric采集 ...
- DB监控-Riak集群监控
公司的Riak版本是2.0.4,目前已根据CMDB三级业务部署了十几套集群,大部分是跨机房部署.监控采集分为两个大的维度,第一个维度是单机,也就是 「IP:端口」:第二个维度是集群,也就是所有节点指标 ...
- 分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比
分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. JMX是用来远程监控Java应用的框架,这个也可以用来监控其他的J ...
- 完美集群监控组合ganglia和nagios
Ganglia是伯克利开发的一个集群监控软件.可以监视和显示集群中的节点的各种状态信息,比如如:cpu .mem.硬盘利用率, I/O负载.网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈 ...
- kafka集群监控之kafka-manager部署(kafka-manager的进程为:ProdServerStart)
kafka集群监控之kafka-manager部署(ProdServerStart) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 雅虎官网GitHub项目:https://git ...
- Hadoop YARN学习之监控集群监控Nagios(4)
doop YARN学习之监控集群监控Nagios(4) 1. Nagios是一个流行的开源监控工具,可以用来监控Hadoop集群. 2. 监控基本的Hadoop服务 调试好脚本后命名为chek_res ...
- HBase 集群监控系统构建
HBase 集群监控系统构建 标签(空格分隔): Hbase 一, 集群为什么需要监控系统 总的来说是为了保证系统的稳定性,可靠性,可运维性.具体来说我认为有以下几点: 掌控集群的核心性能指标,了解集 ...
- vivo 容器集群监控系统架构与实践
vivo 互联网服务器团队-YuanPeng 一.概述 从容器技术的推广以及 Kubernetes成为容器调度管理领域的事实标准开始,云原生的理念和技术架构体系逐渐在生产环境中得到了越来越广泛的应用实 ...
随机推荐
- RocketMQ系列3:核心技术介绍
1 介绍 RocketMQ是一款分布式消息中间件,其核心技术涉及多个核心概念,包括主题.队列.消息.生产者.消费者.消费者分组以及订阅关系.以下是对这些核心技术的详细说明: 2 核心技术实现 2.1 ...
- 走向更强的 Literal 的时代
正如 声明式编程的没落 - Inshua - 博客园 分析,声明式编程由于不符合软件工程需要,实际上正在淘汰,但与此同时,它的特征被过程式编程吸收为了Literal,中文翻译字面量. 什么是 Lite ...
- StreamJsonRpc.ConnectionLostException 在请求完成之前, 与远程方的 JSON-RPC 连接已丢失
今天电脑重启之后,发现 visual studio 2022 的智能提示与报错经常性不好用,不光不能在正常时候提示代码错误信息,甚至在编译过后也不提示错误.反复重启,刚开始正常,隔一会儿就会提示什么什 ...
- TypeNameExtractor could not be found
TypeNameExtractor could not be foundException 一.注意: 如果项目中使用了 knif4j或swagger (knif4j内核中就使用了swagger) 项 ...
- Base64解码、Base64编码、Base64加密解密规则
转换规则:进行Base64转换的时候,将3个byte(3*8bit = 24bit)的数据,先后放入一个24bit的缓冲区中,先来的byte占高位.数据不足3byte的话,于缓冲器中剩下的bit用0补 ...
- OkHttp实现延时重试
本文主要应用了OkHttp的Interceptor来实现自定义重试次数 虽然OkHttp自带retryOnConnectionFailure(true)方法可以实现重试,但是不支持自定义重试次数,所以 ...
- Qt音视频开发18-海康sdk回调
一.前言 海康sdk显示实时视频流除了支持句柄方式以外,也支持回调的方式拿到每一张图片自己绘制处理,当然回调除了拿到视频数据,其实音频数据也一块拿到了,自行调用音频设备播放就行,关于海康sdk回调这块 ...
- 网络编程入门从未如此简单(三):什么是IPv6?漫画式图文,一篇即懂!
本文由小枣君分享,文案:小枣君.漫画:杨洋,来自鲜枣课堂,有少许改动,原文链接见文末. 1.引言 网络编程能力对于即时通讯技术开发者来说是基本功,而计算机网络又是网络编程的理论根基,因而深刻准确地理解 ...
- 单点登录-CAS原理
1.首先了解几个概念 1).TGC:Ticket-granting cookie,存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用.2).TGT:ticket grant ...
- 线上JVM性能优化详解
概述 jvm中除了程序计数器,其他的区域都有可能会发生内存溢出 内存溢出是什么? 当程序需要申请内存的时候,由于没有足够的内存,此时就会抛出OutOfMemoryError,这就是内存溢出 内存溢出和 ...