Журналы облака localstack Aws

Как отправлять журналы в журналы localstack cloudwatch с помощью node.

я использую нпм

const winston = require('winston')
const CloudWatchTransport = require('winston-aws-cloudwatch')

person Naresh Singh    schedule 04.08.2020    source источник


Ответы (2)


Вероятно, вам следует использовать winston-cloudwatch вместо winston-aws-cloudwatch, потому что он чаще используется и поддерживается. Но так как выбор за вами, и если вы все же хотите использовать winston-aws-cloudwatch, вы можете добавить конечную точку в awsConfig в http://localhost:4586, потому что по умолчанию localstack использует 4586 в качестве порта для cloudwatch.

Пример для winston-cloudwatch приведен ниже.

const AWS = require('aws-sdk');
const WinstonCloudWatch = require('winston-cloudwatch');
 
winston.add(new WinstonCloudWatch({
  awsRegion: 'us-east-1',
  logGroupName: 'your-log-group-name',
  logStreamName: 'your-log-stream-name',
  jsonMessage: true,
}));

winston.info('I am done');

or

const AWS = require('aws-sdk');
const WinstonCloudWatch = require('winston-cloudwatch');

const logger = winston.createLogger({
  transports: [
    new WinstonCloudWatch({
      logGroupName: 'log-group-name',
      logStreamName: 'log-stream-name',
      awsRegion: 'us-east-1',
      jsonMessage: true
    })
  ]
});

logger.error('I am done');

Фрагмент может заканчиваться на Invalid token error. Вы можете использовать awslocal iam для создания пользователя IAM, создать ключ доступа с ним и использовать его.

Вам может потребоваться установить awslocal, если вы хотите поиграть с localstack

Чтобы проверить, была ли создана группа журналов, вы можете попробовать с помощью awslocal logs describe-log-groups

Другие команды CLI можно найти в документации AWS CLI< /а>

Для локального можно заменить aws на awslocal.

person Surya Purohit    schedule 05.08.2020

На основе этого примера https://github.com/lazywithclass/winston-cloudwatch/blob/747ae3c2292fdae6c046394938f159b4c7a23802/examples/simple.js

var winston = require('winston'),
WinstonCloudWatch = require('../index');


// when you don't provide a name the default one
// is CloudWatch
winston.add(new WinstonCloudWatch({
  logGroupName: 'testing',
  logStreamName: 'first',
  awsRegion: 'us-east-1'
}));

winston.error('1');

Расширенный пример с использованием winston-cloud

https://github.com/lazywithclass/winston-cloudwatch/blob/747ae3c2292fdae6c046394938f159b4c7a23802/examples/multiple-loggers.js

person MuntingInsekto    schedule 04.08.2020