【问题标题】:AWS Cloudwatch Logs Stream to Amazon Elasticsearch ServiceAWS Cloudwatch 将日志流式传输到 Amazon Elasticsearch Service
【发布时间】:2021-03-27 14:40:50
【问题描述】:
我正在通过订阅将 CWL 流式传输到 Amazon Elasticsearch Service。
索引是自动创建的,但我想更改分片的数量。
我正在查看一个 Lambda 函数,但我找不到任何指定分片数量的代码。
另外,如何使索引看起来像 cwl-{logGroup Title}-00001?
谁能给我一些建议?
【问题讨论】:
标签:
amazon-web-services
elasticsearch
amazon-cloudwatchlogs
【解决方案1】:
要获得带有 logGroup 标题的索引,您可以使用以下代码:
在 Lambda 函数的第 62 行,您将看到以下代码部分:
// index name format: cwl-YYYY.MM.DD
var indexName = [
'cwl-' + timestamp.getUTCFullYear(), // cwl + time
('0' + (timestamp.getUTCMonth() + 1)).slice(-2), // month
('0' + timestamp.getUTCDate()).slice(-2) // day
].join('.');
将其替换为以下代码:
// index name format: cwl-log-group-YYYY.MM.DD
var indexName = [
'cwl-' + payload.logGroup.toLowerCase().split('/').join('-') + '-' + timestamp.getUTCFullYear(), // cwl + log group + time
('0' + (timestamp.getUTCMonth() + 1)).slice(-2), // month
('0' + timestamp.getUTCDate()).slice(-2) // day
].join('.');
此更改将为每个日志组创建一个单独的索引。请先在您的测试环境中进行测试,然后再部署到生产环境中。
要更改分片数量,您可以在 AWS ES 端为此特定索引模式创建一个index template。