操作系统:Debian 11 Rsyslog 版本 8.2102 Squid 版本 4.13
我试图在不通过文件的情况下远程记录 squid 日志。我在 squid.conf 中使用以下日志行作为存储日志:
cache_store_log syslog:local:6
这些存储日志出现在日志中,因此它们按预期跳过了标准日志文件。
当生成这些日志时,它们与 squid 访问日志没有有意义的区别。所以为了正确处理这些日志,我想在所有local6日志的开头添加一个字符串,比如squid-store
在 rsyslog.conf 我有以下相关行:
$template squidstore_tagged,"squid-store %msg%\n"
local6.* @192.168.3.2:1514;squidstore_tagged
*.* @192.168.3.2:1514
尽管 rsyslog 进程重新启动没有错误,并且 squid 存储日志确实到达了远程服务器,但它们没有标记为“squid-store”。然后我尝试使用此配置进行故障排除,但日志仍然到达远程服务器:
#$template squidstore_tagged,"squid-store %msg%\n"
#local6.* @192.168.3.2:1514;squidstore_tagged
local6.* /dev/null
*.* @192.168.3.2:1514
如何在远程发送之前用一些文本标记来自鱿鱼商店的日志?
我不是 squid 用户,但是关于v4 cache_store_log的文档 引用了 access_log 来使用格式,它似乎更像是:
另外,请注意,在
rsyslog.conf
文件中,您可能应该在过滤器行下方添加一个“停止”行,例如:这将停止对匹配消息的进一步处理,因此您也不会在本地记录它。