Utilizando HTTP Agent e pré-processamento de JSON para monitorar COVID19

bernardolankheet
Zabbix Brasil
Published in
3 min readMar 26, 2020

Estou disponibilizando o projeto que fiz a algumas semanas para acompanhamento do COVID19 a nível mundial utilizando somente o Zabbix e o Grafana.

Utilizei um recurso ate que novo, disponível depois da versão 4.2, onde pode utilizar uma parte do json e guardar seu resultado em uma macro definida.

Esse template, utiliza muito checagem com Agente HTTP e dependência de itens, consumindo a API do https://corona.lmao.ninja/, utilizei de duas formas, a fim de aprendizado para quem possa vim baixar o template.

A primeira foi o item HTTP Consult Total, nessa api, mostra a informação de todos os casos de modo geral. Ele é um HTTP agente, onde conecta na URL e baixa todo o conteúdo do json, através dele criei itens dependentes, onde utilizo pré-processamento para consultar cada path do json

Já a segunda consulta, irá buscar os dados na API por pais, utilizando a url https://corona.lmao.ninja/countries/brazil, em que cada pais é definido no final da url. Esta consulta fiz via LLD. Através da Macro LLD, consultado o path “country” dentro do json e esta macro é utilizada para fazer a consulta em cada API separada com a macro {#COUNTRY}.

E após isso, repetimos o os pré-processamentos com cada path do json.

Um recurso interessante que pode ser utilizado para N finalidades.

Abaixo deixo informações de como usar o template.

Homologado:

Zabbix 4.2.8, 4.4.4 e 4.4.7

Grafana 6.6.2 6.7.1

Plugins necessarios:

1) grafana-worldmap-panel — https://grafana.com/grafana/plugins/grafana-worldmap-panel

2) alexanderzobnin-zabbix-app — https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app

Importe o Template_Module_HTTP_LLD_W_Corona para o Zabbix

Crie um host com nome “CORONA-COVID19”, pode usar interface local (127.0.0.1: 10050) e o Hostgroup use o nome “CORONAVIRUS” e vincule o template ao host.

Aguarde coleta de dados, ou utilize a função “Check now” no item e no LLD para agilizar a coleta.

Importe a Dashboard no Grafana, utilize a ID 11987 para o download do json automático direto do site do Grafana. Após isso, seleciona seu Data Source e finaliza a importação.

Obs: Caso em paises não apareça a lista, verifique se as aplicações e itens foram gerados no Zabbix, force a checagem da descoberta (LLD) e dos items gerados pelo LLD, utilizando o recurso de Check now.

Macros:

{$HISTORYSP}: History storage period

{$INTERVALHTTP}: Update interval

{$INTERVALLLDHTTP}: Update interval HTTP Item LLD

{$LOSTPERIOD}:

{$TRENDSP}: Trend storage period

{$UPINTERVALLLD}: Update interval Item LLD

Links para download:

Zabbix Share: https://share.zabbix.com/zabbix-tools-and-utilities/template-module-http-lld-w-covid19

Grafana Dashboard: https://grafana.com/grafana/dashboards/11987

Até breve.

--

--