Для получения определенных атрибутов в журналах, возвращаемых командой filter-log-events , вы можете использовать jq .Вот пример, который я сделал в Windows PowerShell.
aws logs filter-log-events --log-group-name <yourLogGroup> --region <yourRegion> | jq '.events[].message'
Существует также параметр --filter-pattern
, здесь есть несколько примеров для
Если команде нужно получить последнийНесколько дней он может использовать параметры --start-time
и --end-time
команды filter-log-events.
Чтобы получить подписку на журналы CloudWatch в режиме реального времени, проект может использовать команду put-subscription-filter , чтобы записывать журналы в другую функцию Lambda для их обработки.Вот пример функции в nodejs:
https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html#LambdaFunctionExample
var zlib = require('zlib');
exports.handler = function(input, context) {
var payload = new Buffer(input.awslogs.data, 'base64');
zlib.gunzip(payload, function(e, result) {
if (e) {
context.fail(e);
} else {
result = JSON.parse(result.toString('ascii'));
console.log("Event Data:", JSON.stringify(result, null, 2));
context.succeed();
}
});
};