Árvore de páginas

Um dos pontos importantes sobre o conceito de observabilidade, dentro do contexto de sistemas e tecnologia, traduz-se em monitorar itens constantes que impactam no funcionamento de sistemas. Em um servidor, itens como CPU, memória e disco são constantes (sempre existem, independente do sistema operacional, programas instalados, etc); mas seus valores são variáveis que podem afetar o funcionamento de uma aplicação (por exemplo, alto consumo de CPU pode deixar um sistema lento, ou até mesmo interromper seu funcionamento).

As ferramentas descritas a seguir auxiliam no processo de monitoramento destes itens, e você também poderá importar um dashboard para lhe auxiliar no monitoramento.

Resumo sobre a página e links relevantes

Nesta página, você encontrará algumas ferramentas que podem ser utilizadas para o monitoramento de seu ambiente Protheus. As configurações aqui descritas pretendem facilitar a implantação do monitoramento; porém, não há impeditivos para que você configure seus dashboards de maneira diferente. Certifique-se apenas de que as informações coletadas agregarão valor à análise de seu ambiente e não impactarão no funcionamento da aplicação.

Links relevantes

InfluxDB Instalação do InfluxDB • Criando um token do InfluxDBLinguagem Flux • Primeiros passos com o Flux • Telegraf • Pilha TICK (TICK Stack) • Instalação do Telegraf • Primeiros passos com Telegraf • Criando um token para o InfluxDB • Grafana • Instalação do Grafana • Dashboard (Grafana) de observabilidade para ambientes Protheus

InfluxDB

O InfluxDB é um banco de dados não relacional, que armazena as informações em formato de série temporal. A plataforma foi desenvolvida para coletar, armazenar, processar e visualizar métricas e eventos, e, dentre seus possíveis usos, é utilizada para armazenar os dados do sistema operacional e da aplicação, sendo possível consultar estes dados posteriormente por meio do Grafana. Como outros bancos de dados, não é necessário realizar a instalação de múltiplas instâncias do InfluxDB; ou seja, é possível instalá-lo em apenas uma máquina e configurar os serviços para apontarem para o mesmo.

Instale o InfluxDB por este link.

Dica

Para realizar consultas no banco de dados InfluxDB, é utilizada a linguagem Flux. Você pode ler a documentação sobre a linguagem Flux ou conferir o guia para primeiros passos com o Flux.

Após instalar o InfluxDB, será necessário:

♦ Criar uma nova bucket;

Gerar um token para o coletor do Telegraf.

Criando uma bucket

Para criar uma nova bucket, acesse o endereço do InfluxDB pelo navegador, definido no momento de sua instalação. Em caso de dúvidas, verifique na documentação qual é o endereço e porta padrões. Na tela que carregará, clique, no menu lateral, em Data, e selecione a aba Bucket. Após isto, clique em +Create Bucket (canto superior direito) para adicionar uma nova bucket.

Atribua o nome da bucket que será criada no campo Name. Em seguida, clique em Create.

Opcional: Você pode definir a deleção dos dados após determinado período (Older Than); mas não habilite esta opção para períodos curtos para poder ter uma análise mais precisa de seu ambiente. Lembre-se que os dados coletados podem ser utilizados para análise do consumo em momentos atípicos, onde seus recursos são consumidos de maneira diferente do normal.

Gerando um token para o coletor do Telegraf

Após criar a bucket, clique novamente em Data no menu lateral. Selecione a aba API Token.

Clique em +Generate API Token e selecione Read/Write API Token.

Digite uma descrição para o token no campo Description. Em seguida, selecione o escopo de acesso. Neste caso, apenas a leitura e escrita da bucket criada anteriormente está sendo permitida. No lugar de "engprodados", estará o nome da bucket criada no passo anterior.

Copie o token gerado. Este será utilizado para configurar o telegraf dentro do arquivo telegraf.conf e no portal do Grafana.

Caso necessário, consulte a documentação oficial para verificar os passos de criação de token do InfluxDB.

Telegraf

O Telegraf é um agente de servidor orientado por plug-in para coletar e reportar métricas, e é a primeira peça da pilha (stack) TICK. Esta stack é composta pelas ferramentas open source Telegraf, InfluxDB, Chronograf e Kapacitor que, quando integradas, podem lidar com massivas quantidades de informações de série temporal (time-stamp) para fins de análises de métricas.

O agente Telegraf possui plug-ins para coletar uma variedade de métricas diretamente do sistema em que está sendo executado, bem como extrair métricas de APIs de terceiros. Para monitorar seu ambiente, o Telegraf será utilizado para coletar dados no sistema operacional e na aplicação; conforme os procedimentos nesta página, estes dados serão armazenados na base do InfluxDB e serão visualizados pelo Grafana.

Para instalar o Telegraf, acesse este link; para ver dicas sobre os primeiros passos com o telegraf, acesse este link. Também é possível executar o telegraf como um serviço do Windows.

