基于Docker的日志分析平台(五)监控与报警

X-Pack 简介

在 ElasticStack 出5.0之前,对于 ELK 的监控有着五花八门的解决方案,官方的插件也是各种变化,不仅名字乱而且还要一个个安装。当然,官方也考虑到了大家的疾苦,于是推出了 X-Pack 这个套件专门用来做监测。总共包含:安全,警报,监控,监控,报告,图表这五个功能,这里简单介绍下安全监控与报警。

如果是单独安装 ELK 的话是需要额外再安装X-Pack的

安全

在没有安装 X-Pack 的时候登录 Kibana 是不需要输入账号密码的。登录之后就可以看到侧边栏有一个新的 Management 菜单,点进去后有一个关于 Elasticsearch 的栏目,可以进行角色和权限的设定。

监控

监控在侧边栏的 Monitoring 面板,可以看到关于 ELasticsearch 和 Kibana 具体的信息和运行状态:

点击进去还可以通过很霸气的折线图来查看:

总共有4个标签页,其中 Indices 可以查看当前的索引情况:

报警

在 Elasticsearch 中需要我们自己设定一系列的条件,当条件满足的时候会触发相应的动作,而且还要设定监测的频率。我们这里设定一个每 10 分钟循环监测发现日志中出现 5 次数 ERROR 的情况则触发相应的动作。需要设定以下四个:

  • Trigger: 设定循环执行的时间间隔
  • Input: 设定监测的索引以及触发数据
  • Condition: 如果出现 ERROR 的次数超过 5 次,则认为触发了条件
  • Actions: 执行具体的操作
PUT _xpack/watcher/watch/log_errors
{
  "metadata" : { 
    "color" : "red"
  },
  "trigger" : { 
    "schedule" : {
      "interval" : "10m"
    }
  },
  "input" : { 
    "search" : {
      "request" : {
        "indices" : "access-log",
        "body" : {
          "size" : 0,
          "query" : { "match" : { "level" : "ERROR" } }
        }
      }
    }
  },
  "condition" : { 
    "compare" : { "ctx.payload.hits.total" : { "gt" : 5 }}
  },
  "actions" : { 
    "email_administrator" : {
      "email" : {
        "to" : "admin@site.com",
        "subject" : "Encountered {{ctx.payload.hits.total}} errors",
        "body" : "Find five errors in the system",
        "priority" : "high"
      }
    }
  }
}

到这里日志平台就基本搭建完成了,接下来有机会会讲讲从单机到集群的部署方式以及需要注意的地方。

欢迎关我的个人公众号:左手代码
《基于Docker的日志分析平台(五)监控与报警》

    原文作者:wh469012917
    原文地址: https://segmentfault.com/a/1190000012794439
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