PABX/USMA
De uTech Tecnologia
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
Configuração do PABX
- Para habilitar ou desabilitar a monitoração, acesso a interface WEB do PABX, menu GESTÃO ⇒ Configuração. Depois clique na aba Integrações ⇒ Geral.
- 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.
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 } |
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
|
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.
|
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.
|
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.
|
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.
|
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.
|
DOORLOCK_NVR | Indica se o PABX possui licença de NVR.
|
DOORLOCK_CLOUD | Indica se o PABX possui licença de acesso ao serviço cloud.
|
IVR | Indica se o PABX possui licença de relatório de URA.
|
FIREWALL | Indica se o PABX possui licença de firewall.
|
SITUATOR | Indica se o PABX possui 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.
|
SIGMA | Indica se o PABX possui licença de integração com Simga/Segware.
|
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.
|
TTS | Indica se o PABX possui licença de integração text-to-speech.
|
STT | Indica se o PABX possui licença de integração com speech-to-text.
|
AUDIT | Indica se o PABX possui licença de relatório de auditoria.
|
PROVISIONING | Indica se o PABX possui 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.
|
type | Define se a chamada é entrante ou sainte:
|
trunk | Sem setado, indica o tronco por onde a chamada foi gerada ou recebida. |
Plugin Nagios
- Abaixo, exemplo de Plugin de monitoração para seridor NAGIOS.
- Faço o download do plugin em 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.
- Crie o arquivo /usr/local/nagios/etc/objects/utech_test/utechpbx.cfg, copie e cole o texto abaixo no arquivo utechpbx.cfg.
- 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 } define service { use generic-service host_name utechpbx service_description Disk / check_command check_utech!-t 'SEU-TOKEN' -M 'HD|/' -w 70 -c 90 } define service { use generic-service host_name utechpbx service_description Service Status - mysqld check_command check_utech!-t 'SEU-TOKEN' -M 'SRV|mysqld' } define service { use generic-service host_name utechpbx service_description Service Status - httpd check_command check_utech!-t 'SEU-TOKEN' -M 'SRV|httpd' } define service { use generic-service host_name utechpbx service_description Service Status - PABX check_command check_utech!-t 'SEU-TOKEN' -M 'SRV|pabx' } define service { use generic-service host_name utechpbx service_description Service Status - Recorder check_command check_utech!-t 'SEU-TOKEN' -M 'SRV|recorder' } 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 } define service { use generic-service host_name utechpbx service_description Interface eth0 check_command check_utech!-t 'SEU-TOKEN' -M 'ETH|eth0' }