默认的OpenWRT日志放在/tmp/log下,这样有个问题就是每次重启就会丢失全部的日志,于是公司的路由器每次重启之后连为什么重启都不知道
于是就想办法把日志迁移出来,好在OpenWRT本身就附带了远程日志打印功能,于是直接在内网中开一个rsyslog服务器就可以了
在/etc/rsyslog.d/下新建一个router.conf,内容如下:
module(load="imtcp") module(load="imudp") input(type="imudp" port="514" ruleset="routerSet") input(type="imtcp" port="514" ruleset="routerSet") # rsyslog RuleSets ruleset(name="routerSet") { action(type="omfile" File="/var/log/router.log") }
这个配置文件可以在 http://www.rsyslog.com/rsyslog-configuration-builder/ 生成,接下来启动一下rsyslog服务就可以了
systemctl restart rsyslog
在OpenWRT端需要做的工作:
vim /etc/config/system
在config system下增加这么几行
option log_remote '1' option log_ip '192.168.0.13' # 你的日志i服务器内网IP option log_port '514' option log_size '0' # 如果不加这个可能会丢失部分日志
最后那个log_size其实是日志缓冲区的意思,如果使用它默认的,那么它基本上就不向远程提交任何日志了,因为其实生成的日志大小非常小,所以它一直都放在缓存里,直到死机重启……这样远端还是看不到任何日志,改成0就好了
这样到远端去看看/var/log/router.log,就可以看到对应的日志了。
文章末尾固定信息
我的微信
我的微信
一个码农、工程狮、集能量和智慧于一身的、DIY高手、小伙伴er很多的、80后奶爸。
评论