SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Robert Silva
Especialista em monitoramento
Desenvolvedor Python
JLCP
robert.silva@jlcp.com.br
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?
● 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.
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.
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 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.
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/
O que é JSON?
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10085",
"groups": [
{
"groupid": "2",
"name": "Linux servers",
"internal": "0",
"flags": "0"
},
{
"groupid": "4",
"name": "Zabbix servers",
"internal": "0",
"flags": "0"
}
]
}
],
"id": 2
}
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.
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)
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
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}
O que significa o retorno ?{
"jsonrpc": "2.0",
"result": [
{
"itemid": "23298",
"type": "0",
"snmp_community": "",
"snmp_oid": "",
"hostid": "10084",
"name": "Context switches per second",
"key_": "system.cpu.switches",
"delay": "1m",
"history": "7d",
"trends": "365d",
"lastvalue": "2552",
"lastclock": "1351090998",
"prevvalue": "2641",
"state": "0",
"status": "0",
"value_type": "3",
"trapper_hosts": "",
"units": "sps",
Bibliotecas
Fonte: https://zabbix.org/wiki/Docs/api/libraries
Casos de uso na JLCP
● Dashboards;
● Automaçãoes;
● Novas funcionalidades para o Zabbix;
● Relatórios em PDF;
● Entre outros.
Benefícios da API para JLCP
● Redução de custo operacional;
● Agilidade na entrega de projetos;
● Fidelização de clientes.
Obrigado pela
presença!
Primeiros passos com a API Zabbix
(Gratuito)
https://ead.jlcp.com.br

Weitere ähnliche Inhalte

Was ist angesagt?

Primeiros Passos na API do Zabbix com Python - 2º ZABBIX MEETUP DO INTERIOR-SP
Primeiros Passos na API do Zabbix com Python - 2º ZABBIX MEETUP DO INTERIOR-SPPrimeiros Passos na API do Zabbix com Python - 2º ZABBIX MEETUP DO INTERIOR-SP
Primeiros Passos na API do Zabbix com Python - 2º ZABBIX MEETUP DO INTERIOR-SP
Zabbix BR
 
Zabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructureZabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructure
Arvids Godjuks
 

Was ist angesagt? (20)

Monitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com ZabbixMonitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com Zabbix
 
Monitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHELMonitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHEL
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best Practices
 
Primeiros Passos na API do Zabbix com Python - 2º ZABBIX MEETUP DO INTERIOR-SP
Primeiros Passos na API do Zabbix com Python - 2º ZABBIX MEETUP DO INTERIOR-SPPrimeiros Passos na API do Zabbix com Python - 2º ZABBIX MEETUP DO INTERIOR-SP
Primeiros Passos na API do Zabbix com Python - 2º ZABBIX MEETUP DO INTERIOR-SP
 
Building Awesome CLI apps in Go
Building Awesome CLI apps in GoBuilding Awesome CLI apps in Go
Building Awesome CLI apps in Go
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
 
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
 
Zabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertZabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvert
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
차원축소 훑어보기 (PCA, SVD, NMF)
차원축소 훑어보기 (PCA, SVD, NMF)차원축소 훑어보기 (PCA, SVD, NMF)
차원축소 훑어보기 (PCA, SVD, NMF)
 
Load Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINXLoad Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINX
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
FIWARE Training: NGSI-LD Advanced Operations
FIWARE Training: NGSI-LD Advanced OperationsFIWARE Training: NGSI-LD Advanced Operations
FIWARE Training: NGSI-LD Advanced Operations
 
Zabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructureZabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructure
 
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
 
REST API Development with Spring
REST API Development with SpringREST API Development with Spring
REST API Development with Spring
 
Continuous Testing with Molecule, Ansible, and GitHub Actions
Continuous Testing with Molecule, Ansible, and GitHub ActionsContinuous Testing with Molecule, Ansible, and GitHub Actions
Continuous Testing with Molecule, Ansible, and GitHub Actions
 
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
 
Mongo DB 성능최적화 전략
Mongo DB 성능최적화 전략Mongo DB 성능최적화 전략
Mongo DB 성능최적화 전략
 

Ähnlich wie Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do Interior

Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
Rangel Javier
 

Ähnlich wie Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do Interior (20)

Meetup Zabbix Day FMB - O que é o Zabbix
Meetup Zabbix Day FMB - O que é o ZabbixMeetup Zabbix Day FMB - O que é o Zabbix
Meetup Zabbix Day FMB - O que é o Zabbix
 
Zabbix e KACE, uma boa ideia, e porque não!
Zabbix e KACE, uma boa ideia, e porque não!Zabbix e KACE, uma boa ideia, e porque não!
Zabbix e KACE, uma boa ideia, e porque não!
 
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
 
1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...
1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...
1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...
 
Flisol zabbix 2016_df
Flisol zabbix 2016_dfFlisol zabbix 2016_df
Flisol zabbix 2016_df
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
 
De A a Zabbix - Puc Campinas - Setembro/2017
De A a Zabbix - Puc Campinas - Setembro/2017De A a Zabbix - Puc Campinas - Setembro/2017
De A a Zabbix - Puc Campinas - Setembro/2017
 
Palestra Zabbix no 12 Geinfo (2013)
Palestra Zabbix no 12 Geinfo (2013)Palestra Zabbix no 12 Geinfo (2013)
Palestra Zabbix no 12 Geinfo (2013)
 
Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...
Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...
Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...
 
De A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
De A a Zabbix - I Congresso de Ciências Exatas e TecnológicasDe A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
De A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
 
De A a Zabbix Devry Metrocamp
De A a Zabbix Devry MetrocampDe A a Zabbix Devry Metrocamp
De A a Zabbix Devry Metrocamp
 
JEE nas nuvens: uma introdução ao openshift
JEE nas nuvens:  uma introdução ao openshiftJEE nas nuvens:  uma introdução ao openshift
JEE nas nuvens: uma introdução ao openshift
 
Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.IZabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
 
Gerenciamento de Redes com Zabbix
Gerenciamento de Redes com ZabbixGerenciamento de Redes com Zabbix
Gerenciamento de Redes com Zabbix
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
 
powerPointFinal.pptx
powerPointFinal.pptxpowerPointFinal.pptx
powerPointFinal.pptx
 
Integração do Zabbix com Grafana
Integração do Zabbix com GrafanaIntegração do Zabbix com Grafana
Integração do Zabbix com Grafana
 

Mehr von Zabbix BR

Os Desafios do Zabbix com Alta Disponibilidade - 3º Zabbix Meetup do Interior
Os Desafios do Zabbix com Alta Disponibilidade - 3º Zabbix Meetup do InteriorOs Desafios do Zabbix com Alta Disponibilidade - 3º Zabbix Meetup do Interior
Os Desafios do Zabbix com Alta Disponibilidade - 3º Zabbix Meetup do Interior
Zabbix BR
 
Geração de Relatório Sobre Utilização de Internet com Zabbix - 3º Zabbix Meet...
Geração de Relatório Sobre Utilização de Internet com Zabbix - 3º Zabbix Meet...Geração de Relatório Sobre Utilização de Internet com Zabbix - 3º Zabbix Meet...
Geração de Relatório Sobre Utilização de Internet com Zabbix - 3º Zabbix Meet...
Zabbix BR
 
Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
 Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In... Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
Zabbix BR
 
Ampliando os horizontes com Macros - 3º Zabbix Meetup do Interior
Ampliando os horizontes com Macros - 3º Zabbix Meetup do InteriorAmpliando os horizontes com Macros - 3º Zabbix Meetup do Interior
Ampliando os horizontes com Macros - 3º Zabbix Meetup do Interior
Zabbix BR
 

Mehr von Zabbix BR (20)

Mapas e triggers na identificação de problemas - Felipe Belo (Assembleia Legi...
Mapas e triggers na identificação de problemas - Felipe Belo (Assembleia Legi...Mapas e triggers na identificação de problemas - Felipe Belo (Assembleia Legi...
Mapas e triggers na identificação de problemas - Felipe Belo (Assembleia Legi...
 
Zabbix para IoT - André Déo (Comunidade Zabbix Brasil)
Zabbix para IoT - André Déo (Comunidade Zabbix Brasil)Zabbix para IoT - André Déo (Comunidade Zabbix Brasil)
Zabbix para IoT - André Déo (Comunidade Zabbix Brasil)
 
Zabbix - Onde buscar conhecimento - André Déo (Comunidade Zabbix Brasil)
Zabbix - Onde buscar conhecimento - André Déo (Comunidade Zabbix Brasil)Zabbix - Onde buscar conhecimento - André Déo (Comunidade Zabbix Brasil)
Zabbix - Onde buscar conhecimento - André Déo (Comunidade Zabbix Brasil)
 
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
 
1º Meetup Zabbix Meetup do Recife: Djarde Gonçalves - Integrando o Zabbix com...
1º Meetup Zabbix Meetup do Recife: Djarde Gonçalves - Integrando o Zabbix com...1º Meetup Zabbix Meetup do Recife: Djarde Gonçalves - Integrando o Zabbix com...
1º Meetup Zabbix Meetup do Recife: Djarde Gonçalves - Integrando o Zabbix com...
 
1º Meetup Zabbix Meetup do Recife: Matheus Cabral - Monitoramento de Data Cen...
1º Meetup Zabbix Meetup do Recife: Matheus Cabral - Monitoramento de Data Cen...1º Meetup Zabbix Meetup do Recife: Matheus Cabral - Monitoramento de Data Cen...
1º Meetup Zabbix Meetup do Recife: Matheus Cabral - Monitoramento de Data Cen...
 
1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...
1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...
1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...
 
1º Meetup Zabbix Meetup do Recife: André Marques - Utilizando Telegram para f...
1º Meetup Zabbix Meetup do Recife: André Marques - Utilizando Telegram para f...1º Meetup Zabbix Meetup do Recife: André Marques - Utilizando Telegram para f...
1º Meetup Zabbix Meetup do Recife: André Marques - Utilizando Telegram para f...
 
1º Meetup Zabbix Meetup do Recife: Danilo Barros - Zabbix dicas e truques par...
1º Meetup Zabbix Meetup do Recife: Danilo Barros - Zabbix dicas e truques par...1º Meetup Zabbix Meetup do Recife: Danilo Barros - Zabbix dicas e truques par...
1º Meetup Zabbix Meetup do Recife: Danilo Barros - Zabbix dicas e truques par...
 
1º Meetup Zabbix Meetup do Recife: Hernandes Martins - Gerando relatórios via...
1º Meetup Zabbix Meetup do Recife: Hernandes Martins - Gerando relatórios via...1º Meetup Zabbix Meetup do Recife: Hernandes Martins - Gerando relatórios via...
1º Meetup Zabbix Meetup do Recife: Hernandes Martins - Gerando relatórios via...
 
1º Meetup Zabbix Meetup do Recife: Edilmar Junior - Para cima e avante do bás...
1º Meetup Zabbix Meetup do Recife: Edilmar Junior - Para cima e avante do bás...1º Meetup Zabbix Meetup do Recife: Edilmar Junior - Para cima e avante do bás...
1º Meetup Zabbix Meetup do Recife: Edilmar Junior - Para cima e avante do bás...
 
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
 
1º Meetup Zabbix Meetup do Recife - André Déo: Zabbix - Onde buscar conhecimento
1º Meetup Zabbix Meetup do Recife - André Déo: Zabbix - Onde buscar conhecimento1º Meetup Zabbix Meetup do Recife - André Déo: Zabbix - Onde buscar conhecimento
1º Meetup Zabbix Meetup do Recife - André Déo: Zabbix - Onde buscar conhecimento
 
Abertura 1º Meetup Zabbix Meetup do Recife
Abertura 1º Meetup Zabbix Meetup do RecifeAbertura 1º Meetup Zabbix Meetup do Recife
Abertura 1º Meetup Zabbix Meetup do Recife
 
Zabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do Interior
Zabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do InteriorZabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do Interior
Zabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do Interior
 
Os Desafios do Zabbix com Alta Disponibilidade - 3º Zabbix Meetup do Interior
Os Desafios do Zabbix com Alta Disponibilidade - 3º Zabbix Meetup do InteriorOs Desafios do Zabbix com Alta Disponibilidade - 3º Zabbix Meetup do Interior
Os Desafios do Zabbix com Alta Disponibilidade - 3º Zabbix Meetup do Interior
 
Geração de Relatório Sobre Utilização de Internet com Zabbix - 3º Zabbix Meet...
Geração de Relatório Sobre Utilização de Internet com Zabbix - 3º Zabbix Meet...Geração de Relatório Sobre Utilização de Internet com Zabbix - 3º Zabbix Meet...
Geração de Relatório Sobre Utilização de Internet com Zabbix - 3º Zabbix Meet...
 
Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
 Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In... Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
 
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do InteriorZabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
 
Ampliando os horizontes com Macros - 3º Zabbix Meetup do Interior
Ampliando os horizontes com Macros - 3º Zabbix Meetup do InteriorAmpliando os horizontes com Macros - 3º Zabbix Meetup do Interior
Ampliando os horizontes com Macros - 3º Zabbix Meetup do Interior
 

Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do Interior

  • 1. Robert Silva Especialista em monitoramento Desenvolvedor Python JLCP robert.silva@jlcp.com.br
  • 2. Primeiros passos com a API do Zabbix
  • 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/
  • 9. O que é JSON? { "jsonrpc": "2.0", "result": [ { "hostid": "10085", "groups": [ { "groupid": "2", "name": "Linux servers", "internal": "0", "flags": "0" }, { "groupid": "4", "name": "Zabbix servers", "internal": "0", "flags": "0" } ] } ], "id": 2 }
  • 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}
  • 15. O que significa o retorno ?{ "jsonrpc": "2.0", "result": [ { "itemid": "23298", "type": "0", "snmp_community": "", "snmp_oid": "", "hostid": "10084", "name": "Context switches per second", "key_": "system.cpu.switches", "delay": "1m", "history": "7d", "trends": "365d", "lastvalue": "2552", "lastclock": "1351090998", "prevvalue": "2641", "state": "0", "status": "0", "value_type": "3", "trapper_hosts": "", "units": "sps",
  • 17. Casos de uso na JLCP ● Dashboards; ● Automaçãoes; ● Novas funcionalidades para o Zabbix; ● Relatórios em PDF; ● Entre outros.
  • 18. Benefícios da API para JLCP ● Redução de custo operacional; ● Agilidade na entrega de projetos; ● Fidelização de clientes.
  • 19. Obrigado pela presença! Primeiros passos com a API Zabbix (Gratuito) https://ead.jlcp.com.br