Graylog2 中的 Asterisk 日志

Asterisk logs in Graylog2

我想在 Graylog2 中集中 x 个 Asterisk 服务器的日志。我找不到 任何 文档,也找不到任何人之前写过关于这样做的文章 - 这对我来说显然很奇怪。

我有使用 SNMP 的想法,但我不认为这是最好的方法。

任何关于如何实现这一目标的建议或经验将不胜感激。

不幸的是,我不熟悉 Graylog2。但是,如果它像其他集中式日志记录解决方案一样——我敢猜测它可以与 syslog (looks like it from graylog's docs) 一起使用。

记录通话详细记录

首先检查您是否已加载 cdr_syslog.somodule show 检查一下。

asterisk2ri2*CLI> module show like syslog
Module                         Description                            
Use Count                   
cdr_syslog.so                  Customizable syslog CDR Backend          0        

如果不这样做,您可能需要在编译 Asterisk 时选择它。 (使用香草编译,它可能已经存在)

确保您的 /etc/syslog.conf/etc/rsyslog.conf 已按照您喜欢的方式设置了兼容条目,例如:

local4.*      /var/log/asterisk/asterisk-cdr.log

然后您可以修改 /etc/asterisk/cdr_syslog.conf 文件以创建如下配置:

[cdr]

facility = local4
priority = info
template = "We received a call from ${CDR(src)}"

有关 CDR fields, checkout the Asterisk canonical wiki 的更多信息。

然后,要么发出 logger reload @ Asterisk CLI,要么重启 Asterisk。

记录 Asterisk 消息

如果您想记录星号通知警告和错误,您还可以在 /etc/asterisk/logger.conf 中使用一行,例如:

syslog.local0 => notice,warning,error

...为了它的价值,我使用类似的技术让我的日志记录与 ELK 堆栈和 logstash-forwarder 一起工作。