Primeiros Passos com a API do Zabbix - 3 Meetup do Interior
RobertSilva17
55 views
19 slides
May 04, 2019
Slide 1 of 19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
About This Presentation
Slides da palestra realizada no 3 Meetup do Interior em Campinas/Brasil em março de 2019.
Size: 2.1 MB
Language: pt
Added: May 04, 2019
Slides: 19 pages
Slide Content
Robert Silva
Especialista em monitoramento
Desenvolvedor Python
JLCP [email protected]
Primeiros passos com a API do Zabbix
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.
O que é API?
●ApplicationProgrammingInterface;
●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.
Para que serve a API do Zabbix?
●Criar, Ler, Atualizare Deletarobjetosdo 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.
Para que serve a API do Zabbix?
●E o que fazer com essas ações?
●Automatizar tarefas;
●Criar dashboards;
●Criar relatórios;
●Etc.
Visão geral da API do Zabbix
•API baseada no Frontenddo 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.
O que éJSON?
•JSON (JavaScriptObjectNotation);
•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 arrayem algumas
linguagens de programação;
•https://jsonlint.com/
•https://www.jsonrpc.org/specification
•http://json.org/
Estruturada 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, Historye Problem.
Fluxode mensagemda 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)
Qual
chamada
utilizar?
Fonte: https://www.zabbix.com/documentation/4.0/manual/api/reference
Quais
parâmetros
devo enviar?
Fonte: https://www.zabbix.com/documentation/4.0/manual/api/reference/host/get
Tiposde parâmetros
TipoDescriçãoExemplo
StringUma stringem python"hostids": "1034"
ArrayUma lista em python"hostids": ["1034", "1035", "1036"]
FlagQualquer valor, seja stringou númeroflag= 1
QueryÉ uma consulta com os objetos do
método utilizado
"extend"
["name", "status"]
ObjectUm dicionário em python, elemento
com chave: valor
{"status": 1}