4. Agenda
1. Introdução a API do Zabbix
1. O que é API?
2. Visão geral da API do Zabbix
3. O que é JSON?
4. Estrutura
5. Fluxo de mensagem
6. Qual chamada utilizar?
7. Bibliotecas
2. Consumindo a API na prática com POSTMAN
1. O que é POSTMAN?
2. Executando as primeiras requisições
3. Lista de hosts habilitados/desabilitados
4. Como trabalhar com os parâmetros de cada método?
5. O que significa cada objeto de retorno?
3. Casos de uso na JLCP.
4. Encerramento/Perguntas
6. Visão Geral da API do Zabbix
● API baseada no Frontend do Zabbix
● Utiliza o protocolo JSON RPC 2.0.
● Utiliza a mesma regra de permissão do Zabbix.
7. O que é JSON?
● JSON (JavaScript Object Notation)
● JSON é um formato leve para troca de informações entre sistemas.
● Possui duas estruturas:
● Uma coleção de chave/valor
● Uma lista ordenada, conhecida como array em algumas
linguagens de programação.
● https://jsonlint.com/
● https://www.jsonrpc.org/specification
● http://json.org/
8. Estrutura da API
● A API é estruturada em Classes.
● Host, Hostgroup, Item, Trigger e etc.
● Possui atualmente mais de 232 métodos.
● Os principais métodos são:
● Get – Lista informações
● Create – Cria objeto
● Update – Atualiza objeto
● Delete – Deleta objeto
● Classes de dados históricos possuem somente o método Get.
● Exemplo: Event, History e Problem
9. Fluxo de mensagem da API
Cliente
API
Zabbix
API
Token
user.login (Autenticação)
hostgroup.get (Lista de grupo de hosts)
Result
host.get (Lista de hosts)
Result
user.logout (Logoff)
10. Qual chamada utilizar?
● Monitoramento.
● Configuração.
● Administração.
● Informações da API.
● https://www.zabbix.com/documentation/4.0/manual/api/reference
13. O que é POSTMAN?
● Aplicação que permite enviar e receber dados via requisições HTTP.
● Além de outras funcionalidades.
● https://www.getpostman.com/
17. Aqui começam as dúvidas...
● O que significa esses objetos que retornaram (status e etc.)?
● E se eu não quiser todos esses objetos no resultado?
● Posso filtrar pelo status do host?
● Posso filtrar pelo grupo de host?
● Posso procurar todos os hosts com o nome parecido?
18. Casos de uso na JLCP
● Dashboards
● Automaçãoes
● Novas funcionalidades para o Zabbix
● Relatórios em PDF
● Entre outros.
19. Benefícios da API para JLCP
● Redução de custo operacional.
● Agilidade na entrega de projetos.
● Fidelização de clientes