agal是A glance at logs的简称,顾名思义,agal就是一款为了临时察看日志而编写的工具。
使用场景
agal的使用场景是临时性的日志察看,远程帮助,远程调试等,主要的考虑有
- 易于安装和启动
- 提供web界面,可以供非技术人员访问
- 传输加密和简单的安全认证
安装和启动
agal是通过python编写的,可以直接通过pip进行安装
pip install agal
agal分为两个组件,agal-cli和agal-server。 agal-cli的功能类似于tail -f,帮助转发日志到agal-server;agal-server接收日志,并且把实时收到的日志通过web界面展示出来。
agal-server的启动方式如下
agal-server --key <YOUR-VERY-STRONG-KEY> --username <USERNAME> --password <PASSWORD>
上面的参数中,
- --key是agal-cli和agal-server用于通信的对称加密秘钥,如果启动server时不指定秘钥,那么agal-server启动时会随机生成一个秘钥并输出在stdout;
- --username和--password是web访问时的用户名和密码,可以在web访问时提供一个Basic HTTP Auth。
agal-cli的启动方式如下
tail -f server.log|agal-cli --uri ws://127.0.0.1:8700/ --key <YOUR-VERY-STRONG-KEY>
其中,127.0.0.1:8700是默认的日志输入端口,也可以在启动agal-server时通过--input_host/--input_port参数来配置。启动之后就可以打开浏览器访问 http://127.0.0.1:8800 来查看日志了,当然也可以在启动agal-server时通过--host/--port来调整web访问的端口。
一些例子
除了从stdin获取数据之外,也可以让agal-cli同时跟进多个文件的日志
agal-cli --uri ws://127.0.0.1:8700/ --key <YOUR-VERY-STRONG-KEY> server-01.log server-02.log server-03.log