全部都是6.6.2版本,就这还是没有敢选太新的

场景:每个收集点部署filebeat收集响应日志,然后发送到logstash,logstash发送到elasticsearch,和file,这里插一句,elasticsearch没有花很多时间研究,有点不深入,logstash各个插件和语法有点头痛,kibana前端展示

注意:elk打的招牌是开源,免费版的很多功能都限制了,我目前接触到的就是不能提供报警功能,可以通过elastalert发送邮件报警,但是现代企业我估计用邮件的比较少了,几乎都是一些协同办公软件机器人.elk实现不了,需要够买商业版的

那我就头大,各个报警措施研究了一番,可能水平有限,也没弄出什么名堂,最后是通过脚本来实现的报警

  • 脚本实现日志错误报警

    • 要求:

      1. 要及时
      2. 错误不能重复
      3. 能发送到办公软件机器人

我这里目前的要求就这些,我就自己写了个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输出的,不影响我原来的日志文件)

交流可留言

最新文章

  1. BZOJ4590: [Shoi2015]自动刷题机
  2. WebForm---登陆状态保持(Cookies内置对象)
  3. JavaScript正则表达式(二)
  4. mui开发webapp(2)
  5. sudo: /etc/sudoers 的模式为 0551,应为 0440
  6. U盘安装Win7 64位系统(笔记本+台式机亲测)
  7. UVA_1025_A_Spy_in_the_Metro_(动态规划)
  8. nodejs里的module.exports和exports
  9. maven pom.xml 详细
  10. exp/imp 多用户导入导出
  11. [usaco6.1.1Postal Vans]
  12. 分布式进阶(十一) Docker 常见错误汇总
  13. rsync的daemon模式
  14. 【Shell实战】批量在多台服务器上执行命令
  15. java监控指定路径下文件及文件夹变化
  16. Maven依赖中的scope详解,在eclipse里面用maven install可以编程成功,到服务器上用命令执行报VM crash错误
  17. gcc -02引起内存溢出'unsigned i'应修订为'volatile unsigned i'
  18. MYSQL 常用函数大全
  19. 委托、Lambda表达式、事件系列07,使用EventHandler委托
  20. python-无名管道进程通信

热门文章

  1. Mysql中的Date转换
  2. centos6.10环境安装nodejs8.2.1
  3. Please enable using preview .net core sdks
  4. forever at your feet
  5. 【linux学习笔记七】关机重启命令
  6. IIS中发布FTP支持断点续传
  7. consul删除无效实例
  8. FPGA的配置方式
  9. (转)Java中的String为什么是不可变的? -- String源码分析
  10. JAVA windows环境配置,jdk的安装配置