2

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

我有一个关于为此使用 SNMP 的想法,但我不相信这是最好的方法。

任何关于如何实现这一目标的建议或经验都将受到高度赞赏。

4

1 回答 1

1

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

记录呼叫详细记录

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

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

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

确保您的/etc/syslog.confor/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 字段的更多信息,请查看 Asterisk 规范 wiki

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

记录星号消息

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

syslog.local0 => notice,warning,error

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

于 2015-04-06T13:40:49.337 回答