EC2自建mongostat数据可视化

(1)ec2自建的mongo,把mongostat数据实时输出到cloudwatch,并且做成条形图,方便查看。

首先在装有mongo的ec2机器上安装awslogs,参考,然后根据提示设置采集相关配置。

然后把mongostat数据传到cloudwatch,类似于:

mongostat --host xxxxx:28017 --username root --password xxxx --authenticationDatabase admin --json > /var/log/mongostat.json &

 也可以直接做成系统进程,cloudwatch日志输出为json格式的数据。  

(2)在cloudwatch上写表达式,比如我的:

parse @message /delete":"D*(?<delete_c>[0-9.%]*).*dirty":"D*(?<dirty_c>[0-9.%k]*).*flushes":"D*(?<flushes_c>[0-9.%]*).*insert":"D*(?<insert_c>[0-9.%]*).*query":"D*(?<query_c>[0-9.%]*).*time":"D*(?<time>[0-9.%:]*).*update":"D*(?<update_c>[0-9.%]*)/
|sort time desc|display time,query_c,insert_c,update_c,delete_c,flushes_c  

(3)做成的条形图稍微要修改下表达式,例如:

fields @timestamp|parse @message /delete":"D*(?<delete_c>[0-9.%]*).*dirty":"D*(?<dirty_c>[0-9.%k]*).*flushes":"D*(?<flushes_c>[0-9.%]*).*insert":"D*(?<insert_c>[0-9.%]*).*query":"D*(?<query_c>[0-9.%]*).*time":"D*(?<time>[0-9.%:]*).*update":"D*(?<update_c>[0-9.%]*)/
|display flushes_c,delete_c,insert_c,query_c,update_c
|stats sum(insert_c),sum(delete_c),sum(query_c),sum(update_c) by bin(1min)

 最后显示效果为:

  

原文地址:https://www.cnblogs.com/5sdba-notes/p/14238345.html