Tenta adaptar de acordo com sua necessidade: <br><br><a href="http://lists.digium.com/pipermail/asterisk-users/2005-July/109892.html">http://lists.digium.com/pipermail/asterisk-users/2005-July/109892.html</a><br><br><pre>#!/usr/bin/perl -w<br>
#<br># <a href="http://lists.digium.com/mailman/listinfo/asterisk-users">wlloyd at slap.net</a><br><br># The asterisk version indpendant way to get queue stats into Mysql,  <br>Postgres<br># or whatever is supported by Perl DBI<br>
<br># It&#39;s all about named pipes<br><br># to setup this software<br># stop asterisk<br># rm /var/log/asterisk/queue_log<br># mkfifo /var/log/asterisk/queue_log<br><br># make sure permissions are setup<br># chmod 777 /var/log/asterisk/queue_log<br>
<br># run this program as root or under another user as you see fit.<br># should start BEFORE asterisk.  Add to /etc/rc.d/rc.local or whatever<br><br># restart asterisk<br><br># requires a DB table like the following..<br>
# CREATE TABLE csr_queue (<br>#  qname varchar(30) default NULL,<br>#  agent varchar(30) default NULL,<br>#  action text,<br>#  info1 text,<br>#  info2 text,<br>#  info3 text,<br>#  timestamp int(11) NOT NULL default &#39;0&#39;,<br>
#  id tinytext NOT NULL<br>#) TYPE=MyISAM;<br><br>use DBI;<br>use IO::File;<br><br>my $opt_debug = 0;<br><br># if you want postgres change this to &quot;Pg&quot;<br>my $db_type = &quot;mysql&quot;;<br>my $db_host = &quot;127.0.0.1&quot;;<br>
my $db_user_name = &#39;username&#39;;<br>my $db_password = &#39;password&#39;;<br>my $db_database = &#39;asteriskstat&#39;;<br><br>my $dbh = DBI-&gt;connect(&quot;DBI:$db_type:dbname=$db_database;host= <br>$db_host;&quot;, $db_user_name, $db_password);<br>
<br>open(FIFO, &quot;&lt; /var/log/asterisk/queue_log&quot;)        or die &quot;Can&#39;t open  <br>queue_log : $!\n&quot;;<br><br>while (1) {<br><br>     $message = &lt;FIFO&gt;;<br>     next unless defined $message;   # interrupted or nothing logged<br>
     chomp $message;<br><br>     # remove chars that will cause DB problems<br>     $message =~ s/\&quot;\&#39;//g;<br><br>     @data = split(/\|/,$message);<br><br>     # these messages are almost useless for my purposes<br>
     next if ($data[4] eq &quot;QUEUESTART&quot; );<br>     next if ($data[4] eq &quot;CONFIGRELOAD&quot; );<br><br>     if (!defined($data[5])) {<br>       $data[5] = &#39;&#39;;<br>     }<br>     if (!defined($data[6])) {<br>
       $data[6] = &#39;&#39;;<br>     }<br>     if (!defined($data[7])) {<br>       $data[7] = &#39;&#39;;<br>     }<br><br>     my $sql = &quot;INSERT INTO csr_queue (timestamp, id, qname, agent,  <br>action, info1, info2, info3) VALUES (&#39;$data[0]&#39;, &#39;$data[1]&#39;, &#39;$data <br>
[2]&#39;, &#39;$data[3]&#39;, &#39;$data[4]&#39;, &#39;$data[5]&#39;, &#39;$data[6]&#39;, &#39;$data[7]&#39;)&quot;;<br><br>     print &quot;$sql \n\n&quot; if ($opt_debug);<br><br>     $dbh-&gt;do($sql);<br><br># if you want an actual logfile you might want to uncomment this<br>
#        if ( open(LOG, &quot;&gt;&gt; /var/log/asterisk/queue_log_real&quot;) ) {<br>#            print LOG &quot;$message\n&quot;;<br>#            close(LOG);<br>#        } else {<br>#            warn &quot;Couldn&#39;t log to /var/log/asterisk_queue_log: $!\n&quot;;<br>
#        }<br>#<br>}<br><br>$dbh-&gt;disconnect();<br><br>exit 0;<br><br><br></pre><br><br><br><div class="gmail_quote">2010/1/29 Cesar A. Gaspar <span dir="ltr">&lt;<a href="mailto:cesargasp@ig.com.br">cesargasp@ig.com.br</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


  
  

<div bgcolor="#ffffff" text="#000000">
Valeu Italo!<br>
<br>
Vi que o QueueMetrics gera relatórios bem legais, e que o script
desenvolvido por eles lê o arquivo verificando pela data. Mas como aqui
na empresa eles já tem um desenvolvimento próprio para administração do
Asterisk (ramais, rotas...), no nosso caso só precisamos jogar as
informações do log no banco de dados e depois eles trabalham em cima
delas (relatórios).<br>
<br>
Depois, quando tiver mais tempo, vou verificar melhor todas as
funcionalidades do QueueMetrics!!!<br>
<br>
Muito obrigado.<br>
<br>
<pre cols="72">Att.

Cesar A. Gaspar
</pre>
<br>
<br>
Italo Rossi escreveu:
<blockquote type="cite">
  <pre>Cesar,

O pessoal que desenvolve e comercializa o QueueMetrics desenvolveu o  
qloaderd que faz este serviço. Eu não sei te dizer se é liberada a  
utilização, mas vale a pena dar uma conferida. Eu sei que ele funciona  
muito bem, tenho a solução (QueueMetrics) rodando aqui na empresa e  
estou muito satisfeito.

On Jan 28, 2010, at 2:30 PM, Cesar A. Gaspar wrote:

  </pre>
  <blockquote type="cite">
    <pre>Opa! É uma alternativa....

Mas, ao reiniciar o sistema ele irá duplicar os últimos registros.

Talvez com:

tail -f -n 0 /var/log/asterisk/queue_log

funcione legal!!!


Valeu pessoal pelas dicas!!!

Att.

Cesar Gaspar


Junior Polegato - Asterisk escreveu:
    </pre>
    <blockquote type="cite">
      <pre>Cesar A. Gaspar escreveu:

      </pre>
      <blockquote type="cite">
        <pre>Infelizmente não! Tem que ser arquivos independentes.
A minha intenção é jogar os registros, no momento que vão sendo
adicionados a fila, num banco de dados. Para isso eu transformaria o
/var/log/asterisk/queue_log em um named pipe:
mkfifo /var/log/asterisk/queue_log
e um scripts (perl, php...) rodando com um serviço fazia o  
trabalho de
pegar do queue_log e jogar no banco, quando isso acontece o registro
não estará mais em queue_log.
Isto já está fazendo, o problema ocorre quando por algum motivo o
serviço não está rodando. Todas as chamadas que entrarem na fila  
neste
período são perdidas. A minha intenção era ter uma copia destes
registros caso o serviço esteja parado, para não perder estas  
informações.
Imaginei que existiria uma opção parecida em /etc/asterisk/ 
logger.conf.
Att.
Cesar Gaspar

        </pre>
      </blockquote>
      <pre>Olá,

       Pode far isso com &quot;tail -f /var/log/asterisk/queue_log |
&lt;programa&gt;&quot;, onde tudo que for adicionado ao queue_log é jogado na
entrada padrão do programa, assim dá para &quot;simular&quot; um pipe. Neste
programa, em Python, para capturar cada linha e campos separados  
por &#39;,&#39;
(vírgula), seria:

import sys
campos = sys.stdin.readline().split(&#39;,&#39;)
print campos

[]&#39;s
            Junior Polegato

_______________________________________________
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte técnico local qualificado e gratuito
Conheça a linha completa de produtos KHOMP em <a href="http://www.khomp.com.br" target="_blank">www.khomp.com.br</a>
_______________________________________________
Lista de discussões AsteriskBrasil.org
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a>


      </pre>
    </blockquote>
    <pre>_______________________________________________
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte técnico local qualificado e gratuito
Conheça a linha completa de produtos KHOMP em <a href="http://www.khomp.com.br" target="_blank">www.khomp.com.br</a>
_______________________________________________
Lista de discussões AsteriskBrasil.org
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a>
    </pre>
  </blockquote>
  <pre>_______________________________________________
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk. 
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte técnico local qualificado e gratuito 
Conheça a linha completa de produtos KHOMP em <a href="http://www.khomp.com.br" target="_blank">www.khomp.com.br</a>
_______________________________________________
Lista de discussões AsteriskBrasil.org
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a>

  </pre>
</blockquote>
</div>

<br>_______________________________________________<br>
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.<br>
- Hardware com alta disponibilidade de recursos e qualidade KHOMP<br>
- Suporte técnico local qualificado e gratuito<br>
Conheça a linha completa de produtos KHOMP em <a href="http://www.khomp.com.br" target="_blank">www.khomp.com.br</a><br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br></blockquote></div><br><br clear="all"><br>-- <br>Atenciosamente<br>
Daviramos Roussenq Fortunato<br>