shell脚本分享
shell脚本
山炮运维
擅长使用重启解决问题
展开
-
shell 日志文件监控
监控需求:监控应用输出的错误日志,不需要太复杂的日志监控系统,程序有异常错误日志要企业微信告警出来。这个shell监控了日志文件的行号 有变动就将新增的日志内容发送企业微信告警, 用crontab 挂1分钟执行1次监控。#!/bin/bashset -u -e#监控脚本存放目录 $0.log用于记录上一次读取日志的行号mkdir -p /shcd /shif [[ ! -f $0.log ]];then touch $0.logfi#发企业微信告警wx(){cat原创 2022-01-28 10:55:39 · 2642 阅读 · 0 评论 -
shell awk监控磁盘使用率
awk原创 2021-11-29 17:47:45 · 1043 阅读 · 0 评论 -
企业微信机器人推送告警信息
#QQ450433231企业微信群聊里面增加机器人,机器人会提供发送信息的URL。根据对应的Webhook地址编写shell 这边写成函数方便调用wx_web(){#WEB监控机器人政务云二狗cat>sendweb.sh<<EOFcurl'https://qyapi.weixin.qq.com/cgi-bin/webhook/s...原创 2019-07-28 22:24:36 · 648 阅读 · 0 评论 -
jenkins 自动化部署
开发了5个发布场景 具体区别如下图所示。因为更新需要停负载均衡,负载均衡公有云都有提供接口,负载均衡启停脚本看:https://blog.csdn.net/weixin_46175620/article/details/108573293基本的流程:gitee/github 添加项目的部署公钥(只有拉取代码权限), 私钥导入jenkins用于拉取代码使用。jenkins拉取代码后使用gradle、maven等工具打包构建。ansible把打包的包部署到每台生产环境滚动更新,因为有负载均衡,原创 2020-10-14 18:47:42 · 648 阅读 · 0 评论 -
jenkins 自动化部署 shell监控脚本
jenkins发布系统,配合开发了3个监控脚本,shell的免安装,且代码量比python还少,少安装很多依赖包。开发的3个监控场景都是为了发布更新不会影响到正常的用户。具体发布脚本看:分享下思路:应用层日志监控,监控应用访问日志access.log改变。网络层监控,监控端口3次握手ESTABLISHED状态确认连接数。http请求返回值,应用发布后请求响应码200,确认发布成功。第一个脚本#! /bin/bash# 负载均衡停止后,监控应用日志access.log,确保没有新的用户访问原创 2020-10-14 18:26:11 · 662 阅读 · 0 评论 -
Shell脚本监控错误日志
错误日志事需要写到指定的文件位置,写脚本监控监控日志文件发企业微信告警。分享下监控日志文件的思路,就是记录每次读取到的行号用crontab 每隔一段时间调用就好,有记录行号不怕重复发送日志#!/bin/bash#监控错误日志set -e -u -o pipefailrow_number=0 #初始行号 这边用sed记录了行号 用于从上一次的位置开始读取wx(){#读取日志发送到企业微信 企业微信机器人使用方法 https://blog.csdn.net/weixin_46175620/ar原创 2020-08-27 17:30:31 · 2462 阅读 · 0 评论 -
Shell+Iptables 防御TCP SYN洪泛攻击
在运维某平台发现非常大量访问卡在的SYN_RECV状态,可以确认为SYN泛洪攻击,看到的netstat -antp状态如下:Active Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:875原创 2020-06-26 20:27:38 · 598 阅读 · 0 评论 -
lvm 扩容
#查看剩余空间vgs#(1)剩余空间都扩容到根(/)目录lvextend -l +100%FREE `df|grep -w '/'|awk '{print$1}'`#(2)扫描磁盘识别已扩容空间,磁盘为xfs文件系统,CentOS 7系统默认文件系统为XFS格式xfs_growfs `df|grep -w '/'|awk '{print$1}'` --------------------------------------------------------------#只需替换grep -原创 2020-06-25 20:31:43 · 202 阅读 · 0 评论 -
Shell IP地址监控
企业微信:邮件告警:#!/bin/bash#ip.txt存放IP地址 QQ450433231 #ip2.txt存放项目名称 IP地址 等信息 用于格式化输出,事先文本定义好IP位置,有利于快速排障#本次更新增加恢复告警 故障时间 . /root/weixin.sh #调用微信机器人发送告警:https://blog.csdn.net/weixin_46175620/article/details/106936957. /root/downiptime.sh #根据日志计算故障时间原创 2020-06-24 09:59:14 · 562 阅读 · 0 评论 -
Shell 企业微信机器人发送告警
#!/bin/bashwx(){#将下面的webhook地址替换成你的企业微信机器人地址,$1为告警消息 $2为@人的手机号 $2可以为空cat > $0.msg << EOFcurl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=d25d7339-9b15-4b17-80ae-2f546140c349' \ -H 'Content-Type: application/json' \ -d ' {原创 2020-06-24 09:22:43 · 3142 阅读 · 0 评论 -
lvs结合ssh免密做监控,移除故障节点脚本
2020-06-22 15:58:44elk系统logstash日志处理端使用lvs做的负载均衡,端口监控发现logstash节点因为最大文件数到达限制挂了一台,lvs不知道后端的logstash挂了。看告警虚拟IP恢复是因为转发到正常的节点了,端口监控后续就一直波动恢复告警- -!,因为lvs没有移除故障节点,处理不及时,丢的东西就多了。lvs结合ssh免密做监控,移除故障节点脚本这边用利用ssh免密做的监控,后端Real Server不能禁止lvs访问22端口,lvs定期去检查logstash是原创 2020-06-22 18:11:52 · 244 阅读 · 0 评论