我运行一个托管几个小型 Rails 应用程序的服务器,我想跟踪每个应用程序使用的带宽量。
它们都在 Apache 2.2 和 Passenger 3 上运行。
我用于mod_cband
静态站点,但这似乎不适用于乘客。
有没有好的方法可以跟踪不同应用使用的带宽?我需要的只是 GB 使用的明细 - 不需要图表、钩子或 API。
谢谢!
答案1
在 httpd.conf 文件中,如果您将 CustomLog 设置为“组合”(其中包括输入/输出大小的 %I 和 %O),那么它会告诉您每个请求的大小。
要全部输入/输出,请运行:
cat access_log.1297296000 |awk '{ incoming += $(NF - 2) ; outgoing += $(NF - 1) } END { printf("in=%s out=%s\n",incoming,outgoing) }'
要获取特定的应用程序,您可以运行:
grep /myapp1 access_log.1297296000 |awk '{ incoming += $(NF - 2) ; outgoing += $(NF - 1) } END { printf("in=%s out=%s\n",incoming,outgoing) }'