kamailio 提供了非常强大的SIP软交换支持,支持了不同的业务模块。如果用户需要对Kamailio进行运维管理时,需要不同的系统日志排查手段和方法。用户通过不同的log日志来排查问题。以下是几种关于Kamailio的log的设置方法,用户可以通过这些方法来设置日志输出,方便系统维护和管理。
LOG信息配置参数
用户可以设置几个配置文件核心参数来控制日志记录输出的方式。
DEBUG
这个参数将根据日志级别设置打印日志消息的阈值。具有高于调试参数值的级别的日志消息将被跳过,不会被Kamailio打印,其默认值为0(L_WARN)。接下来是将其设置为3的示例(L_DBG):
debug=3
参数的值可以在运行时通过RPC或MI命令进行更改,而无需重新启动Kamailio。下面是一个将其设置为L_NOTICE(1)的示例:
# via rpc
kamcmd cfg.seti core debug 1
# via mi
kamctl mi debug 1
如果用户想要短时间内进行故障排除而又不影响正在运行的服务时,可以使用这种排查方式。
LOG_STDERROR
配置kamailio将日志消息打印到标准错误输出或syslog。如果设置为是(1),则日志将发送到标准错误输出(终端),其默认值为否(0)-日志将发送到syslog。
log_stderror=yes
LOG_FACILITY
这和参数可以用来设置syslog环境,其默认值为LOG_DAEMON。使用此功能,用户可以配置syslog应用程序以选择来自Kamailio的消息并将它们写入特定文件。
log_facility=LOG_LOCAL0
LOG_NAME
打印在syslog文件中的日志,应用程序路径带每个日志消息的前缀。在某些情况下,可以在同一主机上运行多个Kamailio实例,这样就很难确定哪个实例输出的特定的日志消息。使用此参数,用户可以为每个日志消息设置要发送到syslog的应用程序名称。针对每个实例,用户可以在相应的kamailio.cfg中,可以设置不同的值来跟踪:
log_name=“kamailio-lb”
LOG_PR EFIX
该参数可以是一个包含配置文件变量的字符串,在运行时进行判断,并将此前缀添加到Kamailio打印的每个日志消息中。因为许多日志消息是从C代码内部打印的,此选项向日志添加了所需的文本,日志内容更清晰。例如,针对每个日志消息,带前缀自动打印SIP method、Call-ID和CSeq号码,方便用户判断使用。这样也有助于将日志消息与SIP流量捕获进行关联。下一个示例将消息类型(请求(1)或响应(2)),源IP地址,CSeq号,SIP method和Call-ID添加到每个日志消息中:
log_prefix="$mt $si $cs $rm $ci - ”
请读者注意,这种方式适用于从C代码或配置文件打印的所有日志消息,但仅在处理已正确解析的SIP消息的上下文中适用。进一步说明,Kamailio可以执行其他类型的处理,例如计时器任务,在这种处理任务中,在相应的时间由相应的进程处理任务时则不会处理SIP消息。
其他相关参数
Kamailio支持其他的参数,可以配置其他几个参数来调整日志记录的不同的层级。
● 核心日志-用于打印从核心中输出的一些消息的日志级别,这些消息可能与运行实例相关或不相关。
● memlog-用于打印已使用内存状态的日志级别
● memdbg-为每个内存管理器操作打印消息所使用的日志级别。注意,可能导致大量的log日志消息。
参考资料:
www.kamailio.org
www.sip.org.cn
作者:james.zhu
来源:SIP实验室
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。