Amazon CloudWatch Synthetics의 동작 확인
10999 단어 syntheticsCloudWatchAWS
■해보는 계
이번은 기본적인 동작을 확인하고 싶을 뿐이므로, 「설계도를 사용한다」라고 해 「하트 비트의 모니터링」을 시험한다.
「이름」은 적당하게 입력해, 「어플리케이션 또는 엔드포인트」는 적당하게 작성해 둔 WEB 서버의 주소를 지정해 두었다.
「스크립트 에디터」에서는 이하와 같이, Node JS 10.x 로 작성되어 const URL = "http://*.*.*.*/";
에 방금의 WEB 서버의 주소가 들어간다.
var synthetics = require('Synthetics');
const log = require('SyntheticsLogger');
const pageLoadBlueprint = async function () {
// INSERT URL here
const URL = "http://*.*.*.*/";
let page = await synthetics.getPage();
const response = await page.goto(URL, {waitUntil: 'domcontentloaded', timeout: 30000});
//Wait for page to render.
//Increase or decrease wait time based on endpoint being monitored.
await page.waitFor(15000);
await synthetics.takeScreenshot('loaded', 'loaded');
let pageTitle = await page.title();
log.info('Page title: ' + pageTitle);
if (response.status() !== 200) {
throw "Failed to load page!";
}
};
exports.handler = async () => {
return await pageLoadBlueprint();
};
"스케줄""데이터 보존"은 기본값으로 둡니다.
데이터를 저장할 S3 버킷 "데이터 스토리지"를 선택.
아티팩트를 S3에 배치하고 로그를 저장하고 Cloudwatch에 지표를 게시할 수 있는 권한이 필요한 IAM 역할을 생성합니다. 여기에서는 「새로운 롤을 작성」.
참고로 작성된 IAM 역할은 다음과 같습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::cw-syn-results-000000000000-ap-northeast-1/canary/test-fa5-8ddfac9762db/*"
]
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup"
],
"Resource": [
"arn:aws:logs:ap-northeast-1:000000000000:log-group:/aws/lambda/cwsyn-test-*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Resource": "*",
"Action": "cloudwatch:PutMetricData",
"Condition": {
"StringEquals": {
"cloudwatch:namespace": "CloudWatchSynthetics"
}
}
}
]
}
이와 같이 디폴트 5분 간격으로 설정했기 때문에, 하트비트의 모니터링에 성공하고 있는 것을 확인할 수 있다.
■Amazon EventBridge와의 제휴
[Feb 19, 2021]Amazon CloudWatch Synthetics, Amazon EventBridge에서 Canary 이벤트 지원 시작
이를 통해 canary의 실행이 실패했을 때 SNS와 연계하여 통지를 받거나 Lambda와 연계하여 문제가 있던 부분을 자동으로 복구할 수 있게 되었습니다.
↓의 페이지에서 이미 시험되고 있는 기사가 있었습니다. 일반적인 설정이 되는 것 같기 때문에, 해 본 계는 할애하겠습니다.
Amazon CloudWatch Synthetics, Amazon EventBridge에서 Canary 이벤트 지원 시작
■링크
【AWS】CloudWatch의 신규 서비스에 대해서 2020년 4월
Reference
이 문제에 관하여(Amazon CloudWatch Synthetics의 동작 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/leomaro7/items/e562d7e1c131e286db14
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var synthetics = require('Synthetics');
const log = require('SyntheticsLogger');
const pageLoadBlueprint = async function () {
// INSERT URL here
const URL = "http://*.*.*.*/";
let page = await synthetics.getPage();
const response = await page.goto(URL, {waitUntil: 'domcontentloaded', timeout: 30000});
//Wait for page to render.
//Increase or decrease wait time based on endpoint being monitored.
await page.waitFor(15000);
await synthetics.takeScreenshot('loaded', 'loaded');
let pageTitle = await page.title();
log.info('Page title: ' + pageTitle);
if (response.status() !== 200) {
throw "Failed to load page!";
}
};
exports.handler = async () => {
return await pageLoadBlueprint();
};
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::cw-syn-results-000000000000-ap-northeast-1/canary/test-fa5-8ddfac9762db/*"
]
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup"
],
"Resource": [
"arn:aws:logs:ap-northeast-1:000000000000:log-group:/aws/lambda/cwsyn-test-*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Resource": "*",
"Action": "cloudwatch:PutMetricData",
"Condition": {
"StringEquals": {
"cloudwatch:namespace": "CloudWatchSynthetics"
}
}
}
]
}
[Feb 19, 2021]Amazon CloudWatch Synthetics, Amazon EventBridge에서 Canary 이벤트 지원 시작
이를 통해 canary의 실행이 실패했을 때 SNS와 연계하여 통지를 받거나 Lambda와 연계하여 문제가 있던 부분을 자동으로 복구할 수 있게 되었습니다.
↓의 페이지에서 이미 시험되고 있는 기사가 있었습니다. 일반적인 설정이 되는 것 같기 때문에, 해 본 계는 할애하겠습니다.
Amazon CloudWatch Synthetics, Amazon EventBridge에서 Canary 이벤트 지원 시작
■링크
【AWS】CloudWatch의 신규 서비스에 대해서 2020년 4월
Reference
이 문제에 관하여(Amazon CloudWatch Synthetics의 동작 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/leomaro7/items/e562d7e1c131e286db14
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Amazon CloudWatch Synthetics의 동작 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/leomaro7/items/e562d7e1c131e286db14텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)