{"id":15103547,"url":"https://github.com/joenyland/puppet-cloudwatch","last_synced_at":"2025-10-21T02:24:05.031Z","repository":{"id":54231253,"uuid":"60879863","full_name":"JoeNyland/puppet-cloudwatch","owner":"JoeNyland","description":"A Puppet module which installs AWS CloudWatch monitoring scripts","archived":true,"fork":false,"pushed_at":"2021-03-02T05:51:55.000Z","size":61,"stargazers_count":1,"open_issues_count":2,"forks_count":14,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-28T09:20:43.437Z","etag":null,"topics":["aws","aws-cloudwatch","cloudwatch","puppet"],"latest_commit_sha":null,"homepage":"https://forge.puppet.com/MasterRoot24/cloudwatch","language":"Puppet","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JoeNyland.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-10T22:12:48.000Z","updated_at":"2023-01-16T20:37:57.000Z","dependencies_parsed_at":"2022-08-13T09:40:53.874Z","dependency_job_id":null,"html_url":"https://github.com/JoeNyland/puppet-cloudwatch","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/JoeNyland/puppet-cloudwatch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoeNyland%2Fpuppet-cloudwatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoeNyland%2Fpuppet-cloudwatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoeNyland%2Fpuppet-cloudwatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoeNyland%2Fpuppet-cloudwatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JoeNyland","download_url":"https://codeload.github.com/JoeNyland/puppet-cloudwatch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoeNyland%2Fpuppet-cloudwatch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277171505,"owners_count":25773232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-27T02:00:08.978Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-cloudwatch","cloudwatch","puppet"],"created_at":"2024-09-25T19:40:24.219Z","updated_at":"2025-09-27T02:31:33.163Z","avatar_url":"https://github.com/JoeNyland.png","language":"Puppet","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cloudwatch\n\n#### Table of Contents\n\n1. [Description](#description)\n1. [Setup - The basics of getting started with cloudwatch](#setup)\n    * [What cloudwatch affects](#what-cloudwatch-affects)\n    * [Setup requirements](#setup-requirements)\n    * [Beginning with cloudwatch](#beginning-with-cloudwatch)\n1. [Usage - Configuration options and additional functionality](#usage)\n1. [Limitations - OS compatibility, etc.](#limitations)\n1. [Development - Guide for contributing to the module](#development)\n\n## Description\n\nInstalls AWS Cloudwatch Monitoring Scripts and sets up a cron entry to push system metrics to Cloudwatch.\n\nMore info on the monitoring scripts can be found [here](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html).\n\n## Setup\n\n### What cloudwatch affects\n\nCreates a crontab entry in order to routinely push metrics to Cloudwatch.\nThis cron job defaults to being run as the user running Puppet or root.\n\nThe Cloudwatch monitoring scripts that this module installs are dependent on the following packages and they will be\ninstalled automatically, unless `$manage_dependencies` is set to `false`.\n\n  * RHEL/CentOS/Fedora:\n    * `perl-Switch`\n    * `perl-DateTime`\n    * `perl-Sys-Syslog`\n    * `perl-LWP-Protocol-https`\n    * `perl-Digest-SHA`\n    * `unzip`\n\n  * Amazon Linux:\n    * `perl-Switch`\n    * `perl-DateTime`\n    * `perl-Sys-Syslog`\n    * `perl-LWP-Protocol-https`\n    * `unzip`\n\n  * Debian/Ubuntu:\n    * `libwww-perl`\n    * `libdatetime-perl`\n    * `unzip`\n\n### Setup Requirements\n\nOnce this module has been installed and your manifest has been applied to your Puppet nodes, Cloudwatch metrics will\nbe pushed every minute by default.\n\nYou *must* setup AWS IAM credentials on your instances or assign an IAM role to your instances which has access to\npush data to Cloudwatch. More info on this can be found [here](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html#mon-scripts-getstarted).\n\n### Beginning with cloudwatch\n\n## Usage\n\n  * Install the module: `puppet module install MasterRoot24-cloudwatch`\n  * Include the module in your manifests: `node 'my-node.example.com' { include cloudwatch }`\n\n## Class cloudwatch\n\n### Parameters\n\n#### `access_key`\n\nIAM access key ID for a user that has permissions to push metrics to Cloudwatch.\n\nNote: Both `access_key` _and_ `secret_key` must be set to use IAM user credentials.\n\nNote: Cannot be used with `credential_file` or `iam_role`.\n\nDefault: `undef`\n\n#### `secret_key`\n\nIAM secret access key for a user that has permissions to push metrics to Cloudwatch.\n\nNote: Both `access_key` _and_ `secret_key` must be set to use IAM user credentials.\n\nNote: Cannot be used with `credential_file` or `iam_role`.\n\nDefault: `undef`\n\n#### `credential_file`\n\nPath to file containing IAM user credentials.\n\nNote: Cannot be used with `access_key` _and_ `secret_key` or `iam_role`.\n\nExample credential file:\n\n    AWSAccessKeyId=my-access-key-id\n    AWSSecretKey=my-secret-access-key\n\nDefault: `undef`\n\n#### `iam_role`\n\nIAM role used to provide AWS credentials.\n\nNote: Cannot be used with `access_key` _and_ `secret_key` or `credential_file`.\n\nDefault: `undef`\n\n#### `enable_mem_util`\n\nCollects and sends the `MemoryUtilization` metric as a percentage.\n\nThis option reports only memory allocated by applications and the operating system, and excludes memory in cache and\nbuffers.\n\nDefault: `true`\n\n#### `enable_mem_used`\n\nCollects and sends the `MemoryUsed` metric.\n\nThis option reports only memory allocated by applications and the operating system, and excludes memory in cache and\nbuffers.\n\nDefault: `true`\n\n#### `enable_mem_avail`\n\nCollects and sends the `MemoryAvailable` metric.\n\nThis option reports memory available for use by applications and the operating system.\n\nDefault: `true`\n\n#### `enable_swap_util`\n\nCollects and sends `SwapUtilization` metric as a percentage.\n\nDefault: `true`\n\n#### `enable_swap_used`\n\nCollects and sends `SwapUsed` metric.\n\nDefault: `true`\n\n#### `disk_path`\n\nSelects the disks on which to report.\n\nIt's possible to specify a mount point or any file located on a mount point for the filesystem that needs to be\nreported.\n\nTo select multiple disks, add additional elements to the array. E.g. `['/', '/home']`\n\nDefault: `['/']`\n\n#### `enable_disk_space_util`\n\nCollects and sends the `DiskSpaceUtilization` metric for the selected disks.\n\nThe metric is reported as a percentage.\n\nDefault: `true`\n\n#### `enable_disk_space_used`\n\nCollects and sends the `DiskSpaceUsed` metric for the selected disks.\n\nDefault: `true`\n\n#### `enable_disk_space_avail`\n\nCollects and sends the `DiskSpaceAvailable` metric for the selected disks.\n\nDefault: `true`\n\n#### `memory_units`\n\nSpecifies units in which to report memory usage.\n\nUnits may be one of the following: `bytes`, `kilobytes`, `megabytes`, `gigabytes`.\n\nDefault: `'megabytes'`\n\n#### `disk_space_units`\n\nSpecifies units in which to report disk space usage.\n\nUnits may be one of the following: `bytes`, `kilobytes`, `megabytes`, `gigabytes`.\n\nDefault: `'gigabytes'`\n\n#### `aggregated`\n\nAdds aggregated metrics for instance type, AMI ID, and overall for the region.\n\nDefault: `false`\n\n#### `aggregated_only`\n\nThe script only aggregates metrics for instance type, AMI ID, and overall for the region.\n\nDefault: `false`\n\n#### `auto_scaling`\n\nAdds aggregated metrics for the Auto Scaling group.\n\nDefault: `false`\n\n#### `auto_scaling_only`\n\nThe script reports only Auto Scaling metrics.\n\nDefault: `false`\n\n#### `cron_min`\n\nThe minute at which to run the cron job, specified an cron format. e.g. `'*/5'` would push metrics to Cloudwatch\nevery 5 minutes.\n\nDefault: `'*'` (every minute)\n\n#### `install_target`\n\nThe directory to install the AWS scripts into.\n\nDefault: `/opt`\n\n#### `manage_dependencies`\n\nWhether or not this module should manage the installation of the packages which the AWS scripts depend on.\n\nDefault: `true`\n\n#### `zip_url`\n\nURL to the Cloudwatch scripts zip file.\n\nDefault: `http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.2.zip`\n\n## Development\n\nPlease feel free to file an issue on the GitHub repo or create a PR if there's something here that you'd like to fix.\n\nI'll try to fix issues as and when they arise as soon as I can.\n\n## Release Notes/Contributors/Etc.\n\nSee the [CHANGELOG](CHANGELOG.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoenyland%2Fpuppet-cloudwatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoenyland%2Fpuppet-cloudwatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoenyland%2Fpuppet-cloudwatch/lists"}