Instalação de um Monitor para Asterisk

De Wiki do Bernardino
Ir para: navegação, pesquisa

Versões de Software

Asterisk 1.8.8
MonAst 3.0b4
Debian 6.0.3
Kernel 2.6.32-5


MonAst

O MonAst é uma ferramenta utilizada para acompanhar via web oque ocorre no asterisk, voce pode ver filas de atendimento, chamadas em espera e outras coisas mais maiores informações acesse o site do mesmo: http://monast.sourceforge.net/#about

Dependencias

apt-get install apache2-mpm-prefork python-twisted python-zope.interface php-pear php-http

Agora vamos instalar o modo http_client para o pear

pear install HTTP_Client

Baixando o MonAst

Acesse o endereço: http://monast.sourceforge.net/#downloads

Baixe a versão mais recente , no nosso caso vamos usar a 3.0b4 que é a compativel com asterisk 1.8 que estamos utilizando, eu por padrão utilizo o diretório /usr/src/ para armazenar meus downloads então:

cd /usr/src/

pegue o link do arquivo e faça o download

tar -xzvf monast-3.0b4.tar.gz
cd monast-3.0b4
mv monast-3.0b4 /var/www



Configurando o Asterisk

Abra o arquivo /etc/asterisk/manager.conf e ao fim do arquivo acrescente

[monast]
secret=_____ALTERE____ESTA____SENHA________
writetimeout=100
read=system,call,log,verbose,command,agent,user,config,originate,reporting
write=system,call,log,verbose,command,agent,user,config,originate,reporting


Certifique-se que no inicio do arquivo você tem a opção enabled=yes para o manager

Configurando o Apache

Abra o arquivo /etc/apache2/sites-enabled/000-default

Coloque no fim do arquivo após o ultimo

</Directory>

e claro antes do

</VirtualHost>

o seguinte conteudo:


      Alias /monast /var/www/monast-3.0b4/
      <Directory /var/www/monast-3.0b4>
          Order allow,deny
          Allow from all
      </Directory>


Reiniciando o apache

/etc/init.d/apache2 restart

Configurando o MonAst

Crie o arquivo /etc/monast.conf

touch /etc/monast.conf

e agora edite com o seguinte conteudo

[global]
bind_host = 127.0.0.1
bind_port = 5039
auth_required = false
[server: Server_1]
hostname = 127.0.0.1
hostport = 5038
username = monast
password = _____ALTERE____ESTA____SENHA________para_a_mesma-usada_no_manager
default_context = default
transfer_context = default
meetme_context = default
meetme_prefix  =

[peers]
sortby = callerid
default = show

[meetmes]
default = show

[queues]
default = show

Para maiores configurações pegue o arquivo /var/www/monast-3.0b4/pymon/monast.conf.sample e veja a opções possiveis

Instalando o StarPY

cd /usr/src

Baixe o arquivo http://starpy.svn.sourceforge.net/viewvc/starpy/trunk/?view=tar e jogue no /usr/src

Se quiser baixar por wget

wget -c http://starpy.svn.sourceforge.net/viewvc/starpy/trunk/?view=tar
mv index.html\?view\=tar starpy-sv.tar.gz
tar -xzvf starpy-sv.tar.gz
cd trunk
python setup.py install


Fazendo um teste

cd /var/www/pmonast-3.0b4/pymon
./pymon
Agora acess pelo navegador o host do seu servidor seguido de /monast/


Se abrir a tela do monast então está tudo certo

Colocando na inicialização

Crie o arquivo /etc/init.d/monast

touch /etc/init.d/monast

Coloque o seguinte conteudo: ( este é um script que eu fiz, então é bastante simples )

#!/bin/bash
### BEGIN INIT INFO
# Provides:             monast 
# Required-Start:    $network $syslog $named $local_fs $remote_fs
# Required-Stop:     $network $syslog $named $local_fs $remote_fs
# Should-Start:      apache2 mysql 
# Should-Stop:       apache2 mysql
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Monast Monitor for Asterisk 
# Description:          Monast - Monitor for asterisk 
### END INIT INFO


# Use the LSB standard functions for services management
. /lib/lsb/init-functions


MONASTDIR="/var/www/monast-3.0b4"


start(){
if [ -e "/etc/monast.conf" ]; then
        /var/www/monast-3.0b4/pymon/monast.py --daemon
        if [ -n $(ps aux | grep -i monast.py | grep -i daemon | awk '{ print $2 }') ]; then
                echo "Monast started"
        else
                echo "Fail to start monast"
        fi
else
        echo "Error: Monast configuration file not found [ /etc/monast.conf ]"
fi

}

stop(){

        $MONASTDIR/pymon/monast.py --stop

        if [ -z $(ps aux | grep -i monast.py | grep -i daemon | awk '{ print $2 }') ]; then
                echo "Monast succeffuly stoped"
        else
                echo "Fail to stop monast"
        fi

}


case $1 in

        start)
                start
        ;;
        stop)
                stop
        ;;
        *)
                echo "Use start or stop arguments"
        ;;
esac

Agora vamos dar permissão

chmod +x /etc/init.d/monast

E colocar na inicialização

update-rc.d monast defaults


Referências

http://tesliuk.com/wiki/index.php/Instalacao_do_MonAst