elk使用不足及弥补报警措施
2024-08-21 08:11:13
全部都是6.6.2版本,就这还是没有敢选太新的
场景:每个收集点部署filebeat收集响应日志,然后发送到logstash,logstash发送到elasticsearch,和file,这里插一句,elasticsearch没有花很多时间研究,有点不深入,logstash各个插件和语法有点头痛,kibana前端展示
注意:elk打的招牌是开源,免费版的很多功能都限制了,我目前接触到的就是不能提供报警功能,可以通过elastalert发送邮件报警,但是现代企业我估计用邮件的比较少了,几乎都是一些协同办公软件机器人.elk实现不了,需要够买商业版的
那我就头大,各个报警措施研究了一番,可能水平有限,也没弄出什么名堂,最后是通过脚本来实现的报警
- 脚本实现日志错误报警
- 要求:
- 要及时
- 错误不能重复
- 能发送到办公软件机器人
- 要求:
我这里目前的要求就这些,我就自己写了个shell给实现了,贴上来
#!/bin/bash
cd /PATH/log
A=`cat error.log | grep -w ERROR | awk '{print $0 "\n-------------------------------------------------------------"}'`
COUNT=`cat error.log | grep -w ERROR | wc -l`
if [ $COUNT -gt 0 ]; then
#statements
curl 'https://hook.************.com/=bwD9B/&&&&&&&/***************************' \
-H 'Content-Type: application/json' \
-d '
{
"text": "LOGALARM",
"attachments": [
{
"text": "'"$A"'",
"color": "#ff0000"
}
]
}'
rm -rf cuda_error.log
fi
逻辑不是很复杂,简单描述下
判断错误行,是否大于0,我这里要是不判断,那个hook就会发一个空消息,避免这个因素
满足要求,就执行 hook 读取变量,注意符号,然后删除错误日志,避免重复(我这里删除是因为是logstash输出的,不影响我原来的日志文件)
交流可留言
最新文章
- BZOJ4590: [Shoi2015]自动刷题机
- WebForm---登陆状态保持(Cookies内置对象)
- JavaScript正则表达式(二)
- mui开发webapp(2)
- sudo: /etc/sudoers 的模式为 0551,应为 0440
- U盘安装Win7 64位系统(笔记本+台式机亲测)
- UVA_1025_A_Spy_in_the_Metro_(动态规划)
- nodejs里的module.exports和exports
- maven pom.xml 详细
- exp/imp 多用户导入导出
- [usaco6.1.1Postal Vans]
- 分布式进阶(十一) Docker 常见错误汇总
- rsync的daemon模式
- 【Shell实战】批量在多台服务器上执行命令
- java监控指定路径下文件及文件夹变化
- Maven依赖中的scope详解,在eclipse里面用maven install可以编程成功,到服务器上用命令执行报VM crash错误
- gcc -02引起内存溢出'unsigned i'应修订为'volatile unsigned i'
- MYSQL 常用函数大全
- 委托、Lambda表达式、事件系列07,使用EventHandler委托
- python-无名管道进程通信