PABX/USMA

De uTech Tecnologia
Edição feita às 13h20min de 16 de setembro de 2022 por Utechnet (disc | contribs)

Ir para: navegação, pesquisa

Tabela de conteúdo


Introdução

  • A monitoração do PABX está disponível para a versão 1.0.1 - Qui 21 Jul 2022 09:42:45 ou superior.
  • Dados monitorados:
    • Serviços (mysqld, httpd, pabx, recorder)
    • Memória
    • Disco
    • Uptime
    • Load Average
    • Interfaces de rede
    • Versão do PABX/Sentinela
    • Licenças
    • Chamadas
    • Ultimo Backup da Configuração



Configuração do PABX

  • Para habilitar ou desabilitar a monitoração, acesso a interface WEB do PABX, menu GESTÃOConfiguração. Depois clique na aba IntegraçõesGeral.
  • Habilite ou desabilite a opção Habilitar API de Monitoração.
  • Configure um token de acesso a monitoração no campo Token. É mandatório a configuração de um token. Se o campo ficar vazio, não será possível consultar os dados de monitoração.


Pabx-usma-config.png


Monitoração

A monitoração possui uma API de consulta, onde é retornado os dados no formato JSON, conforme mostrado a segir:

Valores Retornados

{
  "services":{
    "httpd":{
      "state":"Up (Sleeping)",
      "threads":"1",
      "pid":"1400",
      "memory_usage":29663232
    },
    "pabx":{
      "state":"Up (Sleeping)",
      "threads":"70",
      "pid":"4018",
      "memory_usage":755040256
    },
    "recorder":{
      "state":"Up (Sleeping)",
      "threads":"7",
      "pid":"17557",
      "memory_usage":413044736
    },
    "mysqld":{
      "state":"Up (Sleeping)",
      "threads":"27",
      "pid":"2505",
      "memory_usage":1284890624
    }
  },
  "hostname":"utechpbxmaster",
  "memory":{
    "total":16739729408,
    "free":5867208704,
    "swapTotal":1048571904,
    "swapFree":21082112,
    "swapCached":21082112
  },
  "disk":{
    "/":{
      "size":491091935232,
      "used":247250391040,
      "free":243841544192,
      "device":"/dev/sda2",
      "free_percent":50,
      "used_percent":50
    },
    "/utech":{
      "size":1968872734720,
      "used":1673101672448,
      "free":295771062272,
      "device":"/dev/sdb1",
      "free_percent":15,
      "used_percent":85
    },
    "/mnt/backup":{
      "size":157460463616,
      "used":137896132608,
      "free":19564331008,
      "device":"10.0.0.2:/backup/gravacoes/",
      "free_percent":12,
      "used_percent":88
    }
  },
  "uptime":{
    "text":"243 days, 20 hours, 45 seconds",
    "timestamp":"1639604893"
  },
  "load":{
    "now":"0.23",
    "5min":"0.24",
    "15min":"0.19"
  },
  "net":{
    "eth0":{
      "state":"up",
      "type":"Ethernet (PCI) (r8169)",
      "mac":"94:c6:91:3c:a8:ce",
      "port_speed":1000000000,
      "sent":{
        "bytes":285642994787,
        "errors":0,
        "packets":1097411086
      },
      "recieved":{
        "bytes":14961890380932,
        "errors":0,
        "packets":12526503684
      }
    },
  },
  "version":{
    "RELEASE":"1.0.1 - qui 11 ago 2022 13:38:08",
    "PBX":"pbx-2022-07-22-05:07:53",
    "RECORDER":"recorder-2022-07-04-10:07:29",
    "SIP":"pjsip-2021-10-26-18:10:56",
    "FRONTEND":"frontend-2022-08-11-13:08:08"
  },
  "license":{
    "RECORDER":"TRUE",
    "SIP_CHANNELS":"100",
    "MAX_EXTENSIONS":"200",
    "H323_CHANNELS":"10",
    "HFA_CHANNELS":"10",
    "CTI_OPERATORS":"50",
    "CTI_AGENTS":"50",
    "CALL_CENTER":"TRUE",
    "CALL_CENTER_AGENTS":"100",
    "CALL_CENTER_DIALER":"TRUE",
    "CALL_CENTER_CHAT":"1000",
    "CALL_CENTER_CHAT_AGENTS":"50",
    "CALL_CENTER_EMAIL":"100",
    "CALL_CENTER_EMAIL_AGENTS":"50",
    "CALL_CENTER_CHATBOT":"10",
    "AMD_CHANNELS":"100",
    "DOORLOCK":"TRUE",
    "DOORLOCK_NVR":"TRUE",
    "DOORLOCK_CLOUD":"TRUE",
    "IVR":"TRUE",
    "FIREWALL":"TRUE",
    "SITUATOR":"TRUE",
    "SITUATOR_ACCOUNTS":"100",
    "CRM":"TRUE",
    "SIGMA":"TRUE",
    "SIGMA_ACCOUNTS":"100",
    "ENUM":"TRUE",
    "TTS":"TRUE",
    "STT":"TRUE",
    "AUDIT":"TRUE",
    "PROVISIONING":"TRUE",
    "NS":"999"
  },
  "calls":
  [
    {
      "callid":"1660671211.86235",
      "src":"1000",
      "dst":"1021",
      "state":"Established",
      "start":"2022-08-16 14:33:31",
      "duration":"893",
      "held":"0",
      "type":"1",
     "trunk":""
    },
    {
      "callid":"1660671195.86229",
      "src":"+554833334840",
      "dst":"4",
      "state":"Established",
      "start":"22022-08-16 14:33:15",
      "duration":"911",
      "held":"0",
      "type":"1",
      "trunk":"Link E1"
    }
  ],
  "LastUpdate":1660672107,
  "last_cfg_backup":{
      "date":"2022-09-08 15:45:51",
      "timestamp":"1662662751"
   }
}

