# cwtune
## Description
`cwtune` is an open-source tool developed by [availabl.ai](https://availabl.ai). It addresses the issue of noisy CloudWatch alarms by providing a data-driven approach for selecting better thresholds.
Thresholds for these monitors are usually selected by trial and error, which can lead to unnecessary noise. `cwtune` uses historical data to backtest and suggest optimized thresholds, ensuring your alarms are tuned to the right level. This reduces unnecessary noise and increases the value of your alerts.
## Requirements
- [aws cli](https://aws.amazon.com/cli/)
- python 3.6+
## Installation
You can install `cwtune` via pip:
```bash
pip install cwtune
```
## Usage
After installation, you can run `cwtune` from the command line:
```bash
cwtune
```
The tool will then guide you interactively through the process of configuring your CloudWatch alarm.
Alternatively, you can provide command-line arguments to configure the alarm:
```bash
cwtune --alarm-type [gt|lt] --period [1|5|60] --statistic [Sum|Average|Min|Max|SampleCount|p50|p95|p99] --region [AWS region] --aws-profile [AWS CLI profile]
```
Here's what each argument does:
- `--alarm-type`: The type of alarm, either greater than (`gt`) or less than (`lt`).
- `--period`: The period of the CloudWatch metric in minutes. Can be `1`, `5`, or `60`.
- `--statistic`: The statistic of the CloudWatch metric. Can be `Sum`, `Average`, `Min`, `Max`, `SampleCount`, `p50`, `p95` or `p99`.
- `--region`: The region of the CloudWatch metric. Can be any valid AWS region.
- `--aws-profile`: (Optional) The profile configured in AWS CLI to use for making API calls. Defaults to `default`.
For example, to configure a greater than alarm with a 1-minute period, using the `Sum` statistic, in the `us-west-1` region, and using the default AWS CLI profile, you would run:
```bash
cwtune --alarm-type gt --period 1 --statistic Sum --region us-west-1 --aws-profile default
```
## Example Plot
<img width="1544" alt="Screen Shot 2023-08-02 at 15 48 45 p m" src="https://github.com/availabl-co/cwtune/assets/89125058/1dd56b83-36c4-46d2-a40e-f29cfb657fdb">
## Contributing
We welcome contributions from the community! If you would like to contribute, please follow these steps:
1. Fork the repository on GitHub.
2. Make your changes in a new branch.
3. Test your changes to ensure they do not introduce new bugs.
4. Submit a pull request for review.
## License
`cwtune` is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/availabl-co/cwtune",
"name": "cwtune",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "cwtune",
"author": "Arran McCabe",
"author_email": "arran@availabl.ai",
"download_url": "https://files.pythonhosted.org/packages/3e/49/ae7acf00dd70b5f61bc4a558c52508743ce21e7af061cfba6ac8db2483e3/cwtune-0.2.1.tar.gz",
"platform": null,
"description": "\n# cwtune\n\n## Description\n\n`cwtune` is an open-source tool developed by [availabl.ai](https://availabl.ai). It addresses the issue of noisy CloudWatch alarms by providing a data-driven approach for selecting better thresholds. \n\nThresholds for these monitors are usually selected by trial and error, which can lead to unnecessary noise. `cwtune` uses historical data to backtest and suggest optimized thresholds, ensuring your alarms are tuned to the right level. This reduces unnecessary noise and increases the value of your alerts.\n\n## Requirements\n- [aws cli](https://aws.amazon.com/cli/)\n- python 3.6+\n\n## Installation\n\nYou can install `cwtune` via pip:\n\n```bash\npip install cwtune\n```\n\n## Usage\n\nAfter installation, you can run `cwtune` from the command line:\n\n```bash\ncwtune\n```\n\nThe tool will then guide you interactively through the process of configuring your CloudWatch alarm.\n\nAlternatively, you can provide command-line arguments to configure the alarm:\n\n```bash\ncwtune --alarm-type [gt|lt] --period [1|5|60] --statistic [Sum|Average|Min|Max|SampleCount|p50|p95|p99] --region [AWS region] --aws-profile [AWS CLI profile]\n```\n\nHere's what each argument does:\n\n- `--alarm-type`: The type of alarm, either greater than (`gt`) or less than (`lt`).\n- `--period`: The period of the CloudWatch metric in minutes. Can be `1`, `5`, or `60`.\n- `--statistic`: The statistic of the CloudWatch metric. Can be `Sum`, `Average`, `Min`, `Max`, `SampleCount`, `p50`, `p95` or `p99`.\n- `--region`: The region of the CloudWatch metric. Can be any valid AWS region.\n- `--aws-profile`: (Optional) The profile configured in AWS CLI to use for making API calls. Defaults to `default`.\n\nFor example, to configure a greater than alarm with a 1-minute period, using the `Sum` statistic, in the `us-west-1` region, and using the default AWS CLI profile, you would run:\n\n```bash\ncwtune --alarm-type gt --period 1 --statistic Sum --region us-west-1 --aws-profile default\n```\n\n## Example Plot\n<img width=\"1544\" alt=\"Screen Shot 2023-08-02 at 15 48 45 p m\" src=\"https://github.com/availabl-co/cwtune/assets/89125058/1dd56b83-36c4-46d2-a40e-f29cfb657fdb\">\n\n## Contributing\n\nWe welcome contributions from the community! If you would like to contribute, please follow these steps:\n\n1. Fork the repository on GitHub.\n2. Make your changes in a new branch.\n3. Test your changes to ensure they do not introduce new bugs.\n4. Submit a pull request for review.\n\n## License\n\n`cwtune` is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "CLI for AWS CLoudWatch Alarm Tuning/Creation",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/availabl-co/cwtune"
},
"split_keywords": [
"cwtune"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "591bc72943fc1726301e2c71c672ae940f7dcdaed5835fa5ec1ae7eebba0325a",
"md5": "48f7466305c79bd2cdd93cbfe4fb8fe1",
"sha256": "99187a66b2b2c39f83c03d83f635984a9b0318a7dc00a85d26d7f494963c8554"
},
"downloads": -1,
"filename": "cwtune-0.2.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "48f7466305c79bd2cdd93cbfe4fb8fe1",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 12126,
"upload_time": "2023-08-07T16:19:25",
"upload_time_iso_8601": "2023-08-07T16:19:25.323059Z",
"url": "https://files.pythonhosted.org/packages/59/1b/c72943fc1726301e2c71c672ae940f7dcdaed5835fa5ec1ae7eebba0325a/cwtune-0.2.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3e49ae7acf00dd70b5f61bc4a558c52508743ce21e7af061cfba6ac8db2483e3",
"md5": "d985e726b7eddf27bfee67fbf03e022d",
"sha256": "a815c9da5c289a525a1b82380245bef34da4290467874b484396c76802e30af3"
},
"downloads": -1,
"filename": "cwtune-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "d985e726b7eddf27bfee67fbf03e022d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 11993,
"upload_time": "2023-08-07T16:19:26",
"upload_time_iso_8601": "2023-08-07T16:19:26.402039Z",
"url": "https://files.pythonhosted.org/packages/3e/49/ae7acf00dd70b5f61bc4a558c52508743ce21e7af061cfba6ac8db2483e3/cwtune-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-07 16:19:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "availabl-co",
"github_project": "cwtune",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "cwtune"
}