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
Plugin Nagios
- Plugin para serviço de monitoração 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
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' }