我想在Graylog2中集中x个Asterisk服务器的日志。我无法找到关于此的任何文档,或者之前已经写过关于这样做的任何人 - 这对我来说显然很奇怪。
我对使用SNMP有一个想法,但我不相信这是最好的方法。
任何有关如何实现这一目标的建议或经验都将受到高度赞赏。
答案 0 :(得分:1)
不幸的是,我不熟悉Graylog2。但是,如果它像其他集中式日志记录解决方案一样 - 我冒昧地猜测它适用于syslog(looks like it from graylog's docs)。
记录呼叫详细记录
首先检查您是否已加载cdr_syslog.so
,module show
以查看此内容。
asterisk2ri2*CLI> module show like syslog
Module Description
Use Count
cdr_syslog.so Customizable syslog CDR Backend 0
如果不这样做,您可能需要在编译Asterisk期间选择它。 (使用vanilla编译,它可能已经存在)
确保/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。
记录星号消息
如果您想记录星号通知警告和错误,您也可以在/etc/asterisk/logger.conf
行中使用,例如:
syslog.local0 => notice,warning,error
...为了它的价值,我使用类似的技术让我的日志记录与ELK堆栈和logstash-forwarder一起工作。