不安装agent和实时需求之间是有一定权衡取舍的。
比如说scp、rsync这些命令,其实也算是一种agent(sshd和rsyncd)。用Perl之类服务器自带脚本语言写一个daemon实时传日志,这个daemon也是一种agent。所以在有实时需求的时候,关键还得看agent是不是真的耗用系统资源了。所以很多地方会选择日志输出给rsyslog再转发出去,就是因为反正你不用,rsyslogd这个agent也一定会在系统上跑的。
除此之外,还有一种方式,让应用直接给远端打日志过去。log4j是有socketappender的……这算是可以圆满达到目的,但是这就必须联系研发人员一块了。