Перейти до основного вмісту

Налаштування графіку MRTG для Asterisk

Для відображення статистики використання каналів в Asterisk можна використовувати Nagios або MRTG.

Пораду знайшов у
http://karlsbakk.net/asterisk/
http://rad.kiev.ua/asterisk_manager_interface
http://the-asterisk-book.com/1.6/asterisk-manager-api.html

Оскільки 
MRTG вже використовується вирішив і для цього випадку використати MRTG.

Скрипт збирання результатів asterisk-mrtg взяв у
http://karlsbakk.net/asterisk/scripts/asterisk-mrtg

У файлі /etc/mrtg/mrtg.cfg прописав запуск скрипта


Title[servername]: Server title
PageTop[servername]: <h1>servername.domain.com</h1>
Target[servername]: `/usr/local/bin/asterisk-mrtg -h servername.domain.com -u someuser -p Password -1 SIP -2 IAX2`
Options[servername]: gauge,integer
MaxBytes[servername]: 90
YLegend[servername]: Active channels
ShortLegend[
servername]: chn
Legend1[servername]: Channels
Legend2[servername]: Channels
LegendI[servername]: SIP:
LegendO[servername]: IAX:

Повний синтаксис командного рядка asterisk-mrtg вказаний прямо в тілі скрипта.

Для доступу скрипта до результатів Asterisk необхідно ввімкнути та налаштувати AMI (Asterisk Manager API). Для цього потрібно змінити або створити файл /etc/asterisk/manager.conf
[general]
enabled = yes
port = 5038
bindaddr = 10.0.0.1
[someuser]
secret=Password
deny=0.0.0.0/0.0.0.0
permit=10.0.0.0/255.255.255.0
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config


Хоча будемо тільки читати результати, все одно потрібно вказати опцію write, вказати write=none або не вказати опцію write не можна, без такої опції доступ до результатів заборонений. 

Цю пораду знайшов у
http://lists.digium.com/pipermail/asterisk-users/2008-February/205478.html

Після перезапуску Asterisk або перезавантаження модуля за допомогою
asterisk -rx "module reload manager"


можна перевірити функціонування AMI, наприклад за допомогою
telnet 10.0.0.1 5038

або запустити скрипт
/usr/local/bin/asterisk-mrtg -h servername.domain.com -u someuser -p Password -1 SIP -2 IAX2
Результат повинен бути у вигляді
10 
0
0
10

Якщо збирання результатів працює нормально, то необхідно запустити indexmaker для генерації /mrtg/index.html.


Можна спробувати замість скрипта використати команди, як вказано у

http://www.commandlinefu.com/commands/view/5179/watch-active-calls-on-an-asterisk-pbx

Після оновлення Asterisk до версії 13.3, на графіку MRTG перестав показувати результати.
Виявляється змінився формат звіту AMI, у результат після команди
Action: Status

додався ще рядок
EventList: start

Тому треба в asterisk-mrtg додати строки, які виявляють додаткові результати

Скрипт з строки 121 повинен виглядати
$response = <$sock>;
$eventl = <$sock>;
$message = <$sock>;
print $response.$eventl.$message if ($verbose);

&unknown("Unknown answer $response (wanted Response: something)") unless ($response =~ m/^Response:\s+(.*)$/i);
&unknown("$response didn't say Success") unless ($1 =~ m/Success/i);
&unknown("Unknown answer $eventl (wanted EventList: start)") unless ($eventl =~ m/^EventList:\s+(.*)$/i);
&unknown("$eventl didn't say start") unless ($1 =~ m/start/i);
&unknown("Unknown answer $response (wanted Message: something)") unless ($message =~ m/^Message:\s+(.*)$/i);

&unknown("didn't understand message $message") unless ($1 =~ m/Channel status will follow/i);

І в самому початку треба задати визначення нової змінної $eventl.
У вигляді 
my (
$version, $response, $eventl, $message, $line, $chan1, $chan2,

Також можна спростити файл налаштувань AMI. 
Для отримання результату достатньо у  manager.conf вказати
read = reporting
write = reporting

Коментарі

Популярні дописи з цього блогу

Подключение Cisco 7911/7912 по SIP к Asterisk

Аппарат Cisco IP Phone 7911 по-умолчанию настроен на использование протокола SCCP. Можно в Asterisk указать использование модулей SCCP, но для единообразия удобнее использовать SIP. Для использования протокола SIP в аппарате Cisco 7911 нужно обновить программное обеспечение.  Код обновления для загрузки в аппарат нужно скачать с сервера Cisco: http://tools.cisco.com/support/downloads/pub/Redirect.x?mdfid=278875240 Самое последнее обновление (на данный момент версия 9.3) может не работать c Asterisk, с  версии 9.X Cisco переходит на использование только TCP для SIP соединений. Поэтому для использования UDP удобнее скачать обновление версии 8.5.2 или 8.5.4. Может понадобится  вначале   установить обновление 8.5.2, а затем 8.5.4. Например, для обновления с SCCP11.8-2-2SR-4S надо вначале установить 8.5.2 Обновление будет производится с сервера  TFTP, поэтому д ля начала нужно настроить сервер DHCP, TFTP. Причем в DHCP нужно настроить опцию 150, которая используется для указания аппа

Панель инструментов Remmina в полноэкранном режиме Ubuntu 12.04

Пакет Remmina 0.9.99 (протокол RDP) в системе Ubuntu 12.04 используется как клиент для доступа к терминальному серверу. Обнаружено странное поведение панели инструментов в полноэкранном режиме на терминальном сервере- панель инструментов исчезает и невозможно перейти в другое окно или закрыть сеанс. Для сворачивания окна можно использовать комбинацию клавиш CTRL+F9. Комбинации клавиш задаются в настройках Remmina, а CTRL нужно, чтобы комбинацию не перехватил терминальный сервер. В настройках Remmina есть параметр "Спрятать панель инструментов в полноэкранном режиме". Но иногда, даже если не указан этот параметр, меню не отображается. Можно, не закрывая терминальную сессию, изменить этот параметр на противоположный и после возврата в сессию, меню начнет появляться. В следующий раз перед открытием новых сессий в Remmina нужно правильно указать значение этого параметра. Размер иконок в панели инструментов можно изменить через основное меню Remmina

Изменение размера бумаги LibreOffice(OpenOffice)

Если при установке Ubuntu указать локаль «USA», то размер бумаги по-умолчанию установится «Letter». Если потом через «Система- Администрирование- Локализации» изменить локаль на «Украинский» («Русский»), изменится язык системы, формат даты, но размер бумаги по-умолчанию и единица измерения останутся прежними.  Совет нашел в http://www.nixp.ru/recipes/%D0%9A%D0%B0%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80-%D0%B1%D1%83%D0%BC%D0%B0%D0%B3%D0%B8-%D0%B2-OpenOffice-org-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E-%28libpaper%29.html Нужно в терминале запустить sudo dpkg-reconfigure libpaper1 В открывшемся списке выбрать формат А4. Можно напрямую в файле конфигурации (/etc/papersize) указать размер А4. Проверить можно в LibreOffice(OpenOffice) через меню «Формат-Страница». Еще в LibreOffice(OpenOffice) нужно изменить единицу измерения через «Сервис- Параметры- LibreOffice Writer- Общие»