web服务器的开发者,应该对cacti不陌生, cacti使用的是rrdtool来保存cpu,memory使用率的. rrdtool每5分钟记录一次这些信息,
它也可以制作出图表, 这些图表都是png格式的. 不过, 我个人认为, rrdtool制作出来的图表并不好看, 也不利于查看.
对于web服务器,
有时还需要统计再线人数, 访问次数等信息, 这需要服务器开发者自己来搭配方案.
首先来说说java服务器上使用哪种数据保存方式合适. 一种是存入关系型数据库中, 例如mysql, 但是我认为使用rrd来保存更为
合适. 为什么这么说呢?
1. rrd是环状数据库, 即数据写满之后, 就开始覆盖前面的数据, 只要设定好想要保存的最小时间长度(例如1年), 就不需要再担心数据
记录一直增长的问题
2. rrd是专业的以时间序列来记录数据的工具, 所谓的专业的事,由专业的人来做. 它在数据插入与查询方面都是很高效的, 而且
它还有一些专门适用于数据统计的概念. 例如, 假设每1分钟保存一次数据, 当查询一年的统计信息时, 需要60*24*365条记录, 这个数据
量会有点大, 但是rrd可以设定每天保存一次统计值, 这样就只要365条记录.
rrd接口参数中的一些概念对于初学者来说, 确实比较晦涩, 但这不是问题.
其次来说说图表制作工具. extjs也提供了多样的图表功能, 不过另一个选择更好, 就是highcharts. highcharts可以使用html
的svg图形工具来制作图表, 界面很优美.
下图是我使用rrd4j(rrd的java版)+highcharts制作出来的在线用户统计图表(去掉了表头/图例等敏感信息). 下篇文章, 我会讲述rrd4j
的基本使用方法
阅读(3159) | 评论(0) | 转发(0) |