# pagerduty alert

![DBaaS Cost](https://mermaid.ink/svg/eyJjb2RlIjoiZ3JhcGggTFJcbiAgICBTW1BhZ2VyRHV0eSBBUEldIC0tPiBDW2xhbWJkYV1cbiAgICBDIC0tPiBRW1NRU11cbiAgICBRIC0tPiBGW0ZsaW5rXVxuICAgIEYgLS0-IFRbVGlEQl1cbiAgICBUIC0tPiBNW01ldGFiYXNlXVxuXG4gICIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2UsImF1dG9TeW5jIjp0cnVlLCJ1cGRhdGVEaWFncmFtIjpmYWxzZX0)

## main.go

Running in aws lambda, daily triggered, to run it, you should setup 3 envs:

- PAGERDUTY_AK: the access key which can access pagerduty api
- QUEUE_NAME: the SQS queue to put cost information into
- SQS_ROLE: the role who have access to SQS specified
- MODE: `drain` or `collect`
- DRAIN_SINCE: only used in `drain` mode
- DRAIN_UNTIL: only used in `drain` mode

## pgdy-collect.sql

Running in flink, triggered by SQS, notice that to run it you should replace `<password>` field with real password
