SlideShare uma empresa Scribd logo
1 de 15
External scripts
O poder do
em suas mãos
Igor Nicoli dos Santos
2
Especialista em automação, Tecnólogo
em redes, Zabbix Specialist e
Professional, entusiasta OpenSource e
aficionado por tecnologia
External Scripts
Essa é uma das formas existentes de
se estender as funcionalidades do
zabbix.
3
O “External check” é uma verificação executada pelo servidor
Zabbix executando um “shell script“ ou um binário. No
entanto, quando os hosts são monitorados por um Zabbix
proxy, os “External check” são executadas pelo proxy.
“External check” não requer nenhum agente instalado no host
que está sendo monitorado.*
* Parte da documentação do zabbix
4
Pontos de atenção:
❖ Diretorio pré-definido (parâmetro “ExternalScripts”);
❖ Usuário utilizado pelo Zabbix Server/Proxy;
❖ Permissões e variáveis de ambiente limitadas;
❖ Opções de binários e scripts a serem executados são restritos.
A sintaxe do item “External check” funciona assim:
nome_do_script[ <parâmetro1>, <parâmetro2>, ... ]
1. Onde podemos usar?
6
Caso de
Uso
Necessidade:
Monitorar sessões BFD em equipamentos de
rede.
Problema:
Algumas versões de equipamentos, quando uma
sessão fica indisponível a mesma não é mais
visível na MIB.
Sintoma do problema:
Não é possível consultar o status de “down” e o
item fica com o status de não suportado.
Solução:
Utilizar External Script em conjunto com o
Zabbix Sender para executar essa monitoração.
7
ITEM
É possível criar itens de
coleta de dados usando
o tipo de item “External
Check”, assim fazendo
uso de um script
externo.
[zabbix@MANAGER] /opt/zabbix/share/zabbix/alertscripts
$ cat bfd.collector
#!/bin/env perl
...
MAIN:
{
...
# Comando para coleta de dados via SNMP:
my $CMD2Exec = "timeout $SNMP_TOUT $APP_SNMPWALK -v2c -Cc -c
$SNMP_COMMUNITY $TARGET_HOST ".$SNMP_OID{ bfdSessAddr }."
2>/dev/null;[ $? -eq 124 ] && echo cmd_timeout";
...
# Print dos valores formatados no padrao JSON esperado pelo Zabbix:
print "{"data":[";
for( my $Index = 0; scalar( @BFDDecAddr ) > $Index; $Index++ ){
if(( scalar( @BFDDecAddr ) - 1 ) == $Index ){
print "{"{#SESSADDR}":"".$BFDDecAddr[ $Index
].""}";
} else {
print "{"{#SESSADDR}":"".$BFDDecAddr[ $Index
].""},";
}
}
print "]}n";
...
# Envia as métricas coletadas utilizando o zabbix sender:
sub SendEvent {
my $CMD2Exec = "$ZBXSender --zabbix-server $SERVER --with-
timestamps --input-file $CacheFile";
}
Script:
bfd.collector
Em um script você pode
utilizar diversos comandos,
técnicas e abordagem para
resolver problemas ou criar
novas soluções.
8
9
DISCOVERY RULE
Quando você precisa
montar uma regra de
descoberta para algo que
o zabbix não suporta
nativamente, o que você
faz?
Utiliza um script !
[zabbix@MANAGER] /opt/zabbix/share/zabbix/alertscripts
$ ./bfd.collector discovery RO01 127.0.0.1 publicEnemyNumber1
{
"Data":[
{
"{#SESSADDR}":"192.168.1.1"
},
{
"{#SESSADDR}":"172.16.0.1"
},
{
"{#SESSADDR}":"10.0.1.2"
},
{
"{#SESSADDR}":"8.8.8.8"
},
{
"{#SESSADDR}":"8.8.4.4"
},
{
"{#SESSADDR}":"192.168.15.1"
},
{
"{#SESSADDR}":"172.16.72.45"
},
{
"{#SESSADDR}":"127.0.0.1"
},
{
"{#SESSADDR}":"200.185.16.35"
},
{
"{#SESSADDR}":"169.57.173.100"
}
]
}
Um script configurado como
“External check” pode ser
usado para alimentar uma
rotina de descoberta.
10
Script:
bfd.collector
11
MEDIA TYPES
Para as mídias, temos
algo similar ao “External
Script”, porem chamado
aqui de “Alert Script”
mas tem o mesmo
funcionamento.
[zabbix@MANAGER] /opt/zabbix/share/zabbix/alertscripts
$ cat telegram-notification
#!/bin/ksh
ENTER="
";
USERID="$1";
ARQUIVO="botinfo.txt";
if [ -f "$ARQUIVO" ]; then
KEY=$(cat $ARQUIVO);
else
KEY="999999999:AaF68AgpRbgxCklh84FBb0zvQmBtgYYD78Q";
fi
TIMEOUT="5";
TEXT=$(echo -e "*$2* $ENTER$3" | sed 's/^SendNotification //g');
URL="https://api.telegram.org/bot$KEY/sendMessage"
RESPONSE=`curl -s --max-time $TIMEOUT -d
"chat_id=$USERID&disable_web_page_preview=1&parse_mode=markdown
&text=$TEXT" $URL`;
Fonte de referencia do script:
http://spinola.net.br/blog/2017/01/22/integracao-com-telegram-
de-forma-facil-e-rapida
Script:
telegram-notification
Com esse script o Zabbix
adquire a capacidade de
notificar os usuários e
administradores através do
telegram.
12
TELEGRAM:
Notificação
Utilizando métodos de
notificação com este,
você tem os eventos
mais importantes na
palma da sua mão.
Place your screenshot here 13
Dúvidas
&
Perguntas?
14
?
OBRIGADO 15
@igor_nicoli
Igor Nicoli dos Santos
igor.nicoli@gmail.com

Mais conteúdo relacionado

Mais procurados

Apresentacao zabbix
Apresentacao zabbixApresentacao zabbix
Apresentacao zabbixDaniel Peres
 
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...Patricia Ladislau Silva
 
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneAlexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneZabbix
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallAtsushi Tanaka
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDPDaniel T. Lee
 
Integração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosIntegração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosRobert Silva
 
Zabbix para iniciantes
Zabbix para iniciantesZabbix para iniciantes
Zabbix para iniciantesWerneck Costa
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabMichelle Holley
 
Gerando Mapas de Rede Automatico - Zabbix API
Gerando Mapas de Rede Automatico - Zabbix API Gerando Mapas de Rede Automatico - Zabbix API
Gerando Mapas de Rede Automatico - Zabbix API Luiz Sales
 
Monitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIXMonitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIXLuiz Andrade
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたakira6592
 
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようこれからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようNobuyuki Sasaki
 
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia LadislauMonitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia LadislauPatricia Ladislau Silva
 
Webscale PostgreSQL - JSONB and Horizontal Scaling Strategies
Webscale PostgreSQL - JSONB and Horizontal Scaling StrategiesWebscale PostgreSQL - JSONB and Horizontal Scaling Strategies
Webscale PostgreSQL - JSONB and Horizontal Scaling StrategiesJonathan Katz
 
Monitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHELMonitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHELAlessandro Silva
 
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SPUserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SPAndré Déo
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyakira6592
 
Zabbix Performance Tuning
Zabbix Performance TuningZabbix Performance Tuning
Zabbix Performance TuningRicardo Santos
 
Monitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com ZabbixMonitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com ZabbixGustavo Henrique
 
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 Sistema de monitoramento para redes sem fio com Zabbix e openWRT Sistema de monitoramento para redes sem fio com Zabbix e openWRT
Sistema de monitoramento para redes sem fio com Zabbix e openWRTMarcelo Santana Camacho
 