Seguindo o exemplo de instalação do Telegraf como serviço Windows, os parâmetros necessários serão editados para o funcionamento adequado do dashboard no Grafana. Nesta seção, você verá:

♦ Como editar o arquivo de configuração do Telegraf;

♦ Como conectar o Telegraf à base criada no InfluxDB.

Acesse o caminho onde está o arquivo telegraf.conf padrão, (por exemplo, "C:\Program Files\InfluxData\telegraf\telegraf.conf") e substitua o conteúdo deste arquivo pelo do arquivo telegraf.conf disponibilizado no git.

Após inserir o conteúdo, será necessário editar algumas chaves para se conectar a seu ambiente.

Localize a chave token e insira o token criado previamente no InfluxDB, detalhado na seção anterior.

Localiza as chaves bucket e organização e insira os valores correspondentes aos de seu ambiente InfluxDB, definidos durante a instalação (em caso de dúvidas, o nome da organização pode ser acessado em Menu do usuário > About. No canto direito será exibido o nome da organização).


Seção de exemplo para alteração
[[outputs.influxdb_v2]]
  ## URL onde está o influxdb.
  urls = ["https://IP_DO_INFLUXDB:8086"]
  ## API token para autenticação.
  token = "SEU_TOKEN"
  ## Nome da organizaçao onde serão escritos os dados.
  organization = "SUA_ORGANIZACAO"
  ## Bucket de destino onde serão gravados os dados.
  bucket = "SUA_BUCKET"

Consulte também os primeiros passos com Telegraf.

Grafana

O Grafana é uma ferramenta open source que permite que você consulte, visualize, e tenha alertas sobre as mais variadas métricas, com armazenamento possível em várias bases de dados diferentes; esta é uma das várias ferramentas disponíveis no mercado que realizam esta função.

Importante

O Grafana não é um coletor nem uma base de dados; é apenas uma ferramenta que apresenta os dados coletados por meio de outras ferramentas. Para a coleta foi utilizado o Telegraf, e para o armazenamento, o InfluxDB. Importante ressaltar que nesta página está demonstrada a configuração das três ferramentas.

Consulte este link para realizar a instalação do Grafana. Após a instalação, será necessário instalar o plugin Clock no Grafana.

Após instalar o Grafana e o plugin Clock, será necessário:

♦ Configurar a origem dos dados (data source) que serão apresentados no Grafana;

♦ Configurar seu dashboard (nota: um dashboard foi criado pela Engenharia de Dados Protheus para facilitar a visualização dos dados, e este será importado; para configurar seu dashboard sem importar este, consulte a documentação do Grafana para maiores detalhes).

Configurando o data source

Acesse o endereço do serviço Grafana (definido na instalação; em caso de dúvidas, consulte a documentação) para visualizar o painel. Clique em Configuration > Data Sources no menu lateral esquerdo:

Em seguida, clique em Add data source, à direita:

Nas opções de databases, selecione InfluxDB:

Em Name, defina um nome para o datasource (este nome será utilizado no dashboard), e em Query Language, selecione FLUX.

Na seção HTTP, defina, em URL, o endereço do InfluxDB (IP do servidor onde o InfluxDB está instalado e porta). Se a instalação do InfluxDB foi realizada conforme o padrão de instalação descrito no site da ferramenta, os parâmetros abaixo podem ser deixados da maneira sugerida pelo Grafana.

Na seção Auth, caso a instalação tenha sido conforme o padrão, você pode definir as configurações conforme esta página. Caso contrário, será necessário consultar a documentação para a configuração de autenticação.

Defina Basic Auth como habilitado, e coloque o User (usuário cadastrado no InfluxDB) e Password (senha de acesso ao InfluxDB).

Em Custom HTTP Headers, inclua o header Authorization com o valor "Token <TOKEN_GERADO_NO_INFLUXDB>"

Importante

O valor do header deve iniciar com a palavra Token, sendo seguida de um espaço e, em seguida, o token propriamente dito. 

Na seção InfluxDB Details, defina:

  • Em Organization, o nome da organização configurada no InfluxDB;
  • Em Token, apenas o token disponibilizado no InfluxDB;
  • Em Default Bucket, qual será a bucket padrão, existente no InfluxDB

Após isto, clique em Save & Test.

Importando o Dashboard do Grafana para Protheus

Após configurar os acessos, no menu lateral, clique em Import.

Insira o código 15660 no campo Import via grafana.com e, em seguida, clique em Load.

Dashboard para threshold do Protheus: como implantar e informações exibidas

Para visualizar a documentação sobre o dashboard que será importado, consulte a documentação: Grafana Dashboard Doc.


As configurações serão carregadas; clique em Import.

Na tela inicial selecione, em bucket, a bucket onde os dados do telegraf estão sendo armazenados; em instances, selecione a instância que deseja monitorar; e em services, selecione o serviço que deseja monitorar.

Com estas configurações, você poderá monitorar seu ambiente Protheus de maneira mais fácil. O print a seguir mostra o painel configurado conforme o descrito neste documento.