Requisição / API

Para realizar uma requisição dos dados de monitoração, é necessário ter o endereço IP do PABX/Sentinela e o Token configurado.

  • Exemplo: http://10.0.0.1/monit/?token=6c4ef68651fff4edbd13ffd60bd997f8


Campos

services
state Estado do serviço
  • Up
  • Down
threads Numero de threads alocadas pelo serviço
pid PID do processo. - Process ID.
memory_usage Memória utilizada pelo processo. Em bytes.
hostname
Hostname Nome do pabx.
memory
total Memória total do PABX/Sentinela (em bytes).
free Memória livre no PABX/Sentinela (em bytes).
swapTotal Memória swap total do PABX/Sentinela (em bytes).
swapFree Memória swap livre no PABX/Sentinela (em bytes).
swapCached Memória swap em cache no PABX/Sentinela (em bytes).
disk
size Tamanho total da partição (em bytes)
used Espaço utilizado da partição (em bytes)
free Espaço livre na partição (em bytes)
used_percent Porcentagem de utilização da partição/disco.
free_percent Porcentagem de espaço não utilizado da partição/disco.
uptime
text Tempo em atividade do PABX/Sentinela.
timestamp Timestamp com o tempo em atividade do PABX/Sentinela.
load
now Load average do PABX/Sentine neste instante.
5min Load average do PABX/Sentine nos últimos 5min.
15min Load average do PABX/Sentine nos últimos 15min.
net
state Estado da interface.
  • Up: Interface UP.
  • Down: Interface DOWN. Caso não seja detectado cabo conectado, a interface será mostrada como DOWN, mesmo estando UP.
type Tipo da interface de rede.
mac Endereço MAC da interface de rede.
speed Velocidade negociada da interface de rede (em bytes).
sent &rArr bytes Número de bytes enviados.
sent &rArr packets Número de pacotes enviados.
sent &rArr errors Número de erros de envio.
recieved &rArr bytes Número de bytes recebidos.
recieved &rArr packets Número de pacotes recebidos.
recieved &rArr errors Número de erros de recebimento.
version
RELEASE Versão do PABX/Setinela.
PBX Versão do serviço do PABX.
RECORDER Versão do serviço de gravação.
SIP Versão da pilha SIP.
FRONTEND Versão da interface de gerenciamento web.
license
RECORDER Licença de gravação.
  • true: Com licença de gravação.
  • false: Sem licença de gravação.