Mais procurados (20)

Apresentacao zabbix
Apresentacao zabbixApresentacao zabbix
Apresentacao zabbix
 
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...
 
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneAlexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDP
 
Integração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosIntegração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes Automatizados
 
Zabbix para iniciantes
Zabbix para iniciantesZabbix para iniciantes
Zabbix para iniciantes
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
 
Gerando Mapas de Rede Automatico - Zabbix API
Gerando Mapas de Rede Automatico - Zabbix API Gerando Mapas de Rede Automatico - Zabbix API
Gerando Mapas de Rede Automatico - Zabbix API
 
Monitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIXMonitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIX
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようこれからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみよう
 
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia LadislauMonitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
 
Webscale PostgreSQL - JSONB and Horizontal Scaling Strategies
Webscale PostgreSQL - JSONB and Horizontal Scaling StrategiesWebscale PostgreSQL - JSONB and Horizontal Scaling Strategies
Webscale PostgreSQL - JSONB and Horizontal Scaling Strategies
 
Monitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHELMonitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHEL
 
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SPUserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
 
Zabbix Performance Tuning
Zabbix Performance TuningZabbix Performance Tuning
Zabbix Performance Tuning
 
Monitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com ZabbixMonitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com Zabbix
 
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 Sistema de monitoramento para redes sem fio com Zabbix e openWRT Sistema de monitoramento para redes sem fio com Zabbix e openWRT
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 

Semelhante a Igor Nicoli: External scripts O poder do Zabbix em suas mãos

Zabbix Conference LatAm 2019 - Automação: Ganhando produtividade
Zabbix Conference LatAm 2019 - Automação: Ganhando produtividadeZabbix Conference LatAm 2019 - Automação: Ganhando produtividade
Zabbix Conference LatAm 2019 - Automação: Ganhando produtividadeIgor Nicoli
 
Primeiros passos com a API do Zabbix
Primeiros passos com a API do ZabbixPrimeiros passos com a API do Zabbix
Primeiros passos com a API do ZabbixJanssen Lima
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlDiego Tremper
 
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )João Moura
 
Criando sua própria linguagem de programação
Criando sua própria linguagem de programaçãoCriando sua própria linguagem de programação
Criando sua própria linguagem de programaçãoronaldoferraz
 
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!Fabio Vieira Mello
 
Bypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilBypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilWilliam Costa
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntDenis L Presciliano
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntDenis L Presciliano
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlManuel Lemos
 
Integracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlIntegracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlDiego Tremper
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlDiego Tremper
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php segurosDouglas V. Pasqua
 
Supervisão e Monitorização
Supervisão e MonitorizaçãoSupervisão e Monitorização
Supervisão e MonitorizaçãoSAPO Sessions
 
TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?Rafael Benevides
 
TDC2016 Boas Práticas SQL em Banco Relacional para Desenvolvedores
TDC2016 Boas Práticas SQL em Banco Relacional para DesenvolvedoresTDC2016 Boas Práticas SQL em Banco Relacional para Desenvolvedores
TDC2016 Boas Práticas SQL em Banco Relacional para DesenvolvedoresFernando Franquini
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2Cezar Souza
 

Semelhante a Igor Nicoli: External scripts O poder do Zabbix em suas mãos (20)

Zabbix Conference LatAm 2019 - Automação: Ganhando produtividade
Zabbix Conference LatAm 2019 - Automação: Ganhando produtividadeZabbix Conference LatAm 2019 - Automação: Ganhando produtividade
Zabbix Conference LatAm 2019 - Automação: Ganhando produtividade
 
Monitoração com Nagios
Monitoração com NagiosMonitoração com Nagios
Monitoração com Nagios
 
Ruby On Rails Regis
Ruby On Rails RegisRuby On Rails Regis
Ruby On Rails Regis
 
