0

我找不到一个好的文档来详细说明如何将数据从 AWS cloudwatch 流式传输到弹性云。我现在设置如下,但是在弹性云索引中看不到数据我在本地安装了functionbeat并更新了配置如下:

functionbeat.provider.aws.endpoint: "s3.amazonaws.com"
functionbeat.provider.aws.deploy_bucket: "filebeat-deploy"
functionbeat.provider.aws.functions:
  - name: cloudwatch
    enabled: true
    type: cloudwatch_logs
    description: "lambda function for cloudwatch logs"
    triggers:
      - log_group_name: my_log_group_name
cloud.id: "<cloud_id>"
cloud.auth: "<username:password>"

我遵循了这份文件 - https://www.elastic.co/guide/en/beats/functionbeat/current/configuration-functionbeat-options.html

然后我跑去./functionbeat deploy cloudwatch部署这个功能。我已经检查了我可以看到存储桶中的部署我在弹性云filebeat-deploy 中看不到日志my_log_group_name

4

1 回答 1

0

这可能是因为 AWS 无法与您的弹性云成功连接。通常是协议问题(如果你将 output.elasticsearch: host as localhost:9200 因为 AWS 无法访问此 localhost url,除非它是公共 URL)或权限问题。如果您检查 functionbeat lambda 函数 cloudwatch 日志,您可以看到实际问题。将 logging.level: debug 放在 functionbeat.yml 中以获取详细日志。

此外,部署 functionbeat 后,您无法立即在 kibana 中看到日志。在成功部署后订阅过滤器添加到日志组后,您必须调用已添加订阅过滤器的函数,而不是 functionbeat lambda 函数。因为触发器已添加到 functionbeat lambda 函数中。在您的情况下,您添加了触发器以从此日志组“my_log_group_name”获取日志。因此,每当将新项目添加到此日志组时,它将自动调用 functionbeat lambda 函数。

于 2021-11-02T09:39:54.993 回答