O documento apresenta uma introdução à API do Zabbix, descrevendo sua estrutura e métodos, além de exemplos de integração com outros sistemas e projetos que utilizam a API.
Monitoramento de Banco de dados SQL Server com ZabbixGustavo Henrique
O documento discute monitoramento de bancos de dados SQL Server com Zabbix, incluindo (1) determinar metas de monitoramento, (2) descoberta automática de instâncias SQL Server, (3) criação de templates, (4) monitoramento de fragmentação de índices, (5) agente Zabbix customizado, (6) análise de estatísticas, (7) alertas e (8) dashboards dinâmicos.
Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do InteriorZabbix BR
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.
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...Patricia Ladislau Silva
Apresentação da palestra sobre monitoramento de Bancos de Dados Microsoft SQL Server com o Zabbix no evento Zabbix SQL Technology Day #6, em Cuiabá, MT, no dia 15 de junho de 2019.
Nele apresentei alguns conceitos e uma visão geral sobre algumas das várias formas possíveis de monitoramento de ambientes com servidores MS SQL Server e como o Zabbix pode ser utilizado.
Zabbix - Gerenciando relatórios personalizados com Jasper ReportsZabbix BR
Este documento descreve como criar relatórios personalizados para o Zabbix usando o Jaspersoft Studio e o JasperReports Server, acessando os dados da API do Zabbix. É explicado como configurar um projeto e data source no Jaspersoft Studio, criar um relatório listando hosts do Zabbix, usar scriptlets para autenticação, publicar o relatório no JasperReports Server e adicionar sub-relatórios para listar itens de cada host.
O documento discute expressões regulares no Zabbix, incluindo como usá-las para monitorar logs. Ele explica o que são expressões regulares e como funcionam, dá exemplos de seu uso no Zabbix para monitoramento de logs e arquivos, e discute desafios como interpretar tabelas e testar expressões regulares corretamente.
Igor Nicoli: External scripts O poder do Zabbix em suas mãosZabbix BR
O documento discute o uso de scripts externos no Zabbix para expandir suas funcionalidades de monitoramento e notificação. Os scripts podem ser usados para criar itens de coleta de dados, regras de descoberta e integrar o Zabbix com serviços de notificação como Telegram. Um exemplo mostra como um script pode coletar endereços BFD de equipamentos de rede via SNMP.
This document summarizes a presentation on optimizing Zabbix performance through tuning. It discusses identifying and fixing common problems like default templates and database settings. Next, it covers tuning Zabbix configuration by adjusting the number of server processes and monitoring internal stats. Additional optimizations include using proxies to distribute load, partitioning historical tables, and running Zabbix components on separate hardware. The summary emphasizes monitoring internal stats, tuning configurations and databases, disabling housekeeping, and reviewing additional reading on tuning MySQL, PostgreSQL and Zabbix internals.
Monitoramento de Banco de dados SQL Server com ZabbixGustavo Henrique
O documento discute monitoramento de bancos de dados SQL Server com Zabbix, incluindo (1) determinar metas de monitoramento, (2) descoberta automática de instâncias SQL Server, (3) criação de templates, (4) monitoramento de fragmentação de índices, (5) agente Zabbix customizado, (6) análise de estatísticas, (7) alertas e (8) dashboards dinâmicos.
Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do InteriorZabbix BR
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.
Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Da...Patricia Ladislau Silva
Apresentação da palestra sobre monitoramento de Bancos de Dados Microsoft SQL Server com o Zabbix no evento Zabbix SQL Technology Day #6, em Cuiabá, MT, no dia 15 de junho de 2019.
Nele apresentei alguns conceitos e uma visão geral sobre algumas das várias formas possíveis de monitoramento de ambientes com servidores MS SQL Server e como o Zabbix pode ser utilizado.
Zabbix - Gerenciando relatórios personalizados com Jasper ReportsZabbix BR
Este documento descreve como criar relatórios personalizados para o Zabbix usando o Jaspersoft Studio e o JasperReports Server, acessando os dados da API do Zabbix. É explicado como configurar um projeto e data source no Jaspersoft Studio, criar um relatório listando hosts do Zabbix, usar scriptlets para autenticação, publicar o relatório no JasperReports Server e adicionar sub-relatórios para listar itens de cada host.
O documento discute expressões regulares no Zabbix, incluindo como usá-las para monitorar logs. Ele explica o que são expressões regulares e como funcionam, dá exemplos de seu uso no Zabbix para monitoramento de logs e arquivos, e discute desafios como interpretar tabelas e testar expressões regulares corretamente.
Igor Nicoli: External scripts O poder do Zabbix em suas mãosZabbix BR
O documento discute o uso de scripts externos no Zabbix para expandir suas funcionalidades de monitoramento e notificação. Os scripts podem ser usados para criar itens de coleta de dados, regras de descoberta e integrar o Zabbix com serviços de notificação como Telegram. Um exemplo mostra como um script pode coletar endereços BFD de equipamentos de rede via SNMP.
This document summarizes a presentation on optimizing Zabbix performance through tuning. It discusses identifying and fixing common problems like default templates and database settings. Next, it covers tuning Zabbix configuration by adjusting the number of server processes and monitoring internal stats. Additional optimizations include using proxies to distribute load, partitioning historical tables, and running Zabbix components on separate hardware. The summary emphasizes monitoring internal stats, tuning configurations and databases, disabling housekeeping, and reviewing additional reading on tuning MySQL, PostgreSQL and Zabbix internals.
Monitoramento de Aplicações Web Modernas com ZabbixAndré Déo
Demonstrar que com os recursos nativos da ferramenta, atrelados à desenvolvedores integrados com a equipe de operações (DevOps) é possível monitorar aplicações web modernas, que utilizam recursos como APIs, REST e JSON.
O Zabbix é um software gratuito e de código aberto para monitoramento de rede e aplicações. Ele possui servidor, interface web, agentes e proxies para coletar dados de hosts monitorados. O Zabbix permite configurar itens, triggers, mapas e notificações para gerenciar eventos e analisar históricos de desempenho. Suporta diversas plataformas e aplicações.
This document discusses reporting for large Zabbix environments. It describes:
1. Using the Zabbix database and APIs to extract data, and using Jasper Suite for reporting.
2. Building a data warehouse to consolidate and enrich Zabbix data.
3. Examples of reports like a Zabbix configuration checker, summary reports, and yearly trends reports built with Jasper Suite.
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorZabbix BR
O documento discute estratégias para deploy e performance do MySQL, incluindo: (1) instalação do MySQL e Zabbix, (2) particionamento de tabelas do banco de dados, e (3) técnicas de monitoramento e backup para melhorar o desempenho.
UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SPZabbix BR
O documento apresenta duas ferramentas do Zabbix: UserParameter e Zabbix Sender. UserParameter permite monitorar métricas customizadas através de scripts, enquanto Zabbix Sender envia dados para itens configurados no servidor Zabbix. Ambas as ferramentas requerem configuração de itens e chaves correspondentes no servidor Zabbix.
Google Cloud Platform monitoring with ZabbixMax Kuzkin
This presentation describes how to configure Zabbix (https://zabbix.com/) to configure Google Cloud Platform events through its Monitoring API, using gcpmetrics (https://github.com/odin-public/gcpmetrics/) command line tool.
MongoDB .local Toronto 2019: Tips and Tricks for Effective IndexingMongoDB
Query performance can either be a constant headache or the unsung hero of an application. MongoDB provides extremely powerful querying capabilities when used properly. I will share more common mistakes observed and some tips and tricks to avoiding them.
This document discusses WebAssembly and its potential as a game changer for web development. It begins by providing background on how JavaScript evolved and its performance limitations. WebAssembly is presented as a solution to address JavaScript's performance issues by allowing code written in languages like C/C++ to run in the browser at near-native speed. The document explains that WebAssembly is a binary format and build target that works with JavaScript. It discusses how browsers execute WebAssembly, the interaction between WebAssembly and JavaScript, usage scenarios, security considerations, current support and future possibilities like garbage collection and threads. Examples of WebAssembly in use are also provided.
Os Desafios do Zabbix com Alta Disponibilidade - 3º Zabbix Meetup do InteriorZabbix BR
O documento discute os desafios de implementar alta disponibilidade no Zabbix. O palestrante apresenta como o Zabbix pode ser configurado para alta disponibilidade usando soluções como Galera Cluster para o banco de dados e pacemaker/corosync para o frontend e servidores Zabbix. Ele também destaca os principais riscos e desafios como garantir desempenho e automatizar tarefas de configuração.
This document discusses MongoDB performance tuning. It emphasizes that performance tuning is an obsession that requires planning schema design, statement tuning, and instance tuning in that order. It provides examples of using the MongoDB profiler and explain functions to analyze statements and identify tuning opportunities like non-covered indexes, unnecessary document scans, and low data locality. Instance tuning focuses on optimizing writes through fast update operations and secondary index usage, and optimizing reads by ensuring statements are tuned and data is sharded appropriately. Overall performance depends on properly tuning both reads and writes.
Monitoramento de Vulnerabilidades com Zabbix, RHEL e Yum Security PluginAlessandro Silva
Vulnerabilidade é uma falha no desenvolvimento de software que pode ser explorada por um potencial atacante para ganhar acesso à sua rede ou sistema. O uso de serviços mal configurados, senhas fracas e a presença de pacotes que contenham bugs ou falhas de segurança são brechas que podem ser exploradas a qualquer momento. O Zabbix Security Insights é uma solução que implementa o monitoramento de vulnerabilidades usando o Zabbix, o recurso nativo conhecido como UserParameter e o plugin de segurança do Yum, disponível no Red Hat Enterprise Linux/CentOS/Fedora e distribuições derivadas, para coletar informações sobre as vulnerabilidades e posteriormente gerar um dashboard com visões de segurança, para o melhor gerenciamento e conformidade. Através de uma apresentação e posteriormente uma demo, Administradores de Sistemas e Gestores de TI serão capazes de entender como usar a solução Zabbix Security Insights para monitorar proativamente as vulnerabilidades e minimizar o risco de possíveis invasões por falhas de segurança já conhecidas.
This document provides tuning recommendations to optimize the performance of an Oracle EPM system. It begins with an introduction to EPM system performance concepts. The document then lists the top tuning recommendations, which include tuning the operating system, WebLogic server, Java VMs, HTTP server, database, and RAF services. Specific parameters and their suggested values are provided for Linux, Windows, and AIX operating systems. The document emphasizes the importance of testing any changes to verify performance improvements.
Primeiros Passos na API do Zabbix com Python - 2º ZABBIX MEETUP DO INTERIOR-SPZabbix BR
This Python script connects to a Zabbix API and retrieves configuration information from the monitoring server. It gets host groups, hosts, host interfaces, items being monitored on each host, and triggers associated with each item. For each object type, it prints out relevant attribute values like group name, host name, IP address, item name and key, and trigger name and severity. This allows getting an overview of the configuration and monitoring setup in a Zabbix server via its API.
ProxySQL is a popular database proxy for MySQL/MariaDB servers. This focuses on the possible High availability options for ProxySQL and operations of inbuilt clustering feature in ProxySQL. This tech talk was presented at Mydbops Database Meetup on 27-04-2019 by Aakash M, Database Administrator with Mydbops and Vignesh Prabhu, Database Administrator with Mydbops.
O documento discute a integração entre as plataformas de gerenciamento de ativos KACE e Zabbix para melhor gerenciar ativos, monitorar e resolver problemas de forma mais eficiente. Ele apresenta os desafios de monitorar e gerenciar ativos, os benefícios de integrar Zabbix e KACE, como a integração funciona e exemplos de cenários de integração.
O documento discute os benefícios da automação, incluindo aumento da produtividade ao liberar tempo para atividades criativas, manutenção do controle e padronização de processos, e flexibilidade para adaptar rotinas e tomadas de decisão. Ele fornece exemplos de scripts em Perl para automatizar tarefas comuns na ferramenta Zabbix, como encontrar hosts monitorados por um proxy específico e mover hosts entre proxies.
Monitoramento de Aplicações Web Modernas com ZabbixAndré Déo
Demonstrar que com os recursos nativos da ferramenta, atrelados à desenvolvedores integrados com a equipe de operações (DevOps) é possível monitorar aplicações web modernas, que utilizam recursos como APIs, REST e JSON.
O Zabbix é um software gratuito e de código aberto para monitoramento de rede e aplicações. Ele possui servidor, interface web, agentes e proxies para coletar dados de hosts monitorados. O Zabbix permite configurar itens, triggers, mapas e notificações para gerenciar eventos e analisar históricos de desempenho. Suporta diversas plataformas e aplicações.
This document discusses reporting for large Zabbix environments. It describes:
1. Using the Zabbix database and APIs to extract data, and using Jasper Suite for reporting.
2. Building a data warehouse to consolidate and enrich Zabbix data.
3. Examples of reports like a Zabbix configuration checker, summary reports, and yearly trends reports built with Jasper Suite.
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorZabbix BR
O documento discute estratégias para deploy e performance do MySQL, incluindo: (1) instalação do MySQL e Zabbix, (2) particionamento de tabelas do banco de dados, e (3) técnicas de monitoramento e backup para melhorar o desempenho.
UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SPZabbix BR
O documento apresenta duas ferramentas do Zabbix: UserParameter e Zabbix Sender. UserParameter permite monitorar métricas customizadas através de scripts, enquanto Zabbix Sender envia dados para itens configurados no servidor Zabbix. Ambas as ferramentas requerem configuração de itens e chaves correspondentes no servidor Zabbix.
Google Cloud Platform monitoring with ZabbixMax Kuzkin
This presentation describes how to configure Zabbix (https://zabbix.com/) to configure Google Cloud Platform events through its Monitoring API, using gcpmetrics (https://github.com/odin-public/gcpmetrics/) command line tool.
MongoDB .local Toronto 2019: Tips and Tricks for Effective IndexingMongoDB
Query performance can either be a constant headache or the unsung hero of an application. MongoDB provides extremely powerful querying capabilities when used properly. I will share more common mistakes observed and some tips and tricks to avoiding them.
This document discusses WebAssembly and its potential as a game changer for web development. It begins by providing background on how JavaScript evolved and its performance limitations. WebAssembly is presented as a solution to address JavaScript's performance issues by allowing code written in languages like C/C++ to run in the browser at near-native speed. The document explains that WebAssembly is a binary format and build target that works with JavaScript. It discusses how browsers execute WebAssembly, the interaction between WebAssembly and JavaScript, usage scenarios, security considerations, current support and future possibilities like garbage collection and threads. Examples of WebAssembly in use are also provided.
Os Desafios do Zabbix com Alta Disponibilidade - 3º Zabbix Meetup do InteriorZabbix BR
O documento discute os desafios de implementar alta disponibilidade no Zabbix. O palestrante apresenta como o Zabbix pode ser configurado para alta disponibilidade usando soluções como Galera Cluster para o banco de dados e pacemaker/corosync para o frontend e servidores Zabbix. Ele também destaca os principais riscos e desafios como garantir desempenho e automatizar tarefas de configuração.
This document discusses MongoDB performance tuning. It emphasizes that performance tuning is an obsession that requires planning schema design, statement tuning, and instance tuning in that order. It provides examples of using the MongoDB profiler and explain functions to analyze statements and identify tuning opportunities like non-covered indexes, unnecessary document scans, and low data locality. Instance tuning focuses on optimizing writes through fast update operations and secondary index usage, and optimizing reads by ensuring statements are tuned and data is sharded appropriately. Overall performance depends on properly tuning both reads and writes.
Monitoramento de Vulnerabilidades com Zabbix, RHEL e Yum Security PluginAlessandro Silva
Vulnerabilidade é uma falha no desenvolvimento de software que pode ser explorada por um potencial atacante para ganhar acesso à sua rede ou sistema. O uso de serviços mal configurados, senhas fracas e a presença de pacotes que contenham bugs ou falhas de segurança são brechas que podem ser exploradas a qualquer momento. O Zabbix Security Insights é uma solução que implementa o monitoramento de vulnerabilidades usando o Zabbix, o recurso nativo conhecido como UserParameter e o plugin de segurança do Yum, disponível no Red Hat Enterprise Linux/CentOS/Fedora e distribuições derivadas, para coletar informações sobre as vulnerabilidades e posteriormente gerar um dashboard com visões de segurança, para o melhor gerenciamento e conformidade. Através de uma apresentação e posteriormente uma demo, Administradores de Sistemas e Gestores de TI serão capazes de entender como usar a solução Zabbix Security Insights para monitorar proativamente as vulnerabilidades e minimizar o risco de possíveis invasões por falhas de segurança já conhecidas.
This document provides tuning recommendations to optimize the performance of an Oracle EPM system. It begins with an introduction to EPM system performance concepts. The document then lists the top tuning recommendations, which include tuning the operating system, WebLogic server, Java VMs, HTTP server, database, and RAF services. Specific parameters and their suggested values are provided for Linux, Windows, and AIX operating systems. The document emphasizes the importance of testing any changes to verify performance improvements.
Primeiros Passos na API do Zabbix com Python - 2º ZABBIX MEETUP DO INTERIOR-SPZabbix BR
This Python script connects to a Zabbix API and retrieves configuration information from the monitoring server. It gets host groups, hosts, host interfaces, items being monitored on each host, and triggers associated with each item. For each object type, it prints out relevant attribute values like group name, host name, IP address, item name and key, and trigger name and severity. This allows getting an overview of the configuration and monitoring setup in a Zabbix server via its API.
ProxySQL is a popular database proxy for MySQL/MariaDB servers. This focuses on the possible High availability options for ProxySQL and operations of inbuilt clustering feature in ProxySQL. This tech talk was presented at Mydbops Database Meetup on 27-04-2019 by Aakash M, Database Administrator with Mydbops and Vignesh Prabhu, Database Administrator with Mydbops.
O documento discute a integração entre as plataformas de gerenciamento de ativos KACE e Zabbix para melhor gerenciar ativos, monitorar e resolver problemas de forma mais eficiente. Ele apresenta os desafios de monitorar e gerenciar ativos, os benefícios de integrar Zabbix e KACE, como a integração funciona e exemplos de cenários de integração.
O documento discute os benefícios da automação, incluindo aumento da produtividade ao liberar tempo para atividades criativas, manutenção do controle e padronização de processos, e flexibilidade para adaptar rotinas e tomadas de decisão. Ele fornece exemplos de scripts em Perl para automatizar tarefas comuns na ferramenta Zabbix, como encontrar hosts monitorados por um proxy específico e mover hosts entre proxies.
Primeiros Passos com a API do Zabbix - 3 Meetup do InteriorRobert Silva
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.
O documento discute diversos tópicos sobre Python, incluindo: 1) Integração do Django com Adobe Flex para desenvolvimento de aplicações web; 2) Uso do PyGame para desenvolvimento de jogos; 3) Integração do Django com o PagSeguro para pagamentos online.
A plataforma Canvas funciona dentro do Redu como uma rede social de aplicativos, permitindo que desenvolvedores criem aplicativos semelhantes aos do Facebook. Os aplicativos rodam dentro de um iframe e se comunicam com o Redu através de uma API RESTful. A autenticação é feita via OAuth 2.0 e armazenada no LocalStorage do navegador, sendo inicialmente compatível apenas com Firefox e Chrome.
Este documento apresenta uma introdução ao Elasticsearch, cobrindo sua visão, histórico, conceitos-chave, instalação, buscas, clientes, arquitetura e considerações sobre desempenho. É dado ênfase aos processos de indexação, busca, clientes Java e arquitetura distribuída do Elasticsearch.
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )João Moura
O documento discute as tecnologias WebSocket e SocketStream, comparando os frameworks Ruby on Rails (usando Juggernaut) e SocketStream. WebSocket permite comunicação bidirecional através de protocolo TCP, enquanto SocketStream é uma biblioteca para aplicações em tempo real baseadas em Node.js e Redis. Ambas as tecnologias possibilitam aplicações mais dinâmicas com melhor desempenho.
Este documento descreve Rodrigo Martins, um desenvolvedor que trabalha com várias linguagens de programação, incluindo PHP, Java, Clipper e Zim anteriormente e Ruby e Python atualmente. Também fornece uma visão geral do framework Rhodes, que permite aos desenvolvedores criar aplicativos nativos para dispositivos móveis usando Ruby e tecnologias web.
PyData - Consumindo e publicando web APIs com PythonBruno Rocha
Apresentado no auditório da NuBank em São Paulo dia 28 de Março de 2017 - PyData Meetup.
- O que são Web APIs
- Consumindo web APIs com Python
- O que fazer com os dados?
- Publicando web APIs com Python.
http://github.com/rochacbruno/flasgger
O documento discute o uso da tecnologia Node.js para construir uma API de pagamentos. Ele explica porque Node.js é adequado para este tipo de aplicação devido à sua natureza assíncrona e orientada a eventos, permitindo lidar com muitas requisições simultâneas de forma escalável. O documento também discute problemas comuns de Node.js e como evitá-los, além de abordar tópicos como infraestrutura, testes e monitoramento.
Tornando as coisas mais simples com Azure Functions e Node.JSMatheus Donizete
Palestra realizada no TDC (The Developers Conference) 2018, edição de Porto Alegre. Se trata de uma apresentação sobre Serverless e o funcionamento das Azure Functions, ecossistemas e funcionalidades, com exemplos de código e um pouco mais.
Treze ferramentas/frameworks para desenvolvimento androidRicardo Longa
O documento lista 13 ferramentas/frameworks para desenvolvimento Android, descrevendo brevemente cada um. As ferramentas incluem bibliotecas para requisições HTTP assíncronas, cache e carregamento de imagens, comunicação com banco de dados SQLite, animações de progresso, atualização de interface com usuário e mais. Muitas são open source e facilitam tarefas comuns no desenvolvimento mobile.
Apresentação realizada na reunião de 26 de junho de 2019 do Atlassian User Group de São Paulo. Demonstração de como a interface REST dos produtos da plataforma Atlassian podem ser considerados como alternativas aos APPS e a tarefas manuais pela interface Web. Ao final há um exemplo onde a opção de utilizar a interface REST economizou tempo e dinheiro e entregou o trabalho feito
De A a Zabbix - I Congresso de Ciências Exatas e TecnológicasAndré Déo
Este documento apresenta André Déo, fundador da Comunidade Zabbix Brasil e co-autor do livro "De A a Zabbix". Ele descreve sua experiência com Zabbix, incluindo suas funcionalidades principais como monitoramento de rede, serviços e aplicações, gerenciamento de usuários, visualização de dados e extensibilidade através de scripts personalizados.
Apresentação realizada no dia 8/11/2014 no evento TchêLinux Bento Gonçalves edição 2014 - http://bento.tchelinux.org
Falei sobre os conceitos de bases de dados NoSQL, cases, comparações com o modelo relacional, expressões SQL x MongoDB (orientado à documentos), instalação, recursos do MongoDB, operações via console, modelagem (abordagem embedded), driver PHP, anatomia do código PHP, CRUD (Create, Read, Update and Delete), ObjectId, operadores, segurança, persistência de objetos, tratamento de arrays (documentos aninhados), índices (performance), projeção, agregação, hospedagem, ferramentas de administração e programa de certificação.
Semelhante a Primeiros passos com a API do Zabbix (20)
1. Primeiros passos com a API do Zabbix
Compreendendo o próximo nível
conectsys.com.br
2. Quem sou eu?
Janssen dos Reis Lima
• Bacharel em Sistemas de Informação pela FeMASS/UFF
• Especialista em Administração em Redes Linux pela
UFLA
• Engenheiro de Sistemas (SRE/DevOps) na Conectsys
• 20 anos de experiência na área de TI
• Autor dos livros “Monitoramento de Redes com
Zabbix” e “Consumindo a API do Zabbix com Python”
• Membro ativo da comunidade
• Áreas de interesse: Automação, monitoramento, HPC,
API’s, Python
3. Agenda
• Apresentação da API do Zabbix
• Estrutura da API do Zabbix
• Classes e métodos da API do Zabbix
• O que é possível fazer?
• Integração entre sistemas
• Alguns projetos que utilizam a API do Zabbix
4. Visão geral da API
A API do Zabbix permite recuperar e modificar
configurações via programação, além de
fornecer acesso a dados históricos.
5. Visão geral da API
É amplamente utilizada para:
• Criar novas aplicações para trabalhar com
Zabbix;
• Fazer integração com software de terceiros;
• Automatizar tarefas rotineiras.
10. Agora você já tem embasamento
para responder a essa pergunta:
A API do Zabbix faz dashboards?
11. Agora você já tem embasamento
para responder a essa pergunta:
A API do Zabbix faz dashboards?
NÃO
Utilizar a API do Zabbix não faz de você um
desenvolvedor web apto a desenvolver dashboards.
Mas sim, entregar os dados coletados via API para um
dashboard.
16. A API do Zabbix é uma API baseada na web e é
fornecida como parte da própria interface web
do Zabbix. Ela utiliza o protocolo JSON-RPC 2.0:
– Consiste de um conjunto de métodos;
– Requisições e respostas entre os clientes e a API
são codificados usando o formato JSON.
19. Antes da API
Antes da implementação da API do Zabbix, não
existia nenhuma ferramenta para controlar o
Zabbix fora da interface Web, exceto executar
consultas diretamente na base de dados, o que
não é muito seguro.
21. Requisições
• Enviar requisição HTTP POST para o arquivo
api_jsonrpc.php
Exemplo para chamar o método apiinfo.version:
POST http://localhost/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc
{"jsonrpc":"2.0","method":"apiinfo.version","id":1,"auth"
:null,"params":{}}
22. Como fazer uma requisição?
• Interface web deve estar disponível
• Ter um cliente HTTP ou uma ferramenta JSON-
RPC
• Ter uma biblioteca com a API implementada
23. Usando o comando curl
# curl -s -X POST -H 'Content-Type: application/json' -d
'{"params": {"password": "zabbix", "user": "Admin"},
"jsonrpc": "2.0", "method": "user.login", "auth": null, "id": 1}'
http://localhost/zabbix/api_jsonrpc.php
Explicando:
• params: parâmetros que serão passados para o método da
API
• jsonrpc: versão do protocolo utilizado pela API
• mehtod: o método da API que será chamado
• id: identificador arbitrário do pedido
• auth: um token de autenticação para o usuário
26. Ferramenta pra testar requisições
• Zapix - https://bitbucket.org/Vedmak/zapix
• Simples de usar
• Ideal para praticar o
formato de requisições
JSON com os métodos
da API do Zabbix
27. Por que eu preciso de uma biblioteca?
• As bibliotecas já implementam os métodos da API do
Zabbix e facilita o seu uso
• Qual a melhor biblioteca?
– Depende do seu conhecimento em programação
– Eu recomento a zabbix-api e pyzabbix (ambas escritas em
Python)
– https://github.com/gescheit/scripts/tree/master/zabbix
– https://github.com/lukecyca/pyzabbix
– https://www.zabbix.org/wiki/Docs/api/libraries (listagem
de todas as bibliotecas disponíveis)
28. Formatar a saída das requisições
• Ao invés de você consumir isso
[{u'host': u'Cable Modem', u'hostid': u'10106'}, {u'host':
u'TesteJanssen', u'hostid': u'10109'}, {u'host': u'Zabbix server',
u'hostid': u'10084'}, {u'host': u'Cliente', u'hostid': u'10107'},
{u'host': u'Nmap', u'hostid': u'10110'}]
• Você consumirá isto
10106 - Cable Modem
10109 – TesteJanssen
10084 – Zabbix server
10107 – Cliente
10110 - Nmap
29. Primeiros passos com Python
• Definir o cabeçalho do arquivo .py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from zabbix_api import ZabbixAPI
zapi = ZabbixAPI(server="http://<ip-ou-hostname>/zabbix")
zapi.login("<user>", "<password>")
30. Exemplo
• Consultar a versão da API do Zabbix instalada
print "Versão da API do Zabbix: ", zapi.api_version()
31. Exemplo com estrutura de controle
• Imprimir apenas o ID e nome do host
hosts = zapi.host.get({"output":["hostid","host"]})
for x in hosts:
print x["hostid"], "- ", x["host"]
32. Listar todos os hosts de acordo com o grupo de
host de acordo com o nome do grupo
id_grupo = zapi.hostgroup.get({"search":{"name":"Linux servers"},
"output":["groupid","name"]
})
nomes_grupo = zapi.host.get({"groupids":id_grupo[0]['groupid'],
"output":["host"]
})
print "Relação dos hosts associados ao grupo: ", id_grupo[0]['name']
print
"====================================================="
for x in nomes_grupo:
print x['hostid'], "-", x['host']
33. Listar a versão do agente dos hosts por grupo
grupo_hosts = zapi.item.get({"groupids":"17",
"filter":{"key_":"agent.version"},
"output":["lastvalue","hostid"]
})
print "Relação dos hosts com Zabbix Agent desatualizado."
print "-------------------------------------------------"
for x in grupo_hosts:
if x['lastvalue'] != "3.4":
host = zapi.host.get({"hostids":x['hostid'],
"output":["name"]})
print x['hostid'], "-", host[0]['name'], "-", x['lastvalue']
38. ZABBIX + GLPI
• https://github.com/janssenlima/zabbix-glpi
Trigger PROBLEM
Executa uma ação
Reconhece evento
informando número do ticket
Trigger OK
Abre ticket informando número do evento
Fecha ticket informando número do evento
42. Automação com Ansible
Módulos de monitoramento (Zabbix)
disponíveis no Ansible
• http://docs.ansible.com/ansible/latest/zabbix_host_module.html
• http://docs.ansible.com/ansible/latest/zabbix_group_module.html
• http://docs.ansible.com/ansible/latest/zabbix_hostmacro_module.html
• http://docs.ansible.com/ansible/latest/zabbix_maintenance_module.html
• http://docs.ansible.com/ansible/latest/zabbix_screen_module.html
Fácil utilização, não precisa programar nem saber
como fazer as requisições a API do Zabbix.