Utilizando HTTP Agent e pré-processamento de JSON para monitorar COVID19
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.
Referências: