Se você estiver implantando um WAR no pé de fibra elástico, poderá instalar as métricas criando um arquivo de configuração na pasta .ebextensions, em WEB-INF. Consulte o link a seguir para obter mais informações sobre configuração e uso da instância: - link
Para instalar métricas de disco / memória, é necessário instalar o "Scripts de monitoramento do Amazon CloudWatch para Linux" - consulte o link
files:
"/opt/aws/cwms/CloudWatchMonitoringScripts.zip":
mode: "000777"
owner: ec2-user
group: ec2-user
source: http://ec2-downloads.s3.amazonaws.com/cloudwatch-samples/CloudWatchMonitoringScripts-v1.1.0.zip
container_commands:
01_unzip_cloud_watch_zip:
command: unzip -d /opt/aws/cwms /opt/aws/cwms/CloudWatchMonitoringScripts.zip
ignoreErrors: true
02_update_password_file:
command: sed -i 's/Key=$/Key=<VALUE OF YOUR SECRET KEY>/;s/KeyId=$/KeyId=<VALUE OF YOUR ACCESS ID>/' /opt/aws/cwms/awscreds.conf
03_update_crontab:
command: echo "*/1 * * * * /opt/aws/cwms/mon-put-instance-data.pl --mem-util --disk-path=/ --disk-space-util --from-cron" | crontab - -u ec2-user
Basicamente, o que este script faz é baixar o CloudWatchMonitoringScripts.zip baseado em Linux em uma pasta como / opt / aws / cwms (isso pode estar em qualquer lugar). Os comandos então descompactam o arquivo, atualizam a chave de acesso / segredo (usando o comando "sed") e finalmente criam a guia crontab.
Cuidado com a seção da guia crontab, já que isso poderia acabar com as entradas existentes do crontab.
UPDATE (FEB 2016)
Aqui está um script atualizado que está funcionando muito bem a partir de fevereiro de 2016 (veja link ).
sources:
/opt/cloudwatch: http://ec2-downloads.s3.amazonaws.com/cloudwatch-samples/CloudWatchMonitoringScripts-v1.1.0.zip
commands:
00-installpackages:
command: yum install -y perl-Switch perl-Sys-Syslog perl-LWP-Protocol-https
container_commands:
01-setupcron:
command: |
echo '* * * * * root perl /opt/cloudwatch/aws-scripts-mon/mon-put-instance-data.pl '{"Fn::GetOptionSetting" : { "OptionName" : "CloudWatchMetrics", "DefaultValue" : "--mem-used --memory-units=megabytes --mem-util --disk-space-util --disk-space-used --disk-space-avail --disk-path=/" }}' >> /var/log/cwpump.log 2>&1' > /etc/cron.d/cwpump
02-changeperm:
command: chmod 644 /etc/cron.d/cwpump
03-changeperm:
command: chmod u+x /opt/cloudwatch/aws-scripts-mon/mon-put-instance-data.pl
option_settings:
"aws:autoscaling:launchconfiguration" :
IamInstanceProfile : "MonitorRole"
"aws:elasticbeanstalk:customoption" :
CloudWatchMetrics : "--mem-used --memory-units=megabytes --mem-util --disk-space-util --disk-space-used --disk-space-avail --disk-path=/"
NOTA: Você deve ter uma função do IAM chamada MonitorRule
no lugar. É política de papel deve ser o seguinte (também consulte link
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:PutMetricData",
"ec2:DescribeTags"
],
"Effect": "Allow",
"Resource": [
"*"
]
}
]
}