mrtg_logo

Monitoramento é um trabalho fundamental na vida de qualquer sysadmin.

Não importa se você é responsável pelo serviço de correio, pelo servidor de arquivos, pelo servidor web ou pela telefonia da empresa. Monitorar seus recursos e identificar problemas atuais e prováveis ocorrências futuras é a chave para um downtime reduzido nos sistemas da empresa, e, consequemente, uma maior lucratividade e sucesso nos negócios.

Especificamente no que se refere a telefonia, um item que precisa ser monitorado e que muitas vezes acaba sendo ignorado é a qualidade do sinal dos chips GSM utilizados em sua central telefônica.

Um chip GSM indisponível pode significar uma ligação com maior custo, ou, até mesmo, uma ligação não realizada e qualquer destas alternativas é  certamente indesejável.

Então, se você utiliza Asterisk e seus chips estão inseridos em produtos da Khomp (placa ou EBS), este post é para você.

Requisitos

  • Servidor Asterisk funcional
  • Driver Khomp 4.0 ou superior funcional
  • Serial da placa ou EBS Khomp (pode ser obtido com o comando khomp summary no Asterisk)
  • Número dos canais onde estão conectados os chips (pode ser obtido com o comando khomp channels show no Asterisk – atenção à nota existente neste texto)
  • Serviço SNMP funcional

Configurando o SNMP 

Antes de mais nada, precisamos identificar se o KQueryServer da Khomp está ouvindo na porta 14161. Isso pode ser feito com o comando:

netstat -natup | grep -i 14161

Espere receber uma saída similar a esta:

udp 0 0 0.0.0.0:14161 0.0.0.0:* 12920/kqueryserver

Caso a porta não esteja sendo ouvida, verifique sua configuração do driver da Khomp. A documentação online pode ter a resposta dos seus problemas, mas em último caso você pode abrir um chamado com o suporte da empresa, que poderá lhe auxiliar nesta questão.

Após vencer esta etapa, é preciso então configurar seu SNMP para usar a ferramenta KQueryServer da Khomp como proxy SNMP.

Para isso, basta adicionar no seu arquivos /etc/snmp/snmpd.conf a seguinte linha:

proxy -v 1 -c khomp localhost:14161 .1.3.6.1.4.1.32624

Garanta também que a comunidade public possa ser lida. Isso pode ser feito com a seguinte linha:

rocommunity  public

Recarregue o snmp e teste o funcionamento do proxy com este comando no próprio servidor VoIP:

snmpget -v 1 -c public localhost .1.3.6.1.4.1.32624.1.3.5.7.0

Você deve receber como saída a versão do API Khomp em uso, algo como:

SNMPv2-SMI::enterprises.32624.1.3.5.7.0 = STRING: “K3L API 3.2 – (rev: 19198)”

Configurando o MRTG

Depois do SNMP configurado é preciso configurar o MRTG.

O arquivo de configuração MRTG modelo, pode ser baixado aqui. Após colocá-lo no diretório /etc/, edite-o colocando os dados necessários, que são:

  • host: seu servidor VoIP. Atenção: se o MRTG rodar em outro servidor, é preciso garantir que o mesmo tenha acesso a porta 161 udp.
  • channel: é o canal onde está o chip, obtido pelo comando khomp channels show. NOTA: aqui há uma “pegadinha”. Sempre some +1 ao valor do canal obtido através do comando indicado.
  • serial_khomp: este é o número serial da sua placa ou EBS Khomp.

Não esqueça também de adaptar o parâmetro Workdir à seu cenário.

Depois de modificar o arquivo, é preciso copiar o script mrtg_channel_gsm.sh (baixe o mesmo aqui) para o diretório /usr/local/sbin.

UPDATE 20/07/16: em algum momento na versão 4.X do driver, as OIDs do KQueryServer foram alteradas. Se você está tendo problemas com o script acima, utilize este script. Ele foi testado com a versão 4.3_007 do driver.

Após, crie ou edite o cronjob mrtg (/etc/cron.d/mrtg), adicionando a seguinte linha ao final do mesmo:

*/5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg-channel-gsm.cfg ] && [ -d "$(grep '^[[:space:]]*[^#]*[[:space:]]*WorkDir' /etc/mrtg-channel-gsm.cfg | awk '{ print $NF }')" ]; then mkdir -p /var/log/mrtg ; env LANG=C /usr/bin/mrtg /etc/mrtg-channel-gsm.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log ; fi

Por fim, acesse o diretório configurado no parâmetro WorkDir e rode o seguinte comando:

indexmaker --title="MRTG - GSM Qualidade do sinal canal <seu_canal> (<sua_operadora>)" /etc/mrtg-channel-gsm.cfg > index.html

mrtg-gsm

E, para finalizar, só mais um dica: além de grafar a qualidade do sinal, você também pode usar o SNMP para monitorar o registro dos canais GSM e até mesmo a disponibilidade de seu link E1, disparando alarmes quando houver falha nos mesmo.

Acesse a documentação do KQqueryServer e veja o que mais você pode monitorar em sua telefonia.

Boa monitoração. 😉

 

UPDATE 26/08/14: confira no repositório o script e cfg do MRTG para monitoração usando chan_dongle.

Monitorando a qualidade do sinal de chips GSM com hardware Khomp
Classificado como:                
  • Pingback: Monitorando a qualidade do sinal de chips GSM com hardware Khomp | Propus()

  • zilo

    qual a linha de comando para mnedir sinal gsm no elastix ?

    • Olá Zilo, desculpe pela demora na resposta.

      Essa abordagem pode ser utilizada também no Elastix.

      []s

  • Lux

    Para a utilizacao com o chan_dongle, como proceder???

    • Para utilização de chan_dongle é preciso, via AMI, obter o valor do sinal e plotar de forma similar. Mas cuidado, o sinal não vai até 100, vai até 33 senão me engano.

Social Media Icons Powered by Acurax Web Design Company
Optimization WordPress Plugins & Solutions by W3 EDGE
%d blogueiros gostam disto: