{"id":20541214,"url":"https://github.com/netways/check_cloud_aws","last_synced_at":"2026-03-01T14:34:04.781Z","repository":{"id":37976110,"uuid":"351501618","full_name":"NETWAYS/check_cloud_aws","owner":"NETWAYS","description":"Icinga check plugin to check Amazon AWS resources","archived":false,"fork":false,"pushed_at":"2024-04-29T10:11:49.000Z","size":284,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-04-30T09:04:38.494Z","etag":null,"topics":["aws","icinga","monitoring","plugin"],"latest_commit_sha":null,"homepage":"https://www.netways.de/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NETWAYS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-25T16:21:26.000Z","updated_at":"2024-05-01T17:12:50.289Z","dependencies_parsed_at":"2023-02-19T06:16:07.423Z","dependency_job_id":"e0454d9e-fe5e-48be-915e-5fe7a4fb2229","html_url":"https://github.com/NETWAYS/check_cloud_aws","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NETWAYS%2Fcheck_cloud_aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NETWAYS%2Fcheck_cloud_aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NETWAYS%2Fcheck_cloud_aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NETWAYS%2Fcheck_cloud_aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NETWAYS","download_url":"https://codeload.github.com/NETWAYS/check_cloud_aws/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240582045,"owners_count":19824145,"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","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","icinga","monitoring","plugin"],"created_at":"2024-11-16T01:20:25.982Z","updated_at":"2025-09-21T19:09:10.948Z","avatar_url":"https://github.com/NETWAYS.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# check_cloud_aws\n\nAn Icinga check plugin to check Amazon AWS resources.\n\n## Usage\n\n### Health Status\n\nA general status based on the RSS feed on the AWS Health Page.\n\n```\nUsage:\n  check_cloud_aws status [flags]\n\nFlags:\n  -u, --url string       The AWS Status Page URL (default \"https://status.aws.amazon.com\")\n  -s, --service string   The AWS Service to check (default \"ec2\")\n  -h, --help             help for status\n```\n\n```\ncheck_cloud_aws status --service cloudfront\nOK - Service cloudfront is operating normally\n\ncheck_cloud_aws --region us-west-1 status --service cloudwatch\nWARNING - Information available for cloudwatch in us-west-1\n\ncheck_cloud_aws --region eu-west-1 status\nCRITICAL - Service disruption for ec2 in eu-west-1\n\ncheck_cloud_aws --region \"\" status iam\nCRITICAL - WARNING - Information available for iam (Global)\n```\n\n### EC2\n\nWhen one of the states is non-OK, or a machine is stopped, the check will alert.\n\n#### EC2 Instances\n\nCheck multiple EC2 instances from a region and filtered by name or auto-scaling group.\n\n```\nUsage:\n  check_cloud_aws ec2 instances [flags]\n\nFlags:\n  -a, --autoscale string   Search for ec2 instances by autoscaling group\n  -h, --help               help for instances\n  -n, --name string        Search for ec2 instances by name (e.g. instance*)\n```\n\n```\n$ check_cloud_aws ec2 instances\nCRITICAL - 4 Instances: 2 running - 2 stopped\n \\_[CRITICAL] i-0f38c870feae9c593 \"(none)\" stopped (no status)\n \\_[OK] i-06378c1b63a42384f \"IcingaMaster\" running instance=ok system=ok\n \\_[CRITICAL] i-0d5c0ad646be4610e \"IcingaAgent\" stopped (no status)\n \\_[OK] i-0a1b3143ae11565fc \"IcingaSatellit\" running instance=ok system=ok\n```\n\n#### EC2 Instance\n\nCheck the states of a single EC2 instance.\n\n```\nUsage:\n  check_cloud_aws ec2 instance [flags]\n\nFlags:\n  -h, --help          help for instance\n  -i, --id string     Search for ec2 instance by id\n  -n, --name string   Search for ec2 instance by name\n```\n\n```\n$ check_cloud_aws ec2 instance --name IcingaMaster\nOK - \"IcingaMaster\" running instance=ok system=ok\n \\_ID: i-06378c1b63a42384f\n \\_Type: t2.micro\n \\_AutoScaling: (none)\n```\n\n### S3\n\nIn the **bucket** context, calculates the size of the bucket and alerts if its size reaches the threshold.\nIn the **object** context, the size of each object inside a bucket will be checked against the threshold.\n\n#### S3 Bucket\n\n```\nUsage:\n  check_cloud_aws s3 bucket [flags]\n\nFlags:\n  -b, --buckets strings           Name of the S3 bucket. If '--buckets' is empty, all buckets will be evaluated.\n  -c, --crit-bucket-size string   Critical threshold for the size of the specified bucket. Alerts if the size is greater than the critical threshold.\n                                  Possible units are MB, GB or TB (defaults to MB if none is specified). (default \"20Gb\")\n  -w, --warn-bucket-size string   Warning threshold for the size of the specified bucket. Alerts if the size is greater than the warning threshold.\n                                  Possible units are MB, GB or TB (defaults to MB if none is specified). (default \"10Gb\")\n      --empty-ok                  Return OK if there are no buckets\n  -h, --help                      help for bucket\n```\n\n```\ncheck_cloud_aws s3 bucket\nOK - 1 Buckets: 0 Critical - 0 Warning - 1 OK\n \\_[OK] my-bucket - value: 100MiB | my-bucket=100MB;10240;20480\n\ncheck_cloud_aws s3 bucket --crit-bucket-size 10\nCRITICAL - 1 Buckets: 1 Critical - 0 Warning - 0 OK\n \\_[CRITICAL] my-bucket - value: 100MiB | my-bucket=100MB;10240;10\n\ncheck_cloud_aws s3 bucket --crit-bucket-size 5GB\nCRITICAL - 1 Buckets: 1 Critical - 0 Warning - 0 OK\n \\_[CRITICAL] my-bucket - value: 100MiB | my-bucket=100MB;10240;10\n```\n\n### S3 Object\n\n```\nUsage:\n  check_cloud_aws s3 object [flags]\n\nFlags:\n  -b, --buckets strings           Name of one or multiple S3 buckets. If '--buckets' is empty, all buckets will be evaluated.\n      --prefix string             Limits the response to keys that begin with the specified prefix, e.G. '--prefix test' filters all objects which starts with 'test'.\n                                  NOTE: Keep in mind, that objects beneath a directory will be ignored.\n  -c, --crit-object-size string   Critical threshold for the size of the object. Alerts if the size is greater than the critical threshold.\n                                  Possible units are MB, GB or TB (defaults to MB if none is specified). (default \"1gb\")\n  -w, --warn-object-size string   Critical threshold for the size of the object. Alerts if the size is greater than the warning threshold.\n                                  Possible units are MB, GB or TB (defaults to MB if none is specified). (default \"800mb\")\n  -p, --perfdata                  Displays perfdata and lists all objects in the specified bucket.\n      --empty-ok                  Return OK if there are no buckets\n  -h, --help                      help for object\n```\n\n```\ncheck_cloud_aws s3 object\nOK - 2 Objects: 0 Critical - 0 Warning - 2 OK\n \\_[my-bucket]:\n     \\_[OK] foo.fs: 100MiB\n     \\_[OK] bar.fs: 100MiB\n\ncheck_cloud_aws s3 object --prefix file\nOK - 3 Objects: 0 Critical - 0 Warning - 3 OK\n \\_[my-bucket]:\n     \\_[OK] file_1.fs: 10MiB\n     \\_[OK] file_2.fs: 20MiB\n     \\_[OK] file_3.fs: 30MiB\n\ncheck_cloud_aws s3 object --crit-object-size 10KB --buckets foo --buckets bar\nCRITICAL - 2 Objects: 2 Critical - 0 Warning - 0 OK\n \\_[foo]:\n     \\_[CRITICAL] file.fs: 100MiB\n \\_[bar]:\n     \\_[CRITICAL] file.fs: 100MiB\n```\n\n### Cloudfront\n\nChecks a specific or multiple cloudfront distributions from a region. When the state is `disabled` or `InProgress`,\nthe check will alert.\n\n```\nUsage:\n  check_cloud_aws cloudfront [flags]\n\nFlags:\n  -e, --etag strings   Etag name of one or multiple distributions. If '--etag' is empty, all distributions will be evaluated.\n  -h, --help           help for cloudfront\n\nGlobal Flags:\n  -C, --credentials-file string   Path to the credentials file (default \"$HOME/.aws/credentials\")\n  -P, --profile string            The AWS profile name, which represents a separate credential profile in the credential file (default \"default\")\n  -R, --region string             The AWS region to send requests to (default \"eu-central-1\")\n  -t, --timeout int               Timeout for the check (default 30)\n```\n\n```\ncheck_cloud_aws cloudfront\nWARNING - 1 Distributions: 0 Disabled - 1 InProgress - 0 Enabled\n \\_[WARNING] E2BD5GDFJZXKWC status=InProgress enabled=true\n | E2BD5GDFJZXKWC=inprogress\n```\n\n## Authentication\n\nCreate a new IAM account for API access, add the required **read-only permissions, and check can monitor resources on\nthat account.\n\nPermission EC2:\n\n* `arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess`\n\nPermission Cloudfront:\n\n* `arn:aws:iam::aws:policy/CloudFrontReadOnlyAccess`\n\nPermission S3:\n\n* `arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess`\n\nYou can use the common AWS environment variables for the check, but we recommend storing the credentials in\nthe standard AWS locations on disk.\n\n## Storing Credentials\n\nBy default, the check uses the config and credential storage of the AWS CLI.\n\n**~/.aws/credentials**\n\nThe INI section header represents the credential profile you can pass to check_cloud_aws.\n\n```\n[default]\naws_access_key_id=eXaMPleID\naws_secret_access_key=SeCrEtExAmPleKey\n```\n\n**~/.aws/config**\n\nThe region setting here influences the default region of check_cloud_aws, which you can override.\n\n```\n[default]\nregion = eu-central-1\n```\n\n## Further Documentation\n\n* [AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html)\n* [AWS Docs](https://docs.aws.amazon.com/ec2/index.html)\n\n## License\n\nCopyright (c) 2021 [NETWAYS GmbH](mailto:info@netways.de)\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program. If not, see [gnu.org/licenses](https://www.gnu.org/licenses/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetways%2Fcheck_cloud_aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetways%2Fcheck_cloud_aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetways%2Fcheck_cloud_aws/lists"}