Manual de Instalação - CITBot
introdução o documento a seguir tem por finalidade orientar os responsáveis sobre os procedimentos de instalação do citbot , de acordo com a necessidade de cada cliente e sua aplicação dentro do ambiente em que está em operação foram descritas as suas principais características, aplicabilidades, recomendações de uso e pontos de atenção técnica, para que a sua melhor performance seja alcançada citbot o citbot é composta por chatbots criados e geridos por programas de computador desenvolvidos para simular uma conversa humana utilizando linguagem natural ou coloquial por meio de chats automatizados, sites e outras plataformas digitais o citbot pode responder utiliza diretrizes pré programadas (fluxos) ou inteligência artificial, estando disponível em tempo integral (24x7) o citbot é um sistema de atendimento via chat, automatizado e humano, que utiliza tecnologias avançadas de processamento de linguagem natural (nlu) e scripts personalizados isso permite uma integração de alto nível com sistemas externos diagrama da plataforma clientes são entendidos como clientes as aplicações terceiras que irão consumir o citbot por meio de requisições no protocolo http o pré requisito para que elas funcionem é o acesso direto ao ponto de entrada ou o acesso indireto, por meio de uma aplicação de proxy devidamente configurada recurso externos todos os recursos externos listados abaixo podem ser configurados diretamente na interface gráfica do citbot combinada ao painel de controle da respectiva solução os pré requisitos técnicos para que as mesmas possam ser utilizadas são conexão com a internet para entrada e saída credenciais, licenças, apis, tokens, dentre outros positus broker que permite enviar e receber mensagens via whatsapp watson assistant sistema de detecção de intenções do usuário isso é oferecido como alternativa à nlu interna da plataforma microsoft teams broker da microsoft que permite enviar e receber mensagens via teams citstmart exemplo de aplicação externa com a qual é possível interagir por meio de api recursos internos redis servidor para cache e arquivamento temporário de registros postgresql solução de banco de dados para armazenamento definitivo de dados transacionais e logs citbot nlu wanderson o citbot nlu (natural language understanding) é uma solução de entendimento de linguagem oferecida pela central it oferecida como alternativa ao watson assistant arquivos sistema de arquivos do sistema operacional tal sistema é utilizado para o armazenamento de uploads dos usuários finais, bem como para o armazenamento de scripts de integração ponto de entrada back end webservice escrito em nestjs,que centraliza a chamada aos recursos internos e externos da aplicação, oferecendo a abstração utilizada na implementação do front end, bem como o fornecimento de apis para clientes externos front end componente de servidor que, combinado ao navegador de internet, fornece a interface gráfica que é experienciada pelo usuário final requisitos técnicos docker a solução foi concebida para ser distribuída em imagens do tipo docker tais imagens estão preparadas para serem totalmente configuradas por variáveis de ambiente, permitindo que haja várias estratégias de implantação compose file por padrão, disponibilizamos um compose file contendo uma instalação funcional mínima da solução outros ambientes a configuração da aplicação para outros orquestradores pode ser feita a partir da tradução do compose file para a respectiva plataforma balanceamento de carga o citbot está preparada para balanceamento de carga para tal finalidade, é importante que seja configurada alguma forma de afinidade entre a sessão do usuário e o respectivo contêiner requisitos de hardware na tabela abaixo, são apresentados os requisitos mínimos de hardware para cada uma das imagens docker que compõem a solução back end front end citbot nlu postgre sql redis memória 1g 1g 1g 4g 4g núcleos de processador 1 1 1 4 4 réplicas 4 4 1 1 1 espaço 10g n/a 1g 8g n/a iops 100k iops n/a indiferente 100k iops n/a latência 10 us n/a indiferente 10 us n/a acesso à internet sim não não não não exposição à internet sim sim não não não monitoração recomenda se o monitoramento dos itens abaixo saúde dos contêineres (up ou down) uso de memória dos contêineres (90% alta / 98% desastre) uso de processador dos contêineres uso máximo diário de memória nos contêineres uso médio do processador dos contêineres agregados por hora tempo máximo diário de execução de consultas sql tempo máximo de execução de consultas sql agregadas por hora erros no log da aplicação requisições http com status diferente de 200 6\ plano de backup em caso de desastre, será necessário recuperar a aplicação a partir do seu backup para tal, é preciso que exista um backup e que ele seja periodicamente testado o backup deve ser feito da seguinte forma dump completo do banco de dados postgresql é recomendada a compactação do arquivo com bzip2, uma vez que boa parte dos dados é composta por texto cópia incremental da pasta que contém os arquivos dos uploads dos usuários cópia completa da pasta que contém os arquivos de scripts da aplicação recomenda se que o procedimento de backup seja feito de forma automática e que o resultado do script de back up seja monitorado