Este documento fornece uma introdução à API do Zabbix, explicando o que é uma API, como a API do Zabbix pode ser usada para automatizar tarefas, criar dashboards e relatórios, e descrevendo os principais conceitos como estrutura JSON, métodos, parâmetros e retornos.
3. Agenda
• O que é API?
• Para que server a API do Zabbix?
• Visão geral da API do Zabbix
• O que é JSON?
• Estrutura da API
• Fluxo de mensagem
• Qual chamada utilizar?
• Quais parâmetros devo enviar?
• O que significa o retorno?
• Bibliotecas.
4. O que é API?
● Application Programming Interface;
● Em português: Interface de Programação de Aplicações;
● É uma forma de integrar sistemas, possibilitando benefícios como:
● Segurança de dados;
● Facilidade na troca de informações com diferentes linguagens de
programação.
5. Para que serve a API do Zabbix?
● Criar, Ler, Atualizar e Deletar objetos do Zabbix;
● Exemplos:
● Criar: Hosts, itens, triggers e etc;
● Ler: Hosts, itens, triggers, history, events e etc;
● Atualizar: Hosts, itens, triggers e etc;
● Deletar: Hosts, itens, triggers e etc.
6. Para que serve a API do Zabbix?
● E o que fazer com essas ações?
● Automatizar tarefas;
● Criar dashboards;
● Criar relatórios;
● Etc.
7. Visão geral da API do Zabbix
• API baseada no Frontend do Zabbix;
• http://<IP-DNS-Frontend>/zabbix/api_jsonrpc.php;
• Utiliza o protocolo JSON RPC 2.0;
• Utiliza a mesma regra de permissão do Zabbix.
8. 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/
10. 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.
11. 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)
14. Tipos de parâmetros
Tipo Descrição Exemplo
String Uma string em python "hostids": "1034"
Array Uma lista em python "hostids": ["1034", "1035", "1036"]
Flag Qualquer valor, seja string ou número flag = 1
Query É uma consulta com os objetos do
método utilizado
"extend"
["name", "status"]
Object Um dicionário em python, elemento
com chave: valor
{"status": 1}