OpenWRT远程日志打印

默认的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,就可以看到对应的日志了。

转载需保留链接来源:VCBeta.CN » OpenWRT远程日志打印

赞 (2)