PABX/USMA

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Plugin Nagios)
Linha 205: Linha 205:
 
# Descompacte o arquivo zip e copie o aquivo '''check_utech''' para o diretório de plugins do '''Nagios'''. Exemplo: '''/usr/local/nagios/libexec'''.
 
# 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'''.
 
# Dê permissão de execução no plugin. Exemplo: '''chmod 755 /usr/local/nagios/libexec/check_utech'''.
# No arquvivo '''commands.cfg''', defina o comando '''check_utech''':
+
# No arquivo '''commands.cfg''', defina o comando '''check_utech''':
 
<pre>
 
<pre>
 
define command {
 
define command {
Linha 211: Linha 211:
 
     command_line    $USER1$/check_utech -H $HOSTADDRESS$ $ARG1$
 
     command_line    $USER1$/check_utech -H $HOSTADDRESS$ $ARG1$
 
}
 
}
 +
</pre>
 +
# Defina os serviços uTech conforme abaixo ou de acordo com a sua preferência
 +
<pre>
 +
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'
 +
}
 +
 
</pre>
 
</pre>

Edição de 18h10min de 16 de agosto de 2022

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Ã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
}

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.
  1. Faço o download do plugin em utech_nagios_plugin.zip
  2. Descompacte o arquivo zip e copie o aquivo check_utech para o diretório de plugins do Nagios. Exemplo: /usr/local/nagios/libexec.
  3. Dê permissão de execução no plugin. Exemplo: chmod 755 /usr/local/nagios/libexec/check_utech.
  4. No arquivo commands.cfg, defina o comando check_utech:
define command {
    command_name    check_utech
    command_line    $USER1$/check_utech -H $HOSTADDRESS$ $ARG1$
}
  1. 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'
}

Ferramentas pessoais
Espaços nominais

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