使用 CloudWatch Event 监控 ElasticSearch 事件

admin 2024年8月14日14:57:36评论15 views字数 1288阅读4分17秒阅读模式

0x00 前言

为了监控 ElasticSearch Cluster 被非预期删除、创建等情况,需要搞一个监控,当监控到这种行为时,会触发 SNS 告警。有如下几个思路:

  1. 写个脚本定期监控 CloudTrail 有非预期API CALL的时候触发SNS
  2. 将 CloudTrail 中的日志写到 CloudWatch log group 中,然后再自定义 metric 配合 alarm 实现告警
  3. 利用 CloudWatch Event 监听 elasticsearch 事件实现告警

0x01 思路解读

第一种方法就是将 CloudTrail logs 打到 S3 然后在分析 S3 中存储的 api call 情况,这种需要人工介入的地方还挺多的,不咋优雅,还有优先采用 AWS 自身提供的服务做到这件事,故跳过了。第二种方法可以参考文档[1],直接梭哈。第三种就有意思了,官方文档中没有给出现成的demo[2],需要我们自定义,这里就来聊一聊自定义的思路。

0x02 利用 CloudWatch Event 监听 elasticsearch 事件实现告警

在 CloudWatch Event 的 console 中 service name 并没有ES相关的服务。

使用 CloudWatch Event 监控 ElasticSearch 事件

在文档[1]中有提及“Creating a CloudWatch Events Rule That Triggers on an AWS API Call Using AWS CloudTrail”,也就是说理论上cloudtrail中记录的log在这里都能实现监控和告警。研究了一下,Event Pattern 内容如下:

1234567891011121314151617
{  "source": [    "aws.es"  ],  "detail-type": [    "AWS API Call via CloudTrail"  ],  "detail": {    "eventSource": [      "es.amazonaws.com"    ],    "eventName": [      "DeleteElasticsearchDomain",      "CreateElasticsearchDomain"    ]  }}

思路就是找一个其他服务的 Event Pattern 然后尝试替换为 ES 的 source、eventSource、eventName。效果如下:

使用 CloudWatch Event 监控 ElasticSearch 事件

不过现在要自己写,没准过段时间,这个功能就加上了呢。

0x03 参考链接

- source:tonghuaroot.com

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月14日14:57:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   使用 CloudWatch Event 监控 ElasticSearch 事件https://cn-sec.com/archives/3067237.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息