Asterisk Server Monitoring?

Is there a way to monitor an Asterisk server and continuously see the amount of concurrent calls? I’d like to monitor my server and actually see how many concurrent calls we process at our peak levels. Other than consistantly monitoring Asterisk with “show channels” I don’t really know of a way to do this. Is it possible? Is there a way to like create a report with this info or anything?

the answer to most “is there a way” questions is usually the wiki :

I just finished depoly Nagios to monitor asterisk using the check_sip plugin. It work great for me to ensure everyone get notified if service go down =). Cacti do have some capcity planning add-on for asterisk you might want to take a look which I am planning to look into it soon too=).

Cacti Asterisk PBX Add-on … t=asterisk
Cacti CDR Trend analysis … t=asterisk

Could you tell me pls what did you write in your service_command check_sip! line in nagios cfg file ?
check_sip!sip:101/agent does not work for me :imp: (101 is extension and agent is context)
It seems if works only for default context right ?
Pls add you default service {} lines for check_sip plugin

You could easily write a script that uses the Asterisk Manager Interface to monitor the number of callers.

Essentially you want to write a script in your favorite language that connects to the AMI, runs ‘show channels’ (or any other command that will effectively show the number of current callers), parses the result, and stick it into an SQL table which you can query for your reports.

You can have the script sleep and repeat or have cron execute it at some interval.

Just another opinion on a problem with many solutions.


You will be able to use the check_sip plugin with Zenoss as well.

Well thank you but I prefer nagios and cacti.I am not so advanced user to write my own plugin for nagios.As you see I am struggling with definition of check_sip plugin for nagios.

Try the below url.


Thanks for the link.