All Projects → wmnnd → lambda-watchtower

wmnnd / lambda-watchtower

Licence: MIT License
Serverless HTTP(S) Endpoint Monitoring With AWS Lambda & CloudWatch

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to lambda-watchtower

amazon-cloudwatch-auto-alarms
Automatically create and configure Amazon CloudWatch alarms for EC2 instances, RDS, and AWS Lambda using tags for standard and custom CloudWatch Metrics.
Stars: ✭ 52 (-23.53%)
Mutual labels:  cloudwatch, cloudwatch-metrics
aws-appsync-session-manager
AWS AppSync Session Manager - a sample AppSync project
Stars: ✭ 18 (-73.53%)
Mutual labels:  aws-lambda, aws-lambda-node
aws-sync-routes
Synchronizes the specified route from the main/default route table to all custom route tables in the VPC.
Stars: ✭ 16 (-76.47%)
Mutual labels:  aws-lambda, aws-lambda-node
Go Lambda Ping
Deploy a Lambda to Ping a Site in 20 Seconds!
Stars: ✭ 195 (+186.76%)
Mutual labels:  aws-lambda, ping
lapa
Universal AWS Lambda packager
Stars: ✭ 20 (-70.59%)
Mutual labels:  aws-lambda, aws-lambda-node
fluent-plugin-cloudwatch-ingest
Alternative to ryotarai/fluent-plugin-cloudwatch-logs for ingesting AWS Cloudwatch logs via fluentd
Stars: ✭ 11 (-83.82%)
Mutual labels:  cloudwatch
awsctl
Control AWS infrastructure easily from a single command line written in Go
Stars: ✭ 97 (+42.65%)
Mutual labels:  cloudwatch
aws-lambda-docker-serverless-inference
Serve scikit-learn, XGBoost, TensorFlow, and PyTorch models with AWS Lambda container images support.
Stars: ✭ 56 (-17.65%)
Mutual labels:  aws-lambda
Server-Help
💻 This VSTO Add-In allows the user to ping a list of servers and creates a file for Microsoft Remote Desktop Manager an Excel table. This is used for quickly determining which servers are offline in a list. It is written in 3 different versions as a VSTO Add-In in C# and VB.NET as well as a VBA Add-In.
Stars: ✭ 21 (-69.12%)
Mutual labels:  ping
aws-lambda-backup
AWS Lambda script to create and remove snapshots of EBS volumes.
Stars: ✭ 39 (-42.65%)
Mutual labels:  aws-lambda
2021-nolto
부담없이 자랑하는 작고 소중한 내 프로젝트 🧸✨
Stars: ✭ 34 (-50%)
Mutual labels:  cloudwatch
chalice-extended-action
Automated deployment of your Chalice application via Github Actions
Stars: ✭ 18 (-73.53%)
Mutual labels:  aws-lambda
serverless-rack
Serverless plugin to deploy Ruby Rack applications (Sinatra/Rails/Padrino/Cuba etc.) and bundle gems
Stars: ✭ 58 (-14.71%)
Mutual labels:  aws-lambda
heartbeats
一个基于数据上报的监控系统. 用于监控定时和定期类型服务监控状况
Stars: ✭ 25 (-63.24%)
Mutual labels:  ping
faas-federation
Enable routing between multiple OpenFaaS gateways or providers
Stars: ✭ 18 (-73.53%)
Mutual labels:  aws-lambda
twitter-bot-python-aws-lambda
A simple twitter bot using Python and an AWS Lambda function
Stars: ✭ 23 (-66.18%)
Mutual labels:  aws-lambda
Prisma-Enhanced-Remediation
Create custom auto-remediation solutions using serverless functions in the cloud.
Stars: ✭ 31 (-54.41%)
Mutual labels:  aws-lambda
libvips-lambda
libvips Executable for AWS Lambda
Stars: ✭ 43 (-36.76%)
Mutual labels:  aws-lambda
backend
Easily host entire web applications on a single AWS Lambda function using Serverless Components
Stars: ✭ 16 (-76.47%)
Mutual labels:  aws-lambda
redis-examples
Sample applications implemented with serverless Redis
Stars: ✭ 44 (-35.29%)
Mutual labels:  aws-lambda

lambda-watchtower

lambda-watchtower is a script for monitoring one or several HTTP(S) endpoints with AWS Lambda. Logs are stored as AWS CloudWatch metrics.

Usage

lambda-watchtower supports the following event parameters:

{
  "targets": [
    {
      "url": "https://example.org",
      "name": "example.org", //Optional, defaults to url; Display name of the target
    },
	{
	  "name": "Mailserver SMTP port check",
	  "type": "port",
	  "hostname": "mailserver.example.org",
	  "port": 25
	}
  ],
  "namespace": "Watchtower", //Optional, defaults to "Watchtower"; CloudWatch namespace
  "timings": ["readable", "total"], Optional, defaults to ["readable", "total"]; Determine which timings are logged.
  "timeout": 2000 //Optional, defaults to 2000: Time in ms before requests are aborted
}

Supported Timings

The following timings are supported and can be logged by lambda-watchtower:

  • lookup: Time between beginning of request and successful DNS lookup
  • connect: Time between DNS lookup and TCP connect
  • secureConnect: Time between TCP connect and completion of HTTPS handshake
  • readable: Time between successfully establishing the connection (and HTTPS handshake) and first byte received
  • close: Time between first byte and the end of the request
  • total: Total time from the beginning to the end of the request

Setup

There is a detailed step-by-step guide explaining how to set up lambda-watchtower. Read the step-by-step instructions.

If you’re already familiar with AWS IAM and Lambda, here is the short version for you:

  1. Create a new IAM Role for Lambda with PutMetricData permissions for CloudWatch
  2. Create a new Lambda Function with the contents of index.js assign the IAM role created above to this function.
  3. Create a new CloudWatch Event Rule of type schedule.
  4. Select how often you would like to check your endpoints.
  5. Add the new Lambda function as the target.
  6. Configure the input of the target and select "Constant (JSON text)".
  7. Put the configuration JSON (see Usage) in the input field.
  8. Save everything and give it a few minutes. New CloudWatch metrics can take a little while to show up.

Contributing

Pull requests and issues for additional features are welcome.

License

lambda-watchtower is licensed under the terms of the MIT license. For further information, please refer to the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].