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
- Host: GitHub
- URL: https://github.com/rafalwilinski/cloud-observer
- Owner: RafalWilinski
- Created: 2018-11-29T22:34:22.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-06-22T05:33:16.000Z (almost 4 years ago)
- Last Synced: 2025-10-10T10:58:48.144Z (6 months ago)
- Topics: aws, cloudwatch, serverless, typescript
- Language: TypeScript
- Homepage: https://rwilinski.me
- Size: 395 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Welcome to cloud-observer 👋
> AWS-CDK based solution for passing various AWS CloudWatch Events to your email or Slack channel.

### 🏠 [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).