An open API service indexing awesome lists of open source software.

https://github.com/rafalwilinski/cloud-observer

AWS-CDK based solution for passing various AWS CloudWatch Events to your email or Slack channel
https://github.com/rafalwilinski/cloud-observer

aws cloudwatch serverless typescript

Last synced: 2 months ago
JSON representation

AWS-CDK based solution for passing various AWS CloudWatch Events to your email or Slack channel

Awesome Lists containing this project

README

          

Welcome to cloud-observer 👋





Documentation


Maintenance


License: ISC


Twitter: rafalwilinski

> AWS-CDK based solution for passing various AWS CloudWatch Events to your email or Slack channel.

![Demo](assets/schema.png?raw=true "Demo")

### 🏠 [Homepage](https://github.com/RafalWilinski/cloud-observer#readme)

## Install

```sh
npm install
```

## Useful commands

- `npm run build` compile typescript to js
- `npm run watch` watch for changes and compile
- `cdk deploy` deploy this stack to your default AWS account/region
- `cdk diff` compare deployed stack with current state
- `cdk synth` emits the synthesized CloudFormation template

## Configuration

Cloud Observer is fully configurable using `config.json` file.

Each entry inside main array translates to separate SNS topic subscribed to events defined inside `sources` array and passing them to channels defined in `destinations` array.

```json
[
{
"sources": [
{
"type": "ecsTaskStateChange" // one of ecsTaskStateChange,
}
],
"destinations": [
{
"type": "slack", // slack or email
"endpoint": "https://hooks.slack.com/services/xxx/yyy/zzz" // webhook url when slack, email address when dealing with email
}
]
}
]
```

Following configuration will pass all the ECS task state events to the slack channel specified inside `destinations.endpoint` field.

As this software is in heavy development stage, configuration structure is very likely to change.

## Todo

### Events to be handled

- [x] ECS Task State Change
- [x] CodeDeploy Deployment State Change
- [x] CodeBuild State Change
- [ ] Autoscaling Group state change
- [ ] Workspaces State Change
- [ ] ECS Container Instance State Change
- [ ] EC2 Instance State Change

### Functionality

- [ ] Filtering sources by ARN, region, etc.
- [ ] More friendly config file. YAML? TS?

## Author

👤 **Rafal Wilinski**

- Twitter: [@rafalwilinski](https://twitter.com/rafalwilinski)
- Github: [@RafalWilinski](https://github.com/RafalWilinski)

## 🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/RafalWilinski/cloud-observer/issues).

## Show your support

Give a ⭐️ if this project helped you!

## 📝 License

Copyright © 2019 [RafalWilinski](https://github.com/RafalWilinski).