SIP_CHANNELS Número de licença de canais SIP.
MAX_EXTENSIONS Número máximo de ramais.
H323_CHANNELS Número de canais gravação H323 (Sentinela).
HFA_CHANNELS Número de canais de gravação HFA (Sentinela).
CTI_OPERATOR Número máximo de usuários CTI como operador conectados simultaneamente.
CTI_AGENTS Número máximo de usuários CTI como agente conectados simultaneamente.
CALL_CENTER Indica se o PABX/Sentinela tem licença de call center.
  • true: Com licença de call center.
  • false: Sem licença de call center.
CALL_CENTER_AGENTS Número de licença de agentes do call center.
CALL_CENTER_DIALER Indica se o PABX/Sentinela tem licença de discador.
  • true: Com licença de discador.
  • false: Sem licença de discador.
CALL_CENTER_CHAT Número de licenças de sessões ativas chats do call center.
CALL_CENTER_CHAT_AGENTS Número de licenças de agentes de chats do call center.
CALL_CENTER_EMAIL Número de licenças de sessões ativas e-mail do call center.
CALL_CENTER_EMAIL_AGENTS Número de licenças de agentes de e-mails do call center.
CALL_CENTER_CHATBOT Número de licenças de chatboot's do call center.
AMD_CHANNELS Número de licenças de canais de detecção de voz / machine recognition.
DOORLOCK Indica se o PABX possui licença de Controle de Acesso.
  • true: Com licença de controle de acesso.
  • false: Sem licença de controle de acesso.
DOORLOCK_NVR Indica se o PABX possui licença de NVR.
  • true: Com licença de NVR.
  • false: Sem licença de NVR.
DOORLOCK_CLOUD Indica se o PABX possui licença de acesso ao serviço cloud.
  • true: Com licença cloud.
  • false: Sem licença de cloud.
IVR Indica se o PABX possui licença de relatório de URA.
  • true: Com licença de relatório de ura.
  • false: Sem licença de relatório de ura.
FIREWALL Indica se o PABX possui licença de firewall.
  • true: Com licença de firewall.
  • false: Sem licença de firewall.
SITUATOR Indica se o PABX possui licença de integração com Situator.
  • true: Com licença de integração com Situator.
  • false: Sem licença de integração com Situator.
SITUATOR_ACCOUNTS Número de licenças de contas do Situator.
CRM Indica se o PABX tem licença de integração com CRM.
  • true: Com licença de integração com CRM.
  • false: Sem licença de integração com CRM.
SIGMA Indica se o PABX possui licença de integração com Simga/Segware.
  • true: Com licença de integração com Sigma.
  • false: Sem licença de integração com Sigma.
SIGMA_ACCOUNTS Número de licenças de contas do Sigma.
ENUM Indica se o PABX possui licença de integração com consulta número. Ver Integração consulta número.
  • true: Com licença de integração com consulta número.
  • false: Sem licença de integração com consulta número.
TTS Indica se o PABX possui licença de integração text-to-speech.
  • true: Com licença de integração com text-to-speech.
  • false: Sem licença de integração com text-to-speech.
STT Indica se o PABX possui licença de integração com speech-to-text.
  • true: Com licença de integração com consulta speech-to-text.
  • false: Sem licença de integração com consulta speech-to-text.
AUDIT Indica se o PABX possui licença de relatório de auditoria.
  • true: Com licença de relatório de auditoria.
  • false: Sem licença de relatório de auditoria.
PROVISIONING Indica se o PABX possui licença de provisionamento de dispositivos.
  • true: Com licença de provisionamento de dispositivos.
  • false: Sem licença de provisionamento de dispositivos.
NS Número de série do PABX.
calls
callid CallID da ligação
src Número origem da ligação (caller).
dst Número destino da ligação (called).
state Estado da ligação. ver Estados de uma chamada.
start Data/Hora de inicio da chamada.
duration Duração da chamada, em segundos.
held Indica se a chamada está em espera.
  • 0: Chamada em conversação.
  • 1: Chamada em espera.
type Define se a chamada é entrante ou sainte:
  • 1: Entrante.
  • 2: Sainte.
trunk Sem setado, indica o tronco por onde a chamada foi gerada ou recebida.
Ultimo Backup da Configuração
date Data/Hora do ultimo backup da configuração realizado.
timestamp Timestamp do ultimo backup da configuração realizado.


Plugin Nagios

  • Abaixo, exemplo de Plugin de monitoração para seridor NAGIOS.


  • Faço o download do plugin em Mídia:utech_nagios_plugin.zip
  • Descompacte o arquivo zip e copie o aquivo check_utech para o diretório de plugins do Nagios. Exemplo: /usr/local/nagios/libexec.
  • Dê permissão de execução no plugin. Exemplo: chmod 755 /usr/local/nagios/libexec/check_utech.
  • No arquivo commands.cfg, defina o comando check_utech:
define command {
    command_name    check_utech
    command_line    $USER1$/check_utech -H $HOSTADDRESS$ $ARG1$
}
  • Defina os serviços uTech conforme abaixo ou de acordo com a sua preferência.
  1. Crie o arquivo /usr/local/nagios/etc/objects/utech_test/utechpbx.cfg, copie e cole o texto abaixo no arquivo utechpbx.cfg.
  2. Insira a linha cfg_dir=/usr/local/nagios/etc/objects/utech_test/utechpbx.cfg no arquivos de configuração /usr/local/nagios/etc/nagios.cfg.
define host{
        name                            TemplateuTechTeste
        alias                           TemplateuTechTeste
        check_command                   check-host-alive
        max_check_attempts              5
        check_interval                  5
        active_checks_enabled           1
        check_period                    24x7
        retain_status_information       1
        contact_groups                  admins
        notification_interval           60
        notification_period             24x7
        notification_options            d,u,r
}

define hostgroup {
        hostgroup_name                  utech_teste
        alias                           uTech Teste
        members                         utechpbx
}


define host {
        use                             TemplateuTech
        host_name                       utechpbx
        address                         10.0.0.238
        check_command                   check_http
        alias                           utechpbx
        icon_image                      server.png
        notes                           PABX uTech TESTE

}

########################################################################################
## Monitoração HD - Partição / - Warning 70% e Critico com 90% de utilização
########################################################################################
define service {
        use                             generic-service
        host_name                       utechpbx
        service_description             Disk /
        check_command                   check_utech!-t 'SEU-TOKEN' -M 'HD|/' -w 70 -c 90
}


########################################################################################
## Monitoração do serviço MYSQLD - Mandatório para o PABX uTech
########################################################################################
define service {
        use                             generic-service
        host_name                       utechpbx
        service_description             Service Status - mysqld
        check_command                   check_utech!-t 'SEU-TOKEN' -M 'SRV|mysqld'
}

########################################################################################
## Monitoração do serviço HTTPD - Mandatório para o PABX uTech
########################################################################################
define service {
        use                             generic-service
        host_name                       utechpbx
        service_description             Service Status - httpd
        check_command                   check_utech!-t 'SEU-TOKEN' -M 'SRV|httpd'
}

########################################################################################
## Monitoração do serviço PABX - Mandatório para o PABX uTech
########################################################################################
define service {
        use                             generic-service
        host_name                       utechpbx
        service_description             Service Status - PABX 
        check_command                   check_utech!-t 'SEU-TOKEN' -M 'SRV|pabx'
}

########################################################################################
## Monitoração do serviço Recorder - Mandatório para o PABX uTech
########################################################################################
define service {
        use                             generic-service
        host_name                       utechpbx
        service_description             Service Status - Recorder
        check_command                   check_utech!-t 'SEU-TOKEN' -M 'SRV|recorder'
}

########################################################################################
## Monitoração da memória RAM Livre - Warning 30% e Critico com 15% de mem. livre
########################################################################################
define service {
        use                             generic-service
        host_name                       utechpbx
        service_description             Memory Free
        check_command                   check_utech!-t 'SEU-TOKEN' -M 'MEM|G' -w 30 -c 15
}

########################################################################################
## Monitoração se interface ETH0 está ativa. Pode ser replicado para outras interfaces
## alterando a opção -M para "ETH|ethX"
########################################################################################
define service {
        use                             generic-service
        host_name                       utechpbx
        service_description             Interface eth0
        check_command                   check_utech!-t 'SEU-TOKEN' -M 'ETH|eth0'
}

########################################################################################
## Monitoração da execução dos backups do PABX. Alarme se mais 7 dias sem realizar
########################################################################################
define service {
        use                             generic-service
        host_name                       utechpbx
        service_description             Configuration Backup
        check_command                   check_utech!-t 'TOKEN' -M 'CFGBKP|7'
}

Ferramentas pessoais
Espaços nominais

Variantes
Visualizações
Ações
Navegação
Ferramentas