我想从我的笔记本电脑(OSX 10.9)上的路由器(ASUS RT68U)接收日志。它支持 syslog 并且 OSX 具有ASL(显然是 syslog 的超集)。我已经按照OS X Lion 中的说明作为系统日志服务器,但控制台在 /var/log/network 下没有显示任何内容(尽管目录确实显示)。
我采取的步骤:
这是我与 OSX 上 /etc 中的许多内容的说明略有不同的地方,如果它也有子文件夹结构,你最好在那里添加你的 conf 并留下主要的。所以,
# Asus router logs
? [A= Host router.asus.com] store_directory /var/log/network uid=0 gid=20 mode=0644 format=bsd rotate=seq compress file_max=5M all_max=50M
# I've also tried:
#? [= Host 192.168.1.1] …
#? [A= Host 192.168.1.1] …
#? [= Host router.asus.com] …
#? …Run Code Online (Sandbox Code Playgroud) 我们有几个嵌入式系统,可以配置为将日志数据发送到远程服务器以进行调试。然而,这就是配置开发人员机器来监听和过滤这些数据的麻烦,大多数人倾向于只用 Wireshark 之类的东西来观察系统日志流量。是否有任何命令行 syslog 工具可以配置为侦听这些调试场景中的临时端口使用情况?我在网上进行了一些搜索,但没有找到任何东西。
我正在尝试使用以下配置设置 Rsyslog:我监听 514 端口以接收来自不同主机的数据:172.16.111.222、172.16.111.111 和 172.16.222.111。我想将这些日志存储在每个主机的不同文件夹中。所以我做了这个conf:
$ModLoad imudp
$Ruleset RemoteConnections
$RulesetCreateMainQueue on
$ActionQueueType LinkedList
$ActionQueueFileName dbremotecons
$ActionResumeRetryCount -1
*.* ~
$InputUDPServerBindRuleset RemoteConnections
$UDPServerRun 514
if $fromhost-ip=='172.16.111.222' then /var/log/prod1/%FROMHOST-IP%/%syslogfacility-text%.log
& ~
if $fromhost-ip=='172.16.111.111' then /var/log/prod1/%FROMHOST-IP%/%syslogfacility-text%.log
& ~
if $fromhost-ip=='172.16.222.111' then /var/log/product2/%FROMHOST-IP%/%syslogfacility-text%.log
& ~
Run Code Online (Sandbox Code Playgroud)
不幸的是,它不起作用,rsyslog 没有记录任何内容。我不确定“&~”是什么意思,我在网上找到的。
有什么想法让它发挥作用吗?
在网页 iptables 日志中
/etc/rsyslog.d/iptables.conf使用以下内容创建:Run Code Online (Sandbox Code Playgroud):msg, startswith, "iptables: " -/var/log/iptables.log & ~
第二行表示丢弃前一行中匹配的消息。
为什么& ~在 iptables 配置中意味着“丢弃在前一行中匹配的消息”?
我使用 rsyslog 变量来组成日志文件名。变量 %HOSTNAME% 和 %fromhost-ip%。一切正常,但问题是:如何将这些变量附加/前置到来自远程主机的日志的每个日志行?
是否可以?
如果是这样,它是如何完成的?syslog.conf 文件没有太大帮助。
我的控制台充斥着 rsyslog 消息。这些是来自远程服务器的消息:
Message from syslogd@MSAN-RSPAE_O1A0F at Mar 3 11:07:13 ...
rOT1[291]: 17/03/03 11:07:13 minor alarm occurred for service-id 703 mac-idx 17 (service affecting) : VPLS Duplicate MAC address, mac:00-A0-12-6F-4B-80,dup-port:ntio-1:sfp:7,dup-vlan:703,port:nta:xfp:1,vlan:703,cvlan:0,,
Run Code Online (Sandbox Code Playgroud)
我正在尝试停止将这些消息打印到控制台。已经尝试更改配置文件 /etc/rsyslog.conf
#kern.* /dev/console
Run Code Online (Sandbox Code Playgroud)
到
.* /dev/null
Run Code Online (Sandbox Code Playgroud)
并在之后重新启动 rsyslogd
sudo service rsyslog restart
Run Code Online (Sandbox Code Playgroud)
已经尝试过:
sudo dmesg -n0
Run Code Online (Sandbox Code Playgroud)
直到现在,这些消息一直出现在所有用户的控制台中。
如何一劳永逸地禁用它们?