使用命名管道使用Perl解析系统日志?

使用命名管道使用Perl解析系统日志?,perl,named-pipes,fifo,syslog,Perl,Named Pipes,Fifo,Syslog,我正在尝试编写一个脚本,该脚本将通过网络抓取日志,解析它们以获取相关信息,并执行一些操作(如果出现关键问题,请发送电子邮件,如果出现警告,只需写入日志文件即可)。我使用带有syslogd的AIX机器来处理日志。现在它像往常一样执行,将所有日志写入文件。。。很多文件 有人建议我使用Perl和命名管道来实现脚本。我刚刚花了一些时间阅读命名管道,我发现它们非常迷人。然而,在这种情况下,信息的“流”应该如何工作,以及如何让perl处理它,我感到困惑 例如,我是否应该在脚本外部创建一个fifo,并告诉sy

我正在尝试编写一个脚本,该脚本将通过网络抓取日志,解析它们以获取相关信息,并执行一些操作(如果出现关键问题,请发送电子邮件,如果出现警告,只需写入日志文件即可)。我使用带有syslogd的AIX机器来处理日志。现在它像往常一样执行,将所有日志写入文件。。。很多文件

有人建议我使用Perl和命名管道来实现脚本。我刚刚花了一些时间阅读命名管道,我发现它们非常迷人。然而,在这种情况下,信息的“流”应该如何工作,以及如何让perl处理它,我感到困惑

例如,我是否应该在脚本外部创建一个fifo,并告诉syslogd在默认情况下写入它,然后让脚本在另一端解析它?Perl可以做到这一点吗(对于系统管理员来说),这是一个明智的/可能的选择吗

这是我第一次接触Perl和命名管道。

您肯定可以创建一个,尽管在我看来,对于您尝试做的事情,最好按照您的建议在Perl之外创建命名管道,然后让syslogd写入它,并从Perl读取管道

我对AIX不太了解,但这可以用于创建管道():

要让syslogd写入它,请在
/var/adm/syslog.pipe
中定义它:

   *.info                        |/var/adm/syslog.pipe 
然后:

您还可以将所有这些内容放入perl脚本中:如果管道不存在或syslogd没有使用它,脚本将为您安排所有必需的内容


如果需要更多帮助,您可能可以提供更多关于您正在尝试执行的操作的详细信息。

我找到了您发布的代码片段来自的文章(),似乎我需要创建一个自定义的syslog配置文件。我会调查的,谢谢。我的日志管理项目可以做到这一点,还有更多。这是一个完整的Perl项目,因此您可以查看代码和/或使用它。我可能会尝试创建自己的日志管理器。我一定会检查你的密码。
   *.info                        |/var/adm/syslog.pipe 
kill -HUP `cat /var/run/syslogd.pid`