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.

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. Instale o InfluxDB por este link.

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. 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; mas não habilite esta opção para períodos curtos para poder ter uma análise mais precisa de seu ambiente.

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; estes dados para armazenar na base do InfluxDB.

Passo a passo para instalação aqui

Primeiros passos com telegraf aqui

Baixe o arquivo telegraf.conf e edite conforme as orientações abaixo:

## API token para autenticação.
token = "SEU_TOKEN"

O token é gerado no portal do influxdb (Documentação)

## Bucket de destino onde será gravado os dados.
bucket = "SUA_BUCKET"

Grafana

O Grafana permite que você consulte, visualize, alerte sobre as mais variadas métricas, com armazenamento possível em várias bases de dados diferentes. Existem outras ferramentas do mercado que realizam o mesmo papel, mas vamos iniciar por esse meio que é um dos mais conhecidos e possui uma grande base Open Source trabalhando em evolução.

Precisamos entender que o Grafana não é uma base de dados, ou seja, ele consome  e apresenta esses dados conforme configurado. Tendo em mente que ele não é uma base de dados, teremos então que utilizar uma para armazenar nossas informações do ERP e Sistema Operacional.Para base de dados nós utilizamos em nossos exemplos o InfluxDB, e para coleta dos dados no sistema operacional utilizamos o Telegraf, ambos apresentados acima.Resumidamente utilizamos o Telegraf para coletar os dados no Sistema Operacional e Aplicação, assim armazenamos na base do InfluxDB, logo após com o Grafana visualizamos esses dados armazenados no InfluxDB.

Passo a passo para instalação aqui