ログ検知用モジュール新規追加

This commit is contained in:
x.azuma.m@nds-tyo.co.jp 2021-10-20 22:35:43 +09:00
parent de2dbf2932
commit 296be89c53
4 changed files with 48 additions and 1 deletions

4
.gitignore vendored
View File

@ -1,2 +1,4 @@
lambda/mbj-newdwh2021-staging-NoticeToSlack/package-lock.json lambda/mbj-newdwh2021-staging-NoticeToSlack/package-lock.json
lambda/mbj-newdwh2021-staging-NoticeToSlack/node_modules/* lambda/mbj-newdwh2021-staging-NoticeToSlack/node_modules/*
lambda/mbj-newdwh2021-staging-PublishFromLog/package-lock.json
lambda/mbj-newdwh2021-staging-PublishFromLog/node_modules/*

View File

@ -0,0 +1,30 @@
const zlib = require("zlib");
const aws = require("aws-sdk");
const sns = new aws.SNS({
apiVersion: "2010-03-31",
region: 'ap-northeast-1'
});
exports.handler = function(input, context) {
var payload = new Buffer.from(input.awslogs.data, 'base64');
zlib.gunzip(payload, function(e, result) {
if (e) {
context.fail(e);
} else {
result = JSON.parse(result.toString('UTF-8'));
const publishMessage = {
Subject: `Application Error(or Warning) in ${result.logGroup}/${result.logStream}`,
Message: result.logEvents.map((l) => l.message).join('\n'),
TopicArn: process.env.topicArn
};
console.log(publishMessage);
sns.publish(publishMessage, (err, data) => {
console.log(err, data);
if(err){
context.fail('fail');
}
});
}
});
};

View File

@ -0,0 +1,15 @@
{
"name": "mbj-newdwh2021-staging-publishfromlog",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"aws-sdk": "^2.1011.0",
"zlib": "^1.0.5"
}
}