#node.js #amazon-web-services #amazon-cloudwatch
Вопрос:
Я попытался получить список потоков cloudwatch, но, похоже, официальный представитель не предоставляет соответствующего api. Я надеюсь, что смогу выполнить аналогичные функции, такие как получение последних 10 журналов потоков.
Самое похожее, что я вижу до сих пор, — это этот api:
var params = {
logGroupName: 'STRING_VALUE', /* required */
time: 'NUMBER_VALUE'
};
cloudwatchlogs.getLogGroupFields(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
Но я не знаю, как управлять этим time
параметром. Этот параметр не похож на формат времени iso и так далее, но количество секунд?
Поскольку я не знаю, когда был сгенерирован последний журнал, преобразование времени довольно неудобно. Есть ли лучший способ получить список журналов?
Ответ №1:
СОГЛАСНО Официальному документу SDK AWS CloudWatchLogs.
Поля getloggroup:
Возвращает список полей, включенных в события журнала в указанной группе журналов, а также процент событий журнала, содержащих каждое поле
Я думаю, что этот API не поможет вам достичь вашей цели. В соответствии с вашими требованиями используйте потоки описаний. Что может сделать следующее.
Перечисляет потоки журналов для указанной группы журналов. Вы можете перечислить все потоки журналов или отфильтровать результаты по префиксу. Вы также можете контролировать порядок упорядочения результатов.
var params = {
logGroupName: 'STRING_VALUE', /* required */
descending: true || false,
limit: 'NUMBER_VALUE',
logStreamNamePrefix: 'STRING_VALUE',
nextToken: 'STRING_VALUE',
orderBy: LogStreamName | LastEventTime
};
cloudwatchlogs.describeLogStreams(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});