sean-abbott / go-aws-mon

put basic linux metrics to AWS CloudWatch with GoLang, fit for coreos and other small AMI Instance on AWS It is easy to kick up with cloud-init as system basic monitoring working with EC2 CloudWatch.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AWS CloudWatch Monitoring Program

Put Linux System metrics to AWS CloudWatch

Memory

  • Memory Utilization - Memory usage in percent
  • Memory Used - Used memory in bytes
  • Memory Available - Available memory in bytes
  • Swap Utilization - Swap usage in percent
  • Swap Used - Swap used in bytes

Disk

  • Disk Space Utilization - Disk space usage in percent
  • Disk Space Used - Disk space used in bytes
  • Disk Space Available - Disk space available in bytes
  • Linux partition inode usage - Disk parttion inodes usage in percent

Custom

You can add a custom metric by using a colon separate string ::. The unit must be recognized by cloudwatch. You may add as many of these as you like.

Usage

  • You need to config you aws credential before run the program
  • Run the program as following for full metrics push
go-aws-mon --namespace=<NAMESPACE> --mem-util --mem-used --mem-avail --swap-util --swap-used  --disk-space-util --disk-inode-util --disk-space-used --disk-space-avail --disk-path=PATH

PATH, multiple paths are supported by comma(,) saperate, e.x. /,/var,/home

  • By default, the CloudWatch namespace is "Linux/System" and Memory Utilization and / Disk Utilization are always push
  • We recommend to change the bin/mon-put-instance-metric.sh to setup a cron job

Allen Chen(a3linux X gmail.com)

About

put basic linux metrics to AWS CloudWatch with GoLang, fit for coreos and other small AMI Instance on AWS It is easy to kick up with cloud-init as system basic monitoring working with EC2 CloudWatch.

License:GNU General Public License v3.0


Languages

Language:Go 95.0%Language:Shell 5.0%