aws cloudwatch自定义度量数据不可见

cnwbcb6i  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(371)

我已经创建了一个cron作业(cron作业每一分钟运行一次)和一个shell脚本,在aws论坛的帮助下将hdfs的使用情况发布到cloudwatch。
我的脚本如下所示:

  1. # !/bin/sh
  2. #
  3. # Prerequisites :
  4. # 1. AWS cloudwatch CLI
  5. # 2. JAVA
  6. # 3. AWS credentials file inside AWS cloudwatch CLI directory
  7. #
  8. export JAVA_HOME=$1
  9. export AWS_CLOUDWATCH_HOME=$2
  10. export AWS_CREDENTIAL_FILE=$AWS_CLOUDWATCH_HOME/credential-file-path.template
  11. export PATH="$PATH:$AWS_CLOUDWATCH_HOME/bin"
  12. echo '['`date`'] INFO : all paths set.'
  13. CLUSTER_NAME=$3
  14. UNIT="Percent"
  15. # 1. Get hdfs report
  16. # 2. Grep for all lines containing dfs used data
  17. # 3. Grep for percentage data
  18. dfs_used_percent=`hadoop dfsadmin -report | grep -m 1 'DFS Used\%' | grep -oE '[[:digit:]]+\.?[[:digit:]]*'`
  19. echo '['`date`'] INFO : Current hdfs usage percent : ' $dfs_used_percent
  20. echo '['`date`'] INFO : Sending data to AWS cloudwatch.'
  21. mon-put-data --metric-name "HdfsUsed" --namespace "MyCustomMetrics" --value $dfs_used_percent --unit $UNIT
  22. echo '['`date`'] INFO : Result of mon-put-data command : ' $?
  23. echo '['`date`'] INFO : Data sent to AWS cloudwatch. Exiting.'
  24. echo '----------------------------------------------------'

通过查看以下日志(echo语句),我可以看到这个脚本正在成功地将自定义度量发送到cloudwatch

  1. $ tail -f hdfs-usage-metric.log
  2. [Wed Oct 29 05:23:03 UTC 2014] INFO : Result of mon-put-data command : 0
  3. [Wed Oct 29 05:23:03 UTC 2014] INFO : Data sent to AWS cloudwatch. Exiting.
  4. ----------------------------------------------------
  5. [Wed Oct 29 05:24:01 UTC 2014] INFO : all paths set.
  6. [Wed Oct 29 05:24:03 UTC 2014] INFO : Current hdfs usage percent : 14.36
  7. [Wed Oct 29 05:24:03 UTC 2014] INFO : Sending data to AWS cloudwatch.
  8. [Wed Oct 29 05:24:04 UTC 2014] INFO : Result of mon-put-data command : 0
  9. [Wed Oct 29 05:24:04 UTC 2014] INFO : Data sent to AWS cloudwatch. Exiting.
  10. ----------------------------------------------------
  11. [Wed Oct 29 05:25:01 UTC 2014] INFO : all paths set.
  12. [Wed Oct 29 05:25:02 UTC 2014] INFO : Current hdfs usage percent : 14.36
  13. [Wed Oct 29 05:25:02 UTC 2014] INFO : Sending data to AWS cloudwatch.
  14. [Wed Oct 29 05:25:03 UTC 2014] INFO : Result of mon-put-data command : 0
  15. [Wed Oct 29 05:25:03 UTC 2014] INFO : Data sent to AWS cloudwatch. Exiting.
  16. ----------------------------------------------------
  17. [Wed Oct 29 05:26:01 UTC 2014] INFO : all paths set.
  18. [Wed Oct 29 05:26:02 UTC 2014] INFO : Current hdfs usage percent : 14.36
  19. [Wed Oct 29 05:26:02 UTC 2014] INFO : Sending data to AWS cloudwatch.
  20. [Wed Oct 29 05:26:03 UTC 2014] INFO : Result of mon-put-data command : 0
  21. [Wed Oct 29 05:26:03 UTC 2014] INFO : Data sent to AWS cloudwatch. Exiting.

但是,即使在运行这个脚本超过2小时之后,这个度量在aws控制台中也不可见。
我看不到这个指标使用 $ mon-list-metrics | grep 'Hdfs' 命令也是。
如果我跑了 mon-get-stats 在运行cron作业的同一台机器上,我得到以下输出

  1. $ mon-get-stats HdfsUsed --namespace AutodeskCustomMetrics --statistics Average
  2. 2014-10-29 04:35:00 14.36 Percent
  3. 2014-10-29 04:40:00 14.36 Percent
  4. 2014-10-29 04:45:00 14.36 Percent
  5. 2014-10-29 04:50:00 14.36 Percent
  6. 2014-10-29 04:55:00 14.36 Percent
  7. 2014-10-29 05:00:00 14.36 Percent

但如果我从同一集群中的其他机器上运行相同的命令,则不会得到任何结果。
有谁能帮我正确地插入和获取自定义指标吗?

vnzz0bqm

vnzz0bqm1#

问题已解决。我使用一组凭据发布数据,并使用其他凭据查看aws控制台:(

相关问题