AWSServerless FW

Try faultline to track your Node.js projects

Getting start $ git clone https://github.com/faultline/faultline.git $ cd faultline $ npm install Edit config. […]

広告ここから
広告ここまで

Getting start

$ git clone https://github.com/faultline/faultline.git
$ cd faultline
$ npm install

Edit config.yml

config.default.yml

# faultline service name
serviceName: faultline
# AWS deploy region
region: ap-northeast-1
# S3 bucket name
s3BucketName: (EDITME)
# Dynamodb table prefix
dynamodbTablePrefix: faultline
# Dynamodb Read Capacity Units
dynamodbReadCapacityUnits: 1
# Dynamodb Write Capacity Units
dynamodbWriteCapacityUnits: 1
# Error tracking count interval (year / month / day / hour / minute)
timeunit: minute
# faultline API Key for full control (!This is not API Gateway API Key!)
masterApiKey: (EDITME)
# faultline API Key for POST errors only (!This is not API Gateway API Key!)
clientApiKey: (EDITME)
# faultline error data Retention (days / -1 is unlimited)
errorDataRetentionInDays: -1
# faultline functions CloudWatchLogs Retention (days / -1 is unlimited)
logRetentionInDays: 180
# Use AWS KMS Key to encrypt POST params (notifications) ( 0 or 1 )
useKms: 0
# AWS KMS Key alias
kmsKeyAlias: faultline

config.yml example

# faultline service name
serviceName: faultline
# AWS deploy region
region: ap-northeast-1
# S3 bucket name
s3BucketName: faultline-test
# Dynamodb table prefix
dynamodbTablePrefix: faultline-test
# Dynamodb Read Capacity Units
dynamodbReadCapacityUnits: 1
# Dynamodb Write Capacity Units
dynamodbWriteCapacityUnits: 1
# Error tracking count interval (year / month / day / hour / minute)
timeunit: minute
# faultline API Key for full control (!This is not API Gateway API Key!)
masterApiKey: 0mTk4gTwbYgW
# faultline API Key for POST errors only (!This is not API Gateway API Key!)
clientApiKey: s4V63ZhO092a
# faultline error data Retention (days / -1 is unlimited)
errorDataRetentionInDays: -1
# faultline functions CloudWatchLogs Retention (days / -1 is unlimited)
logRetentionInDays: 180
# Use AWS KMS Key to encrypt POST params (notifications) ( 0 or 1 )
useKms: 1
# AWS KMS Key alias
kmsKeyAlias: faultline

Deploy

$ AWS_PROFILE=XXxxXXX npm run deploy
...
CloudFormation - UPDATE_COMPLETE - AWS::CloudFormation::Stack - faultline-v0
Serverless: Stack update finished...
Service Information
service: faultline
stage: v0
region: ap-northeast-1
stack: faultline-v0
api keys:
  None
endpoints:
  GET - https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0/projects
  DELETE - https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0/projects/{project}
  POST - https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0/projects/{project}/errors
  GET - https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0/projects/{project}/errors
  GET - https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0/projects/{project}/errors/{message}
  PATCH - https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0/projects/{project}/errors/{message}
  DELETE - https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0/projects/{project}/errors/{message}
  GET - https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0/projects/{project}/errors/{message}/occurrences
  GET - https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0/projects/{project}/errors/{message}/occurrences/{reversedUnixtime}
  POST - https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0/encrypt
functions:
  projectsList: faultline-v0-projectsList
  projectsDelete: faultline-v0-projectsDelete
  errorsPost: faultline-v0-errorsPost
  errorsList: faultline-v0-errorsList
  errorsGet: faultline-v0-errorsGet
  errorsPatch: faultline-v0-errorsPatch
  errorsDelete: faultline-v0-errorsDelete
  occurrencesList: faultline-v0-occurrencesList
  occurrencesGet: faultline-v0-occurrencesGet
  callNotifications: faultline-v0-callNotifications
  deleteExpiredErrors: faultline-v0-deleteExpiredErrors
  encrypt: faultline-v0-encrypt

Stack Outputs
ErrorsGetLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-errorsGet:1
EncryptLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-encrypt:1
ErrorsDeleteLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-errorsDelete:1
OccurrencesListLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-occurrencesList:1
ErrorsPatchLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-errorsPatch:1
OccurrencesGetLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-occurrencesGet:1
DeleteExpiredErrorsLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-deleteExpiredErrors:1
ServerlessDeploymentBucketName: faultline-v0-serverlessdeploymentbucket-1spgr5g27e44a
ProjectsDeleteLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-projectsDelete:1
ProjectsListLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-projectsList:1
ErrorsListLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-errorsList:1
ErrorsPostLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-errorsPost:1
CallNotificationsLambdaFunctionQualifiedArn: arn:aws:lambda:ap-northeast-1:999999999999:function:faultline-v0-callNotifications:1
ServiceEndpoint: https://XXXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0

Send example data

Make new directory to create example scripts.

$ cd ../
$ mkdir faultline-example
$ cd faultline-example

Init npm & install faultline-js.

$ npm init -y
$ npm install --save faultline-js

Create example scripts

var faultlineJs = require('faultline-js');
var faultline = new faultlineJs({
                  project: 'faultline-js',
                  apiKey: 's4V63ZhO092a', // your clientApiKey
                  endpoint: 'https://XXXXXX.execute-api.ap-northeast-1.amazonaws.com/v0',
                  notifications: []
                });
faultline.notify('example');
console.log('notification sent');

Run examples

$ node example.js 
notification sent

Setup web ui

$ cd ../
$ git clone git@github.com:faultline/faultline-webui.git
$ cd faultline-webui
$ npm install

update config.js

var config = {
    endpoint: 'https://XXXXX.execute-api.ap-northeast-1.amazonaws.com/v0', // faultline endpoint here
    masterApiKey: '0mTk4gTwbYgW' // faultline API Key, here
};

view

$ open index.html

ブックマークや限定記事(予定)など

WP Kyotoサポーター募集中

WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。

14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。

広告ここから
広告ここまで

Related Category posts