用 MultiTail 查看多个 OpenStack 日志
使用 OpenStack 特别是排错的时候需要查看多个日志来定位错误,如果用 tail 会开很多 Terminal.app 程序切换查看,不方便;如果用 screen 会用 ctrl+A+N 在多个窗口切换也不方便。啥工具能在一个屏幕上跟踪多个日志文件呢?MultiTail 就是这样的一个工具,可以在一个窗口实时显示多个文件内容的更新情况,并提供了配色方案,垂直、水平分割屏幕等方便阅读和查看的功能。
在 Ubuntu/Debian 上安装 multitail:
$ sudo apt-get install multitail
在 CentOS/RHEL/Fedora 上安装 multitail:
# wget http://pkgs.repoforge.org/multitail/multitail-5.2.9-1.el6.rf.x86_64.rpm
# rpm -ivh multitail-5.2.9-1.el6.rf.x86_64.rpm
运行 multitail 在一个屏幕同时监控 nova-schedule, nova-compute, nova-network 日志:
$ multitail -s 2 /var/log/nova/nova-scheduler.log \
/var/log/nova/nova-compute.log \
/var/log/nova/nova-network.log
这里为了控制截图大小不得不把窗口弄小,理想情况是把这个 Terminal 窗口投放到外接显示器上并同时显示8个日志,这样排错会很有效率~
$ vi devstack/localrc
...
DEST=/opt/stack
SCREEN_LOGDIR=$DEST/logs/screen
...
然后运行 multitail:
$ multitail -s 2 /opt/stack/logs/screen/screen-n-sch.log \
/opt/stack/logs/screen/screen-n-cpu.log \
/opt/stack/logs/screen/screen-n-net.log