Primeiros passos com a API do Zabbix
Primeiros passos com a API do ZabbixPrimeiros passos com a API do Zabbix
Primeiros passos com a API do Zabbix
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControl
 
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
 
Criando sua própria linguagem de programação
Criando sua própria linguagem de programaçãoCriando sua própria linguagem de programação
Criando sua própria linguagem de programaçã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!
Zabbix e KACE, uma boa ideia, e porque não!
 
Bypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilBypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasil
 
Asterisk
AsteriskAsterisk
Asterisk
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache Ant
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache Ant
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 
Integracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlIntegracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControl
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
Supervisão e Monitorização
Supervisão e MonitorizaçãoSupervisão e Monitorização
Supervisão e Monitorização
 
TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?
 
TDC2016 Boas Práticas SQL em Banco Relacional para Desenvolvedores
TDC2016 Boas Práticas SQL em Banco Relacional para DesenvolvedoresTDC2016 Boas Práticas SQL em Banco Relacional para Desenvolvedores
TDC2016 Boas Práticas SQL em Banco Relacional para Desenvolvedores
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
 

Mais de Zabbix BR

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 BR
 
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...Zabbix BR
 
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 BR
 
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)Zabbix BR
 
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 ODBCZabbix BR
 
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...Zabbix BR
 
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...Zabbix BR
 
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...Zabbix BR
 
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...Zabbix BR
 
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...Zabbix BR
 
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...Zabbix BR
 
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...Zabbix BR
 
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 - UserParametersZabbix BR
 
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 conhecimentoZabbix BR
 
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 RecifeZabbix BR
 
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 InteriorZabbix 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 InteriorZabbix 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
 
Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do Interior
Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do InteriorPrimeiros passos com a API do Zabbix - 3º Zabbix Meetup do Interior
Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do InteriorZabbix 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
 

Mais de 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 - 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...
 
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...
 
Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do Interior
Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do InteriorPrimeiros passos com a API do Zabbix - 3º Zabbix Meetup do Interior
Primeiros passos com a API do Zabbix - 3º Zabbix Meetup do Interior
 
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...
 

