首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无服务器函数cloudwatch日志到elasticsearch

无服务器函数cloudwatch日志到elasticsearch
EN

Stack Overflow用户
提问于 2020-05-28 09:46:53
回答 1查看 133关注 0票数 0

有没有人创建过一个无服务器函数,让CloudWatch在本地将输出记录到ElasticSearch?我想知道是否有一种方法可以在yml中配置function方法以输出到已经存在的ES集群。

或者有没有一种方法可以将CloudWatch流(通过无服务器)连接到lambda函数,然后该函数可以将解析的日志发送到ES。

EN

回答 1

Stack Overflow用户

发布于 2020-07-04 17:52:03

我通过使用Serverless创建ES集群并导出ARN来实现这一点。同样的无服务器服务还创建了“解析”lambda,它将处理所有Cloudwatch输出日志并传输到ES。然后,我转到向Cloudwatch写入数据的服务,在本例中是一个ECS集群,并创建了一个写入到该lambda的SubscriptionFilter,该SubscriptionFilter随后写入到ES。下面是创建ES集群的无服务器YML文件的一部分。然后是ECS YML中的SubscriptionFilter

代码语言:javascript
复制
ElasticSearchInstance:
  Type: AWS::Elasticsearch::Domain
  Properties:
    AdvancedOptions:
      rest.action.multi.allow_explicit_index: "true"
    CognitoOptions:
      Enabled: True
      IdentityPoolId:
        Ref: CognitoIdentityPool
      RoleArn:
        Fn::ImportValue: CognitoAccessRoleForAmazonESArn
      UserPoolId:
        Ref: CognitoUserPool
    DomainName: "name-of-my-es-cluster-${env:ENV}"
    EBSOptions:
      EBSEnabled: true
      VolumeType: gp2
      VolumeSize: 10
    ElasticsearchClusterConfig:
      InstanceType: t2.small.elasticsearch
      InstanceCount: 1
      DedicatedMasterEnabled: false
      ZoneAwarenessEnabled: false
    ElasticsearchVersion: 7.4

代码语言:javascript
复制
  ECSESParsingLamba:
  Type: AWS::Logs::SubscriptionFilter
  Properties:
    DestinationArn:
      Fn::ImportValue: !Sub "parsing-lambda-name-${Environment}"
    FilterPattern: "[message]"
    LogGroupName: !Ref LogGroupName
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62055637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档