我编写了一个简单的Python脚本来收集一些系统指标并发送给Graphite。我还在脚本中编写了一些打印语句,以便在调试时进行调试,并决定将它们保存在那里进行日志记录。
脚本运行一些基本的OS命令,将结果打印到控制台,将它们发送到碳缓存,然后休眠10秒并重新开始。
当我在前台运行脚本时,它会按照我的预期每隔10秒将正确的输出打印到stdout。使用python ports.py >> /var/log/ports.log
运行脚本会导致/非常/慢重定向到日志文件。如果我拖尾文件,我一次看不到几分钟的输出,输出是“波动的”,也就是说,输出可能会被切断,如下所示。
foo:/var/log# tailf open_ports.log
stats.foo.open_ports.broadsoft1 1 1378477047.01
stats.foo.open_ports.broadsoft2 1 1378477047.01
stats.foo.open_ports.bash 15 1378477047.01
stats.foo.open_ports.flash 16 1378477047.01
stats.foo.open_ports.cash 16 1378477047.01
stats.foo.open_ports
我希望看到这个:
stats.foo.open_ports.broadsoft1 1 1378477036.44
stats.foo.open_ports.broadsoft2 1 1378477036.44
stats.foo.open_ports.bash 14 1378477036.44
stats.foo.open_ports.flash 16 1378477036.44
stats.foo.open_ports.cash 16 1378477036.44
stats.foo.open_ports.NS2 13 1378477036.44
stats.foo.open_ports.NMS 16 1378477036.44
stats.foo.open_ports.Netsun1 13 1378477036.44
stats.foo.open_ports.Cacti 16 1378477036.44
Metrics sent.
为什么会发生这种情况,我该怎么做才能解决这个问题?据我所知,它不会影响任何事情,但我想知道为什么会这样做以及我可以做些什么来纠正这种行为。