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
- 通过java代码上报数据,需要配置阿里云账户的accessKeyId、secret
/log?type=metric&metricName=&value=&appName=
- 老年代内存使用百分比:jstat -gcutil $pid | tail –1 | awk '{print $4}'
内存数据太多,选择老年代使用百分比,可以设置75%左右报警。如果长期占比不到30%,则可以考虑减少老年代内存分配。 - 平均gc耗时:参考check_gc.sh,使用了bc计算毫秒时间
如果内存分配不足,则会造成频繁gc,并且平均gc耗时会很长,通常10ms以内比较正常,可以设置300ms报警。 - 应用线程数:参考check_threads.sh,
light-4j占用资源很少,但默认工作线程是200个,对于1核1G内存的云主机来说还是太多了,因此可以减少工作线程数。