aliyun 自定义监控

阿里云支持上报自定义监控数据,可以使用ps、jstat、jcmd、jstat等命令,获取java进程的关键指标信息,并通过crontab机制定时上报数据,就可以在阿里云控制台看到图表走势了,并且可以设置报警规则。


  • crontab –e,每分钟获取一次数据

*/1 * * * * sh /soft/shells/check_apps.sh >> /var/log/cms_check.log

  • 调用脚本汇总数据,需要三个参数:metricName value appName

/soft/shells/cms_upload.sh threads $threads $appName

/log?type=metric&metricName=&value=&appName=


  1. 老年代内存使用百分比:jstat -gcutil $pid | tail –1 | awk '{print $4}'

    内存数据太多,选择老年代使用百分比,可以设置75%左右报警。如果长期占比不到30%,则可以考虑减少老年代内存分配。
    image
  2. 平均gc耗时:参考check_gc.sh,使用了bc计算毫秒时间

    如果内存分配不足,则会造成频繁gc,并且平均gc耗时会很长,通常10ms以内比较正常,可以设置300ms报警。
    image
  3. 应用线程数:参考check_threads.sh

    light-4j占用资源很少,但默认工作线程是200个,对于1核1G内存的云主机来说还是太多了,因此可以减少工作线程数。
    image
posted @ 2019-12-25 23:51  xlongwei  阅读(328)  评论(0编辑  收藏  举报
xlongwei