八叶草

学习资料记录

asterisk 调试 设置

Logging

Sometimes, when debugging an issue, it's useful to see and log extra information and at

other times, you want logging to be minimal. Asterisk provides a number of ways of

logging information, to files or to a syslog server. The file /etc/asterisk/logger.conf

contains the configuration elements for logging. Asterisk has different types of message

that can be logged these are:

 

 

Verbose

General 'chatter' about what is

happening on the system.

Verbosity levels greater than 3

display dialplan commands as

they are executed. This

generates lots of log information

Debug

Debug messages, normally only

used by programmers to extract

extended information

Notice

Non urgent alert messages

Warning

Warning alert messages,

something happened that might

be bad. Some tell you how bad

the warning is

Error

Error messages, something bad

happened – These should be rare.

In logger.conf you will see the [logfiles] section, this is where you define the filename

and content of log files. Take a look at this example entry

[logfiles]

debug => debug

This tells Asterisk to log debug messages (the right side of the =>) to a file called debug

(the left side of the =>) located in /var/log/asterisk/. This directory can be changed in

/etc/asterisk/asterisk.conf by modifying the line astlogdir => /var/log/asterisk to point

to the desired directory. You can log multiple information types to the same file or you

can spread the information over a number of files. For example

[logfiles]

debug => debug

messages=>warning, error

Will log debug messages to a file called debug, and will also log warning and error

messages to a file called messages. There is a special “file” called console which when

used will cause the message types specified to be logged to the Asterisk console, for

example:

[logfiles]

console => debug, warning, error, notice, verbose

Would log everything to the console (not to any files). The above is not recommended

since the amount of information that would be generated could be far to much to be of

any real use. If you change logger.conf you need to perform a reload or do a logger

rotate (see next section). You can also log messages to a syslog sever (remote logging

server), useful if you have either a lot of machines or want centralized logging. To do

this use the file syslog, with the suffix you will use in /etc/syslog.conf for example, in

logger.conf

[logfiles]

syslog.local0 => debug, warning, error, notice, verbose

And /etc/syslog.conf

 

 

local0.* @192.168.1.22

This would send the Asterisk logging information to the syslog server at 192.168.1.22.

Setting up a syslog server is beyond the scope of this document and is left as an exercise

for the reader.
Rotate logs

It is advisable to rotate your logs frequently, depending on the amount of logging you

have turned on and the about of data that is actually logged. Files larger than 2Gb can

cause some nasty effects resulting in Asterisk crashes. You can rotate logs by using the

command

logger rotate

This will rename the old log and start a new one. It will also reload logger.conf and

adopt any changes you have made to it.

Verbosity

You can change the verbosity (how much information we get) of the output on processes attached to the Asterisk console by setting the level of verbosity. To do this we use the set verbose command, for example:

set verbose 999

Sets the verbosity level to 999, Asterisk will tell you that the level of verbosity changed

asterisk*CLI> set verbose 999

Verbosity is at least 999

asterisk*CLI>

You should see every message when it is set to this level, whereas setting it to 1 will

show very little information.


Setting the verbosity level changes the level on every attached

process (connected via asterisk -r) not just the one you issue the

command from.

Getting to Grips with sip.conf

sip.conf is not difficult to understand, however there is a fundamental problem with SIP making it awkward to use. The problem is not so much with SIP itself, it's more to do with how we protect our networks. We all know that there are some nasty little people out there who are quite happy to steal your resources, make free calls using someone else's money etc. As a consequence of this we tend to put a firewall between them and us. This is where the problems start for SIP. In a network environment that requires no firewall, for example and Internal network, there will be no issues, but in a more complex network, perhaps using NAT (Network address translation) there are all sorts of hurdles to overcome.

You have a number of choices,






sip set debug on 设置显示更多的sip信息
sip set debug off关闭显示更多的sip信息
SIP Channels are only shown if registered
SIP SHOW INUSE will list all SIP extensions defined in SIP.CONF
SIP SHOW CHANNELS will list all SIP extensions registered at that time
sip set debug - Enable SIP debugging
sip set debug ip - Enable SIP debugging on IP
sip set debug off - Disable SIP debugging
sip set debug peer - Enable SIP debugging on Peername



stop gracefully 优雅地停止asterisk
stop now 立即停止运行asterisk
core show codecs 显示所有支持的编解码器

set verbose 10
set debug 10


core set debug channel - Enable/disable debugging on a channel
core set debug - Set level of debug chattiness
core set debug off - Turns off debug chattiness
core set verbose - Set level of verboseness

core show calls {uptime}: Display information on calls


logger set level {DEBUG|NOTICE}: Enables/Disables a specific logging level for this console
logger set level debug off

posted on 2012-07-14 07:39 八叶草 阅读(954) 评论(1)  编辑 收藏 引用 所属分类: asterisk

评论

# re: asterisk 调试 设置 2015-07-13 16:48 顶顶

顶顶顶顶顶  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理