Igor Nicoli: External scripts O poder do Zabbix em suas mãos

  • 1. External scripts O poder do em suas mãos
  • 2. Igor Nicoli dos Santos 2 Especialista em automação, Tecnólogo em redes, Zabbix Specialist e Professional, entusiasta OpenSource e aficionado por tecnologia
  • 3. External Scripts Essa é uma das formas existentes de se estender as funcionalidades do zabbix. 3 O “External check” é uma verificação executada pelo servidor Zabbix executando um “shell script“ ou um binário. No entanto, quando os hosts são monitorados por um Zabbix proxy, os “External check” são executadas pelo proxy. “External check” não requer nenhum agente instalado no host que está sendo monitorado.* * Parte da documentação do zabbix
  • 4. 4 Pontos de atenção: ❖ Diretorio pré-definido (parâmetro “ExternalScripts”); ❖ Usuário utilizado pelo Zabbix Server/Proxy; ❖ Permissões e variáveis de ambiente limitadas; ❖ Opções de binários e scripts a serem executados são restritos. A sintaxe do item “External check” funciona assim: nome_do_script[ <parâmetro1>, <parâmetro2>, ... ]
  • 6. 6 Caso de Uso Necessidade: Monitorar sessões BFD em equipamentos de rede. Problema: Algumas versões de equipamentos, quando uma sessão fica indisponível a mesma não é mais visível na MIB. Sintoma do problema: Não é possível consultar o status de “down” e o item fica com o status de não suportado. Solução: Utilizar External Script em conjunto com o Zabbix Sender para executar essa monitoração.
  • 7. 7 ITEM É possível criar itens de coleta de dados usando o tipo de item “External Check”, assim fazendo uso de um script externo.
  • 8. [zabbix@MANAGER] /opt/zabbix/share/zabbix/alertscripts $ cat bfd.collector #!/bin/env perl ... MAIN: { ... # Comando para coleta de dados via SNMP: my $CMD2Exec = "timeout $SNMP_TOUT $APP_SNMPWALK -v2c -Cc -c $SNMP_COMMUNITY $TARGET_HOST ".$SNMP_OID{ bfdSessAddr }." 2>/dev/null;[ $? -eq 124 ] && echo cmd_timeout"; ... # Print dos valores formatados no padrao JSON esperado pelo Zabbix: print "{"data":["; for( my $Index = 0; scalar( @BFDDecAddr ) > $Index; $Index++ ){ if(( scalar( @BFDDecAddr ) - 1 ) == $Index ){ print "{"{#SESSADDR}":"".$BFDDecAddr[ $Index ].""}"; } else { print "{"{#SESSADDR}":"".$BFDDecAddr[ $Index ].""},"; } } print "]}n"; ... # Envia as métricas coletadas utilizando o zabbix sender: sub SendEvent { my $CMD2Exec = "$ZBXSender --zabbix-server $SERVER --with- timestamps --input-file $CacheFile"; } Script: bfd.collector Em um script você pode utilizar diversos comandos, técnicas e abordagem para resolver problemas ou criar novas soluções. 8
  • 9. 9 DISCOVERY RULE Quando você precisa montar uma regra de descoberta para algo que o zabbix não suporta nativamente, o que você faz? Utiliza um script !
  • 10. [zabbix@MANAGER] /opt/zabbix/share/zabbix/alertscripts $ ./bfd.collector discovery RO01 127.0.0.1 publicEnemyNumber1 { "Data":[ { "{#SESSADDR}":"192.168.1.1" }, { "{#SESSADDR}":"172.16.0.1" }, { "{#SESSADDR}":"10.0.1.2" }, { "{#SESSADDR}":"8.8.8.8" }, { "{#SESSADDR}":"8.8.4.4" }, { "{#SESSADDR}":"192.168.15.1" }, { "{#SESSADDR}":"172.16.72.45" }, { "{#SESSADDR}":"127.0.0.1" }, { "{#SESSADDR}":"200.185.16.35" }, { "{#SESSADDR}":"169.57.173.100" } ] } Um script configurado como “External check” pode ser usado para alimentar uma rotina de descoberta. 10 Script: bfd.collector
  • 11. 11 MEDIA TYPES Para as mídias, temos algo similar ao “External Script”, porem chamado aqui de “Alert Script” mas tem o mesmo funcionamento.
  • 12. [zabbix@MANAGER] /opt/zabbix/share/zabbix/alertscripts $ cat telegram-notification #!/bin/ksh ENTER=" "; USERID="$1"; ARQUIVO="botinfo.txt"; if [ -f "$ARQUIVO" ]; then KEY=$(cat $ARQUIVO); else KEY="999999999:AaF68AgpRbgxCklh84FBb0zvQmBtgYYD78Q"; fi TIMEOUT="5"; TEXT=$(echo -e "*$2* $ENTER$3" | sed 's/^SendNotification //g'); URL="https://api.telegram.org/bot$KEY/sendMessage" RESPONSE=`curl -s --max-time $TIMEOUT -d "chat_id=$USERID&disable_web_page_preview=1&parse_mode=markdown &text=$TEXT" $URL`; Fonte de referencia do script: http://spinola.net.br/blog/2017/01/22/integracao-com-telegram- de-forma-facil-e-rapida Script: telegram-notification Com esse script o Zabbix adquire a capacidade de notificar os usuários e administradores através do telegram. 12
  • 13. TELEGRAM: Notificação Utilizando métodos de notificação com este, você tem os eventos mais importantes na palma da sua mão. Place your screenshot here 13
  • 15. OBRIGADO 15 @igor_nicoli Igor Nicoli dos Santos igor.nicoli@gmail.com