Histórico da Página
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.
Índice | ||||
---|---|---|---|---|
|
Informações | ||
---|---|---|
| ||
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 InfluxDB • Linguagem 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. |
Expandir | ||
---|---|---|
| ||
Após instalar o InfluxDB, será necessário: ♦ Criar uma nova bucket; ♦ Gerar um token para o coletor do Telegraf. Criando uma bucketPara criar uma nova bucket, acesse o endereço do InfluxDB, 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; 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 TelegrafApó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.
Expandir | |||||||
---|---|---|---|---|---|---|---|
| |||||||
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).
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.
Informações | ||
---|---|---|
| ||
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.
Expandir | |||||
---|---|---|---|---|---|
| |||||
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 sourceAcesse 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>
Na seção InfluxDB Details, defina:
Após isto, clique em Save & Test. Importando o DashboardApó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. Consulte a documentação do dashboard a ser importado: